Forms#

Molecular systems can take different forms. The same system can be encoded for instance as a pdb file, as a python object of mdtraj.Trajectory class, as a UniProt id code or as an aminoacid sequence. Not all forms have the same level of detail, probably some forms have more information, some other less information, but all are forms of the same molecular system. MolSysMT takes the concept ‘form’ as a central concept at the center of the multitool. Sometimes we have the system in form A, an mmtf file for example, and to be able to make a specific analysis with a given tool form A needs to be converted to form B -an mdtraj.Topology-, and then we probably need a third library to modify the system but this time the system must be encoded in form C -a parmed.Structure-. And so on. Usually, you can find the way to convert these forms in the documentation of those libraries as well as the way those analysis are invoked. To avoid the time of connecting those pieces, MolSysMT provides with a framework where different tools, nativo and coming from other libraries, can be easily plugged to build up the structure of pipes configuring the workflow you need.

At this moment these are the forms MolSysMT can handle.

Files#

The updated list of forms type file can be printed out with the method MolSysMT.info_forms().

msm.info_forms(form_type='file')
Form Type Info
file:crd file CHARMM card (CRD) file format with coordinates.
file:dcd file
file:fasta file
file:gro file Gromacs gro file format
file:h5 file
file:inpcrd file AMBER ASCII restart/inpcrd file format
file:mdcrd file AMBER mdcrd file format
file:mmtf file
file:mol2 file
file:pdb file Protein Data Bank file format
file:pir file
file:prmtop file AMBER parameter/topology file format
file:smi file
file:top file
file:xtc file
file:xyz file XYZ file format
file:xyznpy file XYZ file format like saved with Numpy

Classes#

MolSysMT works with python classes coming from many other libraries such as MDTraj, PyTraj, MDAnalysis, OpenMM, ParmEd among others; as well as some native classes.

msm.info_forms(form_type='class')
Form Type Info
MolecularMechanicsDict class
SimulationDict class
XYZ class
mdanalysis.Topology class
mdanalysis.Universe class
mdtraj.AmberRestartFile class
mdtraj.GroTrajectoryFile class
mdtraj.HDF5TrajectoryFile class
mdtraj.PDBTrajectoryFile class
mdtraj.Topology class
mdtraj.Trajectory class
mdtraj.XTCTrajectoryFile class
mmtf.MMTFDecoder class
molsysmt.MolSys class
molsysmt.MolecularMechanics class
molsysmt.Simulation class
molsysmt.Topology class
molsysmt.Trajectory class
molsysmt.TrajectoryFile class
networkx.Graph class
openmm.AmberInpcrdFile class
openmm.AmberPrmtopFile class
openmm.Context class
openmm.GromacsGroFile class
openmm.GromacsTopFile class
openmm.Modeller class
openmm.PDBFile class
openmm.Simulation class
openmm.System class
openmm.Topology class
parmed.GromacsTopologyFile class
parmed.Structure class
pdbfixer.PDBFixer class
pytraj.Topology class
pytraj.Trajectory class

Ids#

There are several databases or encoding systems where molecular systems take the form of a string of characters. This is the case of the Protein Data Bank, the ChEMBL database or the UniProt codes. The following table summarizes the list of Ids recognized by MolSysMT.

msm.info_forms(form_type='id')
Form Type Info
id:PDB id

Notice that form names here ends with ‘:id’. This suffix is used to distinguish them from other form types. ‘pdb’ is a form name corresponding to a file and ‘pdb:id’ is the id form.

Sequences#

Molecular systems can be determined by a sequence of elements. For instance, a peptide as Metenkephaline can be defined by means of its aminoacids sequence. These are the forms of type sequence MolSysMT can handle:

msm.info_forms(form_type='string')
Form Type Info
string:aminoacids1 string
string:aminoacids3 string
string:pdb string Protein Data Bank file format

Viewers#

The last molecular systems form we usually need its the graphical representation: the viewer. MolSysMT works with viewers as if they were a different form type. These are the viewers MolSysMT can work with:

msm.info_forms(form_type='viewer')
Form Type Info
nglview.NGLWidget viewer NGLView visualization native object