6.13. MOL2 file format — MDAnalysis.coordinates.MOL2
¶
Classes to work with Tripos molecule structure format (MOL2) coordinate and topology files. Used, for instance, by the DOCK docking code.
6.13.1. Example for working with mol2 files¶
To open a mol2, remove all hydrogens and save as a new file, use the following:
u = Universe("Molecule.mol2")
gr = u.select_atoms("not name H*")
print(len(u.atoms), len(gr))
gr.write("Molecule_noh.mol2")
6.13.2. Classes¶
-
class
MDAnalysis.coordinates.MOL2.
MOL2Reader
(filename, **kwargs)[source]¶ Reader for MOL2 structure format.
Changed in version 0.11.0: Frames now 0-based instead of 1-based. MOL2 now reuses the same Timestep object for every frame, previously created a new instance of Timestep each frame.
Changed in version 0.20.0: Allows for comments at top of file. Ignores status bit strings
Changed in version 2.0.0: Bonds attribute is not added if no bonds are present in MOL2 file
Read coordinates from filename.
Parameters: filename (str or NamedStream) – name of the mol2 file or stream
-
class
MDAnalysis.coordinates.MOL2.
MOL2Writer
(filename, n_atoms=None, convert_units=True)[source]¶ mol2 format writer
Write a file in the Tripos molecule structure format (MOL2).
Note
MOL2Writer
can only be used to write out previously loaded MOL2 files. If you’re trying to convert, for example, a PDB file to MOL you should use other tools, like rdkit.Here is an example how to use rdkit to convert a PDB to MOL:
from rdkit import Chem mol = Chem.MolFromPDBFile("molecule.pdb", removeHs=False) Chem.MolToMolFile(mol, "molecule.mol" )
MOL2 writer is currently not available for rdkit master. It requires SYBYL atomtype generation. See page 7 for list of SYBYL atomtypes (http://tripos.com/tripos_resources/fileroot/pdfs/mol2_format2.pdf).
Changed in version 0.11.0: Frames now 0-based instead of 1-based
Create a new MOL2Writer
Parameters:
Notes
- The MDAnalysis
MOL2Reader
andMOL2Writer
only handle the MOLECULE, SUBSTRUCTURE, ATOM, and BOND record types. Other records are not currently read or preserved on writing. - As the CRYSIN record type is not parsed / written, MOL2 systems always have
dimensions set to
None
and dimensionless MOL2 files are written.
6.13.3. MOL2 format notes¶
MOL2 Format Specification: (http://www.tripos.com/data/support/mol2.pdf)
Example file (http://www.tripos.com/mol2/mol2_format3.html):
# Name: benzene # Creating user name: tom # Creation time: Wed Dec 28 00:18:30 1988 # Modifying user name: tom # Modification time: Wed Dec 28 00:18:30 1988 @<TRIPOS>MOLECULE benzene 12 12 1 0 0 SMALL NO_CHARGES @<TRIPOS>ATOM 1 C1 1.207 2.091 0.000 C.ar 1 BENZENE 0.000 2 C2 2.414 1.394 0.000 C.ar 1 BENZENE 0.000 3 C3 2.414 0.000 0.000 C.ar 1 BENZENE 0.000 4 C4 1.207 -0.697 0.000 C.ar 1 BENZENE 0.000 5 C5 0.000 0.000 0.000 C.ar 1 BENZENE 0.000 6 C6 0.000 1.394 0.000 C.ar 1 BENZENE 0.000 7 H1 1.207 3.175 0.000 H 1 BENZENE 0.000 8 H2 3.353 1.936 0.000 H 1 BENZENE 0.000 9 H3 3.353 -0.542 0.000 H 1 BENZENE 0.000 10 H4 1.207 -1.781 0.000 H 1 BENZENE 0.000 11 H5 -0.939 -0.542 0.000 H 1 BENZENE 0.000 12 H6 -0.939 1.936 0.000 H 1 BENZENE 0.000 @<TRIPOS>BOND 1 1 2 ar 2 1 6 ar 3 2 3 ar 4 3 4 ar 5 4 5 ar 6 5 6 ar 7 1 7 1 8 2 8 1 9 3 9 1 10 4 10 1 11 5 11 1 12 6 12 1 @<TRIPOS>SUBSTRUCTURE 1 BENZENE 1 PERM 0 **** **** 0 ROOT