BFEE2.templates_gromacs
This is the interface for generating Gromacs input files.
- class BFEE2.templates_gromacs.BFEEGromacs.BFEEGromacs(structureFile, topologyFile, ligandOnlyStructureFile, ligandOnlyTopologyFile, baseDirectory=None, structureFormat='pdb', ligandOnlyStructureFileFormat='pdb')[source]
Bases:
objectThe entry class for handling gromacs inputs in BFEE.
- logger
logger object for debugging
- Type:
logging.Logger
- handler
output stream of the debug output
- Type:
logging.StreamHandler
- baseDirectory
output directory of the generated files
- Type:
str
- structureFile
filename of the structure file (either in PDB or GRO format) of the protein-ligand binding complex
- Type:
str
- topologyFile
filename of the GROMACS topology file of the protein-ligand binding complex
- Type:
str
- ligandOnlyStructureFile
filename of the structure file (either in PDB or GRO format) of the ligand-only system
- Type:
str
- system
MDAnalysis universe of the protein-ligand binding system
- Type:
MDAnalysis.core.universe
- ligandOnlySystem
MDAnalysis universe of the ligand-only system
- Type:
MDAnalysis.core.universe
- basenames
subdirectory names of all eight steps
- Type:
str
- ligand
selected HEAVY ATOMS of the ligand in the protein-ligand binding complex. This attribute does not exist until the call of setLigandHeavyAtomsGroup.
- Type:
MDAnalysis.core.groups.AtomGroup
- ligandOnly
selected HEAVY ATOMS of the ligand in the ligand-only system. This attribute does not exist until the call of setLigandHeavyAtomsGroup.
- Type:
MDAnalysis.core.groups.AtomGroup
- protein
selected HEAVY ATOMS of the protein in the protein-ligand binding complex. This attribute does not exist until the call of setProteinHeavyAtomsGroup.
- Type:
MDAnalysis.core.groups.AtomGroup
- solvent
selected atoms of the solvents in the protein-ligand binding complex. This attribute does not exist until the call of setSolventAtomsGroup.
- Type:
MDAnalysis.core.groups.AtomGroup
- temperature
the temperature of simulations (default : 300.0)
- Type:
float
- generate001()[source]
generate files for determining the PMF along the RMSD of the ligand with respect to its bound state
- generate002()[source]
generate files for determining the PMF along the pitch (theta) angle of the ligand
- generate003()[source]
generate files for determining the PMF along the roll (phi) angle of the ligand
- generate004()[source]
generate files for determining the PMF along the yaw (psi) angle of the ligand
- generate005()[source]
generate files for determining the PMF along the polar theta angle of the ligand relative to the protein
- generate006()[source]
generate files for determining the PMF along the polar phi angle of the ligand relative to the protein
- generate007()[source]
generate files for determining the PMF along the distance between the the ligand and the protein
- generate008()[source]
generate files for determining the PMF along the RMSD of the ligand with respect to its unbound state
- generateGromacsIndex(outputFile)[source]
generate a GROMACS index file for atom selection in Colvars
- saveStructure(outputFile, selection='all')[source]
a helper method for selecting a group of atoms and save it
- Parameters:
outputFile (str) – filename of the output file
selection (str, optional) – MDAnalysis atom selection string. Defaults to ‘all’.
- Raises:
SelectionError – if the selection corresponds to nothing
- setLigandHeavyAtomsGroup(selection)[source]
- select the heavy atoms of the ligand in both the protein-ligand complex
and the ligand-only systems
- Parameters:
selection (str) – MDAnalysis atom selection string
- Raises:
SelectionError – if the selection corresponds to nothing
- setProteinHeavyAtomsGroup(selection)[source]
select the heavy atoms of the protein
- Parameters:
selection (str) – MDAnalysis atom selection string
- Raises:
SelectionError – if the selection corresponds to nothing
- setSolventAtomsGroup(selection)[source]
select the solvent atoms
- Parameters:
selection (str) – MDAnalysis atom selection string
- Raises:
SelectionError – if the selection corresponds nothing
- BFEE2.templates_gromacs.BFEEGromacs.generateColvars(colvarsTemplate, outputPrefix, logger=None, **kwargs)[source]
generate a Colvars configuration file from a template suffixed with ‘.dat’
- Parameters:
colvarsTemplate (str) – path to a colvars template
outputPrefix (str) – (no .dat extension) of the output Colvars configuration file
logger (Logging.logger, optional) – logger for debugging. Defaults to None.
**kwargs – additional arguments passed to safe_substitute()
- BFEE2.templates_gromacs.BFEEGromacs.generateMDP(MDPTemplate, outputPrefix, timeStep, numSteps, temperature, pressure, colvarsFile, logger=None)[source]
generate a GROMACS mdp file from a template
- Parameters:
MDPTemplate (str) – template MDP file with $dt and $nsteps
outputPrefix (str) – prefix (no .mdp extension) of the output MDP file
timeStep (float) – timestep for running the simulation
numSteps (int) – number of steps for running the simulation
temperature (float) – simulation temperature
pressure (float) – simulation pressure
logger (Logging.logger, optional) – logger for debugging. Defaults to None.
- BFEE2.templates_gromacs.BFEEGromacs.generateShellScript(shellTemplate, outputPrefix, logger=None, **kwargs)[source]
generate a shell script from a template
- Parameters:
shellTemplate (str) – path to a shell template
outputPrefix (str) – prefix (no .sh extension) of the output Colvars configuration file
logger (Logging.logger, optional) – logger for debugging. Defaults to None.
**kwargs – additional arguments passed to safe_substitute()
- BFEE2.templates_gromacs.BFEEGromacs.get_cell(atom_positions)[source]
mimic the VMD script get_cell.tcl to calculate the cell units
- Parameters:
atom_positions (numpy.array) – a numpy array containing the XYZ coordinates of N atoms. The shape should be (N, 3).
- Returns:
a shape of (3,3) array contains periodic cell information
- Return type:
Numpy.array
- BFEE2.templates_gromacs.BFEEGromacs.mearsurePolarAngles(proteinCenter, ligandCenter)[source]
measure the polar angles between the protein and the ligand
- Parameters:
proteinCenter (numpy.array) – center-of-mass of the protein
ligandCenter (numpy.array) – center-of-mass of the ligand
- Returns:
a (theta, phi) tuple where theta and phi are measured in degrees
- Return type:
tuple
- BFEE2.templates_gromacs.BFEEGromacs.measure_center(atom_positions)[source]
mimic the VMD command “measure center”
- Parameters:
atom_positions (numpy.array) – a numpy array containing the XYZ coordinates of N atoms. The shape should be (N, 3).
- Returns:
a shape of (3,) array contains the geometric center
- Return type:
Numpy.array
- BFEE2.templates_gromacs.BFEEGromacs.measure_minmax(atom_positions)[source]
mimic the VMD command “measure minmax”
- Parameters:
atom_positions (numpy.array) – a numpy array containing the XYZ coordinates of N atoms. The shape should be (N, 3).
- Returns:
- a shape of (2, 3) array, where the first subarray has the minimum
values in XYZ directions, and the second subarray has the maximum values in XYZ directions.
- Return type:
Numpy.array
- BFEE2.templates_gromacs.BFEEGromacs.scanGromacsTopologyInclude(gmxTopFile, logger=None)[source]
scan the files included by a gromacs topology file
- Parameters:
gmxTopFile (str) – filename of the gromacs topology file
logger (Logging.logger, optional) – logger for debugging. Defaults to None.
- Returns:
- tuple:
a (list, list) tuple. The first list contains the absolute pathnames of included files. The second list contains the strings in the quotation marks for handling relative paths.
- Logging.logger:
logger for debugging
- Return type:
tuple