Creating a molecule object
**************************

FlexMD can be run through the interactive Python interpreter in the
ADF package. To start it, run: $AMSBIN/amspython in a terminal,
followed by:

   from scm import flexmd

Note that it is also possible, and usually more convenient, to write
your FlexMD code in a file and then execute this file. To do this,
type all the commands you would use in the interactive interpreter in
a file, and then enter $AMSBIN/amspython myFlexMDjob.py in a terminal
(after changing to the directory where the file was stored).

Most FlexMD jobs will start with importing FlexMD and creating an
MDMolecule object. This can be done by starting from a geometry in xyz
or pdb format, or by manually adding the atoms in the FlexMDjob.py
file. Geometries can be generated in the ADF GUI, and then be exported
to an xyz file. For more details on the MDMolecule object, run
$AMSBIN/amspython, import flexmd, and call help(flexmd.mdmolecule).

   from scm import flexmd
   myMol = flexmd.MDMolecule('myGeometryFile.xyz')

Some ForceJobs require the system to be periodic. If we create an
MDMolecule object from a pdb file that includes periodic information,
the periodic boundary conditions are automatically imported. If the
information is not there, we can add it to the MDMolecule object:

   myMol = flexmd.pdb.set_box([50.0,25.0,100.0])

Info on set_box (and other functions, such as set_cellvectors and
write_pdb) can be found using help(flexmd.pdbmolecule).

It is also possible to write the info in the MDMolecule object to a
pdb file. To do so, call pdb.write_pdb('mypdbfile.pdb') on the myMol
object:

   myMol.pdb.write_pdb('mypdbfile.pdb', box=True)
