-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Ryan--

> Thanks, Charles. Thanks for navigating around that typo (run2 =
> AnnealIVM...). I think I understand: AnnealIVM.run() calls IVM.run()
> for each of stage of minimization.

right.

> 
> I'm still confused by "initializing IVM before using it."  Please let
> me know whether or not this will perform `simple' simulated annealing.
> I'm also confused because I think I'm looking at too complicated
> examples. For example, in simple cases (NOEs + dihedrals), do I need
> to instantiate different IVMs, like 'dyn and minc'?

you could use a single IVM object and then reconfigure it. I think that
for the example you refer to, dyn is configured for torsion angle
dynamics and minimization , while minc is used for Cartesian
minimization. Two IVM objects are used for convenience, and maybe to
save the time of setting topology.

AnnealIVM doesn't configure the IVM object for dynamics or minimization,
or set up the topology. These are separate steps. initDynamics(), and
initMinimize() set of the type of step to be taken, while
torsionTopology() and cartesianTopology() help with topology setup. 

btw, the example in eginput/gb1_rdc/refine.py isn't too too complicated- if
the rdc stuff is removed.

> 
> (numberOfStructures, outFilename, topology, coordinates, parameters,
> potentials (potList) initialized)
> 
> from ivm import IVM
> MyVM = IVM();         #instantiated before its called in AnnealIVM
> 
> from simulationTools import AnnealIVM
> hot =  AnnealIVM( [HOTPARAMS], ivm = MyVM, [HOTPARAMS2] )

usually you don't need this sort of loop for high-temperature dynamics. 

> #instantiated before used in CalcOneStructure
> cool = AnnealIVM( [COOLPARAMS], ivm = MyVM, [COOLPARAMS2] )   #here,
> the same IVM for hot and cool phases?
> 
> def CalcOneStructure(loopInfo)
>       InitialParams( RampedParams )
>       hot.run()
>       cool.run()

usually, at this point you want to do some final minimization. First in
torsion angle space, then in Cartesian coordinates.

>       loopInfo.writeStructure(potList)
>       pass
> 
> from simulationTools import StructureLoop, FinalParams
> StructureLoop(numStructures=numberOfStructures,
>                pdbTemplate=outFilename,
>                structLoopAction=calcOneStructure,
>                 ).run()
> 

hope this helps--

Charles
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.8 <http://mailcrypt.sourceforge.net/>

iD8DBQFDofLmPK2zrJwS/lYRArxfAJ0ctQvE+Mnc1D2dnwt1my+CzRlq9wCcCFe1
fXvrQroWjlH2getyHey3J7Q=
=dpPU
-----END PGP SIGNATURE-----

Reply via email to