from MMTK import *
from MMTK.Proteins import Protein
from MMTK.ForceFields import Amber99ForceField
from MMTK.Minimization import ConjugateGradientMinimizer
from MMTK.Trajectory import StandardLogOutput
from MMTK.NormalModes import VibrationalModes


universe = InfiniteUniverse(Amber99ForceField())
molecule = Protein('k2.pdb')
universe.addObject(molecule)

minimizer = ConjugateGradientMinimizer(universe,
                                       actions=[StandardLogOutput(1)])
minimizer(convergence = 1.e-4, steps = 10000)

universe.writeToFile("minimized.pdb")
modes = VibrationalModes(universe)

save(modes, 'k2.modes')
