Since you can boot in safe mode, run msconfig.exe, on the Services tab click on Hide all Microsoft Services. On the Startup tab remove any entry that does not have Microsoft in the name.
Boot again and see if Windows 7 starts normally.
If Windows 7 works, go back to msconfig.exe and on the Startup tab enable your virus program.
Then you will have to start enabling the third party programs in Services and Startup until you find the one that is causing problems.