Model¶
The Model class stores the structural data of your system, and as such it contains
all Chain, Molecule, and Atom instances of your system.
It is possibly the most useful class for a user in practice, as the function that generates
hybrid systems to be used in alchemical calculations (pmx.alchemy.mutate())
acts on this object.
API Reference¶
-
class
pmx.model.Model(filename=None, pdbline=None, renumber_atoms=True, renumber_residues=True, rename_atoms=False, scale_coords=None, bPDBTER=True, bNoNewID=True, bPDBGAP=False, **kwargs)¶ Model Class.
- Parameters
filename (str) – filename of input structure
pdbline (bool(?)) – what is pdbline?
renumber_atoms (bool, optional) – renumber all atoms from 1. Default is True.
renumber_residues (bool, optional) – renumber all residues from 1. In this way, each residue will have a unique ID, also across chains. Default is True.
rename_atoms (bool, optional) – rename atoms so to conform to Gromacs format. Default is False.
scale_coords (A|nm, optional) – whether to enforce the units of the coordinates to be in A or in nm. By default, PDB coordinates are assumed to be in Angstrom (A) and GRO coordinates in nanometers (nm). If you read a PDB file but would like operate on nm coordinates, then select “nm”. Viceversa, if you read a GRO file but would like to work on A coordinates, select “A”. Note that if you read a PDB file in A coordinates and select “A”, nothing happens (same for GRO and “nm” selection).
bPDBTER (bool) – whether to recognize TER lines and other chain breaks, e.g. discontinuous residue indices(?). Default is True.
bNoNewID (bool) – whether to assign new chain IDs? If True, new chain IDs starting with ‘pmx’ will be assigned(?). Only relevant if bPDBTER is True. Default is True.
bPDBGAP (bool) – whether search for gaps in the chain to assign new chain IDs.
-
title¶ title of model. Default is ‘PMX MODEL’.
- Type
str
-
filename¶ filename from which the Model was imported, otherwise None.
- Type
str
-
chains¶ list of Chain instances
- Type
list
-
chdic¶ dict with chain IDs as keys and Chain instances as values
- Type
dict
-
residues¶ list of molecules/residues
- Type
list
-
unity¶ coordinates unit, either ‘A’ or ‘nm’.
- Type
str
-
box¶ 3x3 array containing the box vectors. See Gromacs manual, Table 3.1
- Type
2d array
-
moltype¶ Type of system: protein, dna, rna, or unknown if organic molecule or a mix of molecules are in the system.
- Type
str
Methods
read(filename[, bPDBTER, bNoNewID, bPDBGAP])PDB/GRO file reader.
write(fn[, title, nr, bPDBTER, bAssignChainIDs])Writes Model to file.
renumber_residues()Renumbers all residues from 1.
renumber_atoms([start])Renumber all atoms starting from a chosen number (default is 1).
insert_residue(pos, res, chain_id)Inserts a residue in Model.
insert_chain(pos, new_chain)Inserts a Chain in Model.
remove_atom(atom)Removes an Atom instance.
remove_residue(residue[, renumber_atoms, …])Removes a Molecule/residue instance.
remove_chain(key)Removes a Chain instance given the chain ID.
replace_residue(residue, new[, bKeepResNum])Replaces a residue.
fetch_residue(idx[, chain])Get a residue based on its index, or index and chain.
fetch_residues(key[, inv])Gets residues using a list of residue names.