Ideally you should use a separate web application, not a virtual directory for DotNetNuke. Not only does this isolate the application but it will prevent other problems such as security, permissions, and application configuration, especially during upgrades.
Since web.config files are accumulative, if you make a changes to the parent (root), you may affect or break the functionality of child (virtual) apps including DotNetNuke.
Installed in separate application is the best solution.