vermouth.processors.tune_cystein_bridges module¶
Provides processors that can add and remove cystein bridges.
- class vermouth.processors.tune_cystein_bridges.AddCysteinBridgesThreshold(threshold, template=[{'atomname': 'SG', 'resname': 'CYS'}], attribute='position')[source]¶
Bases:
AddMoleculeEdgesAtDistance
Add edges corresponding to cystein bridges on a distance criterion.
The edge for a cystein bridge is an edge between two atoms that match at least one template from a list of templates if the two ends of the edge are closer than a given distance.
- class vermouth.processors.tune_cystein_bridges.RemoveCysteinBridgeEdges(template=[{'atomname': 'SG', 'resname': 'CYS'}])[source]¶
Bases:
Processor
Processor removing edges corresponding to cystein bridges.
The edge for a cystein bridge is an edge between two atoms that match at least one template from a list of templates.
- vermouth.processors.tune_cystein_bridges.remove_cystein_bridge_edges(molecule, templates=[{'atomname': 'SG', 'resname': 'CYS'}])[source]¶
Remove all the edges that correspond to cystein bridges from a molecule.
Cystein bridge edges link an atom from a cystein side chain to the same atom on an other cystein. Selecting the correct atom is done with a list of template node dictionaries. A template node dictionary functions in the same way as node matching in links. An atom that can be involved in a cystein bridge must match at least one of the templates of the list. The default template list selects the ‘SG’ bead of the residue ‘CYS’:
[{'resname': 'CYS', 'atomname': 'SG'}, ]
.A template is a dictionary that defines the key:value pairs that must be matched in the atoms. Values can be instances of
LinkPredicate
.- Parameters:
molecule (networkx.Graph) – Molecule to modify in-place.
templates (list[dict]) – A list of templates; selected atom must match at least one.