vermouth.processors.repair_graph module¶
Provides a processor that repairs a graph based on a reference.
-
class
vermouth.processors.repair_graph.
RepairGraph
(delete_unknown=False, include_graph=True)[source]¶
-
vermouth.processors.repair_graph.
get_default
(dictionary, attr, default)[source]¶ Functions like
dict.get()
, except that when attr is in dictionary and dictionary[attr] is None, it will return default.- Parameters
dictionary (dict) –
attr (collections.abc.Hashable) –
default –
- Returns
The value of dictionary[attr] if attr is in dictionary and dictionary[attr] is not None. default otherwise.
- Return type
-
vermouth.processors.repair_graph.
make_reference
(mol)[source]¶ Takes an molecule graph (e.g. as read from a PDB file), and finds and returns the graph how it should look like, including all matching nodes between the input graph and the references. Requires residuenames to be correct.
Notes
The match between hydrogren atoms need not be perfect. See the documentation of
isomorphism
.- Parameters
mol (networkx.Graph) –
The graph read from e.g. a PDB file. Required node attributes:
- resname
The residue name.
- resid
The residue id.
- chain
The chain identifier.
- element
The element.
- atomname
The atomname.
- Returns
The constructed reference graph with the following node attributes:
- resid
The residue id.
- resname
The residue name.
- chain
The chain identifier.
- found
The residue subgraph from the PDB file.
- reference
The residue subgraph used as reference.
- match
A dictionary describing how the reference corresponds with the provided graph. Keys are node indices of the reference, values are node indices of the provided graph.
- Return type
-
vermouth.processors.repair_graph.
repair_graph
(molecule, reference_graph, include_graph=True)[source]¶ Repairs a molecule graph produced based on the information in
reference_graph
. Missing atoms will be added and atom- and residue- names will be canonicalized. Atoms not present inreference_graph
will have the attributePTM_atom
set toTrue
.molecule is modified in place. Missing atoms (as per reference_graph) are added, atom and residue names are canonicalized, and PTM atoms are marked.
If include_graph is True, then the subgraph corresponding to each node is included in the node under the “graph” attribute.
- Parameters
molecule (molecule.Molecule) –
The graph read from e.g. a PDB file. Required node attributes:
- resname
The residue name.
- resid
The residue id.
- element
The element.
- atomname
The atomname.
reference_graph (networkx.Graph) –
The reference graph as produced by
make_reference
. Required node attributes:- resid
The residue id.
- resname
The residue name.
- found
The residue subgraph from the PDB file.
- reference
The residue subgraph used as reference.
- match
A dictionary describing how the reference corresponds with the provided graph. Keys are node indices of the reference, values are node indices of the provided graph.
include_graph (bool) – Include the subgraph in the nodes.