OpenMMPrepareMacromolecule.py - Prepare a macromolecule for simulation.
OpenMMPrepareMacromolecule.py [--addHeavyAtoms <yes or no>] [--addHydrogens <yes or no>] [--addHydrogensAtpH <number>] [--addResidues <yes or no>] [--deleteHeterogens <All, AllExceptWater, WaterOnly, None>] [--ionPositive <text>] [--ionNegative <text>] [--ionicStrength <number>] [--listDetails <yes or no> ] [--membrane <yes or no>] [--membraneParams <Name,Value,..>] [--overwrite] [--replaceNonStandardResidues <yes or no>] [--waterBox <yes or no>] [--waterBoxParams <Name,Value,..>] [-w <dir>] -i <infile> -o <outfile>
OpenMMPrepareMacromolecule.py -h | --help | -e | --examples
Prepare a macromolecute in an input file for molecular simulation and and write it out to an output file. The macromolecule is prepared by automatically performing the following actions:
You may optionally remove heterogens, add a water box, and add a lipid membrane.
The supported input file format are: PDB (.pdb, .pdbx) and CIF (.cif)
The supported output file formats are: PDB (.pdb)
Add missing non-hydrogen atoms based on the templates. The terminal atoms are also added.
Add missing hydrogens at pH value specified using '-addHydrogensAtpH' option. The missing hydrogens are added based on the templates and pKa calculations are performed.
pH value to use for adding missing hydrogens.
Add missing residues unidentified based on the PDB records.
Delete heterogens corresponding to non-standard names of amino acids, dna, and rna along with any ligand names. 'N' and 'UNK' also consider standard residues. Default value: WaterOnly during addition of WaterBox or Membrane; Otherwise, None.
The 'AllExceptWater' or 'None' values are not allowed during the addition of a water box or membrane. The waters must be deleted as they are explicitly added during the construction of a water box and membrane.
Print examples.
Print this help message.
Input file name.
Type of positive ion to add during the addition of a water box or membrane. Possible values: Li+, Na+, K+, Rb+, or Cs+.
Type of negative ion to add during the addition of a water box or membrane. Possible values: Cl-, Br-, F-, or I-.
Total concentration of both positive and negative ions to add excluding the ions added to neutralize the system during the addition of a water box or a membrane.
List details about missing and non-standard residues along with residues containing missing atoms.
Add lipid membrane along with a water box. The script replies on OpenMM method modeller.addMebrane() to perform the task. The membrane is added in the XY plane. The existing macromolecule must be oriented and positioned correctly.
A word to the wise: You may want to start with a model from the Orientations of Proteins in Membranes (OPM) database at http://opm.phar.umich.edu.
The size of the membrane and water box are determined by the value of 'padding' parameter specified using '--membraneParams' option. All atoms in macromolecule are guaranteed to be at least this far from any edge of the periodic box.
A comma delimited list of parameter name and value pairs for adding a lipid membrane and water.
The supported parameter names along with their default values are are shown below:
A brief description of parameters is provided below:
Output file name.
Overwrite existing files.
Replace non-standard residue names by standard residue names based on the list of non-standard residues available in pdbfixer.
Add water box.
A comma delimited list of parameter name and value pairs for adding a water box.
The supported parameter names along with their default values are are shown below:
A brief description of parameters is provided below:
Location of working directory which defaults to the current directory.
To prepare a macromolecule in a PDB file by replacing non-standard residues, adding missing residues, adding missing heavy atoms and missing hydrogens, and generate a PDB file, type:
To run the first example for listing additional details about missing atoms and residues, and generate a PDB file, type:
To run the first example for deleting all heterogens including water along with performing all default actions, and generate a PDB file, type:
To run the first example for deleting water only heterogens along with performing all default actions, and generate a PDB file, type:
To run the first example for adding a water box by automatically calculating its size, along with performing all default actions, and generate a PDB file, type:
To run the previous example by explcitly specifying various water box parameters, and generate a PDB file, type:
To run the first example for adding a water box of a specific size along with performing all default actions, and generate a PDB file, type:
To add a lipid membrane around a correctly oriented and positioned macromolecule, along with performing all default actions, and generate a PDB file, type:
To run the previous example by explcitly specifying various membrane parameters, and generate a PDB file, type:
InfoPDBFiles.pl, ExtractFromPDBFiles.pl, PyMOLExtractSelection.py, PyMOLInfoMacromolecules.py, PyMOLSplitChainsAndLigands.py
Copyright (C) 2025 Manish Sud. All rights reserved.
The functionality available in this script is implemented using OpenMM, an open source molecuar simulation package.
This file is part of MayaChemTools.
MayaChemTools is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.