Molecule
Molecule()
¶
Loads, saves, and manipulates molecular models. The main pymolecule class.
Initializes the variables of the Molecule class.
atoms_and_bonds = AtomsAndBonds(self)
instance-attribute
¶
geometry = Geometry(self)
instance-attribute
¶
information = Information(self)
instance-attribute
¶
io = FileIO(self)
instance-attribute
¶
manipulation = Manipulation(self)
instance-attribute
¶
other_molecule = OtherMolecules(self)
instance-attribute
¶
selections = Selections(self)
instance-attribute
¶
__is_number(s)
¶
Determines whether or not a string represents a number.
| PARAMETER | DESCRIPTION |
|---|---|
s
|
A string (e.g., "5.4").
|
| RETURNS | DESCRIPTION |
|---|---|
|
A boolean, whether or not the string can be represented by a float. |
numpy_structured_array_remove_field(narray, field_names)
¶
Removes a specific field name from a structured numpy array.
| PARAMETER | DESCRIPTION |
|---|---|
narray
|
A structured numpy array.
|
field_names
|
A list of strings, where each string is one of the field names of narray.
|
| RETURNS | DESCRIPTION |
|---|---|
|
A structured numpy array identical to narray, but with the field names in field_names removed. |
Selections(parent_molecule_object)
¶
A class for selecting atoms
Initializes the pymolecule.Selections class.
| PARAMETER | DESCRIPTION |
|---|---|
parent_molecule_object
|
The pymolecule.Molecule object associated with this class.
|
parent_molecule = parent_molecule_object
instance-attribute
¶
copy()
¶
Returns an exact copy (pymolecule.Molecule) of this Molecule object. Undo points are NOT copied.
| RETURNS | DESCRIPTION |
|---|---|
|
A pymolecule.Molecule, containing to the same atomic information as this pymolecule.Molecule object. |
create_molecule_from_selection(selection, serial_reindex=True, resseq_reindex=False)
¶
Creates a pymolecule.Molecule from a user-defined atom selection.
| PARAMETER | DESCRIPTION |
|---|---|
selection
|
A np.array containing the indices of the atoms in the user-defined selection.
|
serial_reindex
|
An optional boolean, whether or not to reindex the atom serial fields. Default is True.
DEFAULT:
|
resseq_reindex
|
An optional boolean, whether or not to reindex the atom resseq fields. Default is False.
DEFAULT:
|
| RETURNS | DESCRIPTION |
|---|---|
|
A pymolecule.Molecule object containing the atoms of the user-defined selection. |
get_chain_selections()
¶
Identifies the atom selections of each chain.
| RETURNS | DESCRIPTION |
|---|---|
|
A dictionary. The keys of the dictionary correspond to the chainids, and the values are np.array objects containing the indices of the associated chain atoms. |
get_molecule_from_selection(selection)
¶
Creates a Molecule from a user-defined atom selection.
| PARAMETER | DESCRIPTION |
|---|---|
selection
|
A np.array containing the indices of the atoms in the user-defined selection.
|
| RETURNS | DESCRIPTION |
|---|---|
|
A Molecule object containing the atoms of the user-defined selection. |
get_residue_selections()
¶
Identifies the atom selections of each residue.
| RETURNS | DESCRIPTION |
|---|---|
|
A dictionary. The keys of this dictionary correspond to the unique resname-resseq-chainid residue identifiers, and the values are np.array objects containing the indices of the associated residue atoms. |
get_selections_of_constituent_molecules()
¶
Identifies the indices of atoms belonging to separate molecules, assuming that the pymolecule.Molecule object actually contains multiple physically distinct molecules that are not bound to each other via covalent bonds.
| RETURNS | DESCRIPTION |
|---|---|
|
A python list of np.array objects containing the indices of the atoms belonging to each molecule of the composite pymolecule.Molecule object. |
invert_selection(selection)
¶
Inverts a user-defined selection (i.e., identifies all atoms that are not in the seleciton).
| PARAMETER | DESCRIPTION |
|---|---|
selection
|
A np.array containing the indices of the user-defined selection.
|
| RETURNS | DESCRIPTION |
|---|---|
|
A np.array containing the indices of all atoms that are not in the user-defined seleciton. |
select_all()
¶
Selects all the atoms in a pymolecule.Molecule object.
| RETURNS | DESCRIPTION |
|---|---|
|
A np.array containing the indices of all atoms in the pymolecule.Molecule object. |
select_all_atoms_bound_to_selection(selection)
¶
Selects all the atoms that are bound to a user-specified selection.
| PARAMETER | DESCRIPTION |
|---|---|
selection
|
A np.array containing the indices of the user-specified selection.
|
| RETURNS | DESCRIPTION |
|---|---|
|
A np.array containing the indices of the atoms that are bound to the user-specified selection. Note that this new selection does not necessarily include the indices of the original user-specified selection. |
select_atoms(selection_criteria)
¶
Select a set of atoms based on user-specified criteria.
| PARAMETER | DESCRIPTION |
|---|---|
selection_criteria
|
An dictionary, where the keys correspond to keys in the self.parent_molecule.information.atom_information structured numpy array, and the values are lists of acceptable matches. The selection is a logical "AND" between dictionary entries, but "OR" within the value lists themselves. For example: {'atom':['CA','O'], 'chain':'A', 'resname':'PRO'} would select all atoms with the names CA or O that are located in the PRO residues of chain A.
|
| RETURNS | DESCRIPTION |
|---|---|
|
A np.array containing the indices of the atoms of the selection. |
select_atoms_from_same_molecule(selection)
¶
Selects all the atoms that belong to the same molecule as a user-defined selection, assuming that the pymolecule.Molecule object actually contains multiple physically distinct molecules that are not bound to each other via covalent bonds.
| PARAMETER | DESCRIPTION |
|---|---|
selection
|
A np.array containing the indices of the user-defined selection.
|
| RETURNS | DESCRIPTION |
|---|---|
|
A np.array containing the indices of the atoms belonging to the same molecules as the atoms of the user-defined selection. |
select_atoms_in_bounding_box(bounding_box)
¶
Selects all the atoms that are within a bounding box.
| PARAMETER | DESCRIPTION |
|---|---|
bounding_box
|
A 2x3 np.array containing the minimum and maximum points of the bounding box. Example: np.array([[min_x, min_y, min_z], [max_x, max_y, max_z]]).
|
| RETURNS | DESCRIPTION |
|---|---|
|
A np.array containing the indices of the atoms that are within the bounding box. |
select_atoms_in_same_residue(selection)
¶
Selects all atoms that are in the same residue as any of the atoms of a user-defined seleciton. Residues are considered unique if they have a unique combination of resname, resseq, and chainid fields.
| PARAMETER | DESCRIPTION |
|---|---|
selection
|
A np.array containing the indices of the user-defined selection.
|
| RETURNS | DESCRIPTION |
|---|---|
|
A np.array containing the indices of all atoms in the same residue as any of the atoms of the user-defined selection. |
select_atoms_near_other_selection(selection, cutoff)
¶
Selects all atoms that are near the atoms of a user-defined selection.
| PARAMETER | DESCRIPTION |
|---|---|
selection
|
A np.array containing the indices of the user-defined selection.
|
cutoff
|
A float, the distance cutoff (in Angstroms).
|
| RETURNS | DESCRIPTION |
|---|---|
|
A np.array containing the indices of all atoms near the user-defined selection, not including the atoms of the user-defined selection themselves. |
select_branch(root_atom_index, directionality_atom_index)
¶
Identify an isolated "branch" of a molecular model. Assumes the atoms with indices root_atom_index and directionality_atom_index are bound to one another and that the branch starts at root_atom_index one and "points" in the direction of directionality_atom_index.
| PARAMETER | DESCRIPTION |
|---|---|
root_atom_index
|
An int, the index of the first atom in the branch (the "root").
|
directionality_atom_index
|
An int, the index of the second atom in the branch, used to establish directionality
|
| RETURNS | DESCRIPTION |
|---|---|
|
A numpy array containing the indices of the atoms of the branch. |
select_close_atoms_from_different_molecules(other_mol, cutoff, pairwise_comparison=True, terminate_early=False)
¶
Effectively detects steric clashes between self and another pymolecule.Molecule.
| PARAMETER | DESCRIPTION |
|---|---|
other_mol
|
A pymolecule.Molecule object of the other molecule.
|
cutoff
|
A float, the user-defined distance cutoff in Angstroms.
|
pairwise_comparison
|
An optional boolean, whether or not to perform a simple pairwise distance comparison (if True) or to use a more sophisitcated method (if False). True by default.
DEFAULT:
|
| RETURNS | DESCRIPTION |
|---|---|
|
A tuple containing two elements. The first is a np.array containing the indices of all nearby atoms from this pymolecule.Molecule object (self). The second is a np.array containing the indices of all nearby atoms from the other molecule. |