- pyrosetta_help.alphafold package
- Submodules
- pyrosetta_help.alphafold.constraints module
- pyrosetta_help.alphafold.multimodel module
- pyrosetta_help.alphafold.plot module
- pyrosetta_help.alphafold.retrieval module
- pyrosetta_help.alphafold.superimpose module
- pyrosetta_help.blueprint_maker package
- pyrosetta_help.chain_ops package
- Submodules
- pyrosetta_help.chain_ops.chain_ops module
- pyrosetta_help.chain_ops.transmogrifier module
- pyrosetta_help.common_ops package
- Submodules
- pyrosetta_help.common_ops.constraints module
- pyrosetta_help.common_ops.downloads module
- pyrosetta_help.common_ops.faux_selectors module
- pyrosetta_help.common_ops.minimise module
- pyrosetta_help.common_ops.nglview module
- pyrosetta_help.common_ops.ss_changes module
- pyrosetta_help.common_ops.utils module
- pyrosetta_help.init_ops package
- Submodules
- pyrosetta_help.init_ops.log module
- pyrosetta_help.init_ops.make_options module
- pyrosetta_help.ligands package
- Submodules
- pyrosetta_help.ligands.hunter module
- pyrosetta_help.ligands.load module
- pyrosetta_help.ligands.nick module
- pyrosetta_help.per_atom package
- pyrosetta_help.residue_decription package
- Submodules
- pyrosetta_help.residue_decription.betaturn module
- pyrosetta_help.residue_decription.cis module
- pyrosetta_help.residue_decription.hbonds module
- pyrosetta_help.residue_decription.ss module
- pyrosetta_help.score_mutants package
- Submodules
- pyrosetta_help.score_mutants.mutation module
- pyrosetta_help.score_mutants.scores module
- pyrosetta_help.score_mutants.variant module
- pyrosetta_help.threading package
- pyrosetta_help.weights package
- Submodules
- pyrosetta_help.weights.terms module
The function get_logger, simply adds a stringIO handler to the log and captures the log, thus making it easier to use. The function get_log_entries, spits out entries of a given level.
-
Returns
logger
pyrosetta_help.init_ops.log.get_log_entries(levelname: Union[str, int] = 20, query: Optional[str] = None)
Get a list of all entries in log at a given level.
levelname can be either an int (logging.INFO
etc. are numbers multiples of 10 in increasing severity)
or a string of the level.
Note that it is very crude: if INFO is requested, ERROR is not shown!
- Parameters
levelname – int for the level number or str of the name
-
Returns
List of str
This just converts the key:value pairs to a command line string for the pyrosetta init.
make_option_string(no_optH=False, ex1=None, remodel=dict(blueprint=’mod.blue’))
Bools are converted, None results in a value argument, Tuples are converted to xx:xx type arguments Dictionaries are converted to xx:xx type arguments (multiple, if multiple keys in the nested dictionary)
Also… Full option list: https://www.rosettacommons.org/docs/latest/full-options-list
pyrosetta_help.common_ops.constraints.get_NGL_selection_from_AtomID(pose: pyrosetta.rosetta.core.pose.Pose, atom_id: pyrosetta.rosetta.core.id.AtomID, named: bool = False)
Given a pyrosetta AtomID give an NGL selection.
NB named
gives the residue name ('[SER]3:A.CA'
) but is not a valid selection.
-
Parameters
-
pose –
-
atom_id –
-
named –
-
Returns
pyrosetta_help.common_ops.constraints.print_constraint_score(pose: pyrosetta.rosetta.core.pose.Pose, con)
Print the constraint details. atoms and score
-
Parameters
-
pose –
-
con –
-
Returns
pyrosetta_help.common_ops.constraints.print_constraint_scores(pose: pyrosetta.rosetta.core.pose.Pose)
Prints the scores for each constraint in the pose
- Parameters
pose –
- Returns
pyrosetta_help.common_ops.constraints.get_AtomID(pose: pyrosetta.rosetta.core.pose.Pose, chain: str, resi: int, atomname: str)
pyrosetta_help.common_ops.constraints.get_AtomID_by_NGL_sele(pose: pyrosetta.rosetta.core.pose.Pose, selection: str)
23:A.CA
pyrosetta_help.common_ops.constraints.get_AtomID_from_pymol_line(pose: pyrosetta.rosetta.core.pose.Pose, line: Optional[str] = None)
Given a copypaste from the console in pymol following an atom selection in edit mode:
(You clicked /1amq/B/A/PMP\
413/N1 -> (pk2)`) returns that atom in PyRosetta.
If the line argument is blank the clipboard is read.
-
Parameters
-
pose –
-
line –
-
Returns
pyrosetta_help.common_ops.constraints.make_constraint_from_pymol_line(pose: pyrosetta.rosetta.core.pose.Pose, lines: str)
two atoms clicked… You clicked /1amq/A/A/ASP`222/OD2 -> (pk1) You clicked /1amq/B/A/PMP`413/N1 -> (pk2) distance measured in PyRosetta hence the pose.
-
Parameters
-
lines –
-
pose –
-
Returns
This is two functions. EMD database for cryoEM files
- Parameters
code –
- Returns
Download CIF. Pyrosetta has issues importing Cifs (hetatms). This is just a note to self as PyMOL fetch can do it.
Download OPM PDB
Bases: object
Select all residues in the “ring” based upon 12A from origin. There is probably a saner way.
NB> This is not actually a residue selector. The logical selectors will not accept it.
Initialize self. See help(type(self)) for accurate signature.
class pyrosetta_help.common_ops.faux_selectors.AlteredSelector(threader: pyrosetta.rosetta.protocols.comparative_modeling.ThreadingMover)
Bases: object
Select residues that were altered in the threading. NB> This is not actually a residue selector. The logical selectors will not accept it.
Initialize self. See help(type(self)) for accurate signature.
class pyrosetta_help.common_ops.faux_selectors.UnalteredSelector(threader: pyrosetta.rosetta.protocols.comparative_modeling.ThreadingMover)
Bases: object
Select residues that were unaltered in the threading. NB> This is not actually a residue selector. The logical selectors will not accept it.
Initialize self. See help(type(self)) for accurate signature.
OrResidueSelector but 2+ (not a class, but returns a Or :param selectors: :return:
pyrosetta_help.common_ops.faux_selectors.get_bfactor_vector(pose: pyrosetta.rosetta.core.pose.Pose, cutoff: float, above=True)
Return a selection vector based on b-factors.
above = get all above. So to select bad b-factors above is True
,
but to select AF2 bad ones. above is False
pyrosetta_help.common_ops.minimise.prep_ED(pose: pyrosetta.rosetta.core.pose.Pose, map_filename: str)
pyrosetta_help.common_ops.minimise.get_local_relax(scorefxn: Optional[pyrosetta.rosetta.core.scoring.ScoreFunction] = None, ncyc: int = 3, nexp: int = 2)
pyrosetta_help.common_ops.minimise.do_local_relax(pose: pyrosetta.rosetta.core.pose.Pose, scorefxn: Optional[pyrosetta.rosetta.core.scoring.ScoreFunction] = None)
pyrosetta_help.common_ops.minimise.do_chainwise_relax(pose: pyrosetta.rosetta.core.pose.Pose, scorefxn: Optional[pyrosetta.rosetta.core.scoring.ScoreFunction] = None, cycles: int = 5)
Adds to the NGLView Widget the method .add_selector
import nglview as nv
view = nv.view_rosetta(pose)
view.add_selector(pose, selector)
view
pyrosetta_help.common_ops.nglview.add_constraints(self: nglview.widget.NGLWidget, pose: pyrosetta.rosetta.core.pose.Pose, component=0, color='skyblue')
pyrosetta_help.common_ops.nglview.add_rosetta(self: nglview.widget.NGLWidget, pose: pyrosetta.rosetta.core.pose.Pose, color: Optional[str] = None)
The module method show_rosetta
creates an NGLWidget
This is a monkeypatched bound method.
-
Parameters
-
self –
-
pose –
-
Returns
component
pyrosetta_help.common_ops.nglview.add_selector(self: nglview.widget.NGLWidget, pose: pyrosetta.rosetta.core.pose.Pose, selector: pyrosetta.rosetta.core.select.residue_selector.ResidueSelector, representation_name: str = 'hyperball', color: str = 'grey', **other)
Add a representation of type representation_name
(def. ‘hyperball’) and center
based upon the Pyrosetta residue selector
-
Parameters
-
self –
-
pose –
-
selector –
-
representation_name –
-
color –
-
other –
-
Returns
pyrosetta_help.common_ops.nglview.make_pose_comparison(self: nglview.widget.NGLWidget, first_pose: pyrosetta.rosetta.core.pose.Pose, second_pose: pyrosetta.rosetta.core.pose.Pose, first_color: str = '#00B4C4', second_color: str = '#F8766D')
Adds two objects, the first colored by default in #00B4C4, which is turquoise,
while the second #F8766D, which is salmon.
The poses are assumed aligned.
-
Parameters
-
self –
-
first_pose –
-
second_pose –
-
first_color –
-
second_color –
-
Returns
pyrosetta_help.common_ops.nglview.selector_to_ngl(self: nglview.widget.NGLWidget, pose: pyrosetta.rosetta.core.pose.Pose, selector: pyrosetta.rosetta.core.select.residue_selector.ResidueSelector)
Given a pose and a selector return the selection string for NGL.
-
Parameters
-
self –
-
pose –
-
selector –
-
Returns
There is likely a mover that does this already and better…
Given a pose, likely one made via
pyrosetta.pose_from_sequence
, make the fortran-indexed range [begin, end] (inclusive) into that SS.
In this case 3.10-helix with phi=-74.0, psi=-4.0
Given a pose, likely one made via
pyrosetta.pose_from_sequence
, make the fortran-indexed range [begin, end] (inclusive) into that SS.
In this case alpha-helix with phi=-57.8, psi=-47.0
Given a pose, likely one made via
pyrosetta.pose_from_sequence
, make the fortran-indexed range [begin, end] (inclusive) into that SS.
In this case pi-helix with phi=-57.1, psi=-69.7
Given a pose, likely one made via
pyrosetta.pose_from_sequence
, make the fortran-indexed range [begin, end] (inclusive) into that SS.
In this case sheet with phi=-139, psi=+135
pyrosetta_help.common_ops.ss_changes.make_ss(pose, begin: int = 1, end: int = - 1, phi: float = 180, psi: float = 180)
Given a pose, likely one made via pyrosetta.pose_from_sequence
,
make the fortran-indexed range [begin, end] (inclusive) into that SS.
pyrosetta_help.common_ops.utils.pose_from_file(pdb_filename: str, params_filenames: Union[pyrosetta.rosetta.utility.vector1_std_string, List[str], None] = None)
Return a pose like pose_from_file but with params.
-
Parameters
-
pdb_filename –
-
params_filenames –
-
Returns
pyrosetta_help.common_ops.utils.pose2pandas(pose: pyrosetta.rosetta.core.pose.Pose, scorefxn: pyrosetta.rosetta.core.scoring.ScoreFunction)
Return a pandas dataframe from the scores of the pose
- Parameters
pose –
- Returns
pyrosetta_help.common_ops.utils.make_blank_pose(params_filenames: Union[pyrosetta.rosetta.utility.vector1_std_string, List[str], None] = None)
Returns an empty pose, but with params from files.
- Parameters
params_filenames –
- Returns
Adds the bfactors from total_score. Snippet for testing in Jupyter
import nglview as nv
view = nv.show_rosetta(pose)
# view = nv.show_file('test.cif')
view.clear_representations()
view.add_tube(radiusType="bfactor", color="bfactor", radiusScale=0.10, colorScale="RdYlBu")
view
replace_res_remap_bfactors
may have been a cleaner strategy. This was quicker to write.
If this fails, it may be because the pose was not scored first.
Returns last residue index in a chain. THere is probably a mover that does this.
-
Parameters
-
pose –
-
chain – letter or number
-
Returns
pyrosetta_help.common_ops.utils.clarify_selector(selector: pyrosetta.rosetta.core.select.residue_selector.ResidueSelector, pose: pyrosetta.rosetta.core.pose.Pose)
Given a selector and pose return a list of residues in NGL selection format Example, [CMP]787:H
-
Parameters
-
selector –
-
pose –
-
Returns
list of residues in NGL selection format
A fresh PDBInfo has the PDB residue number the same as the pose one as opposed to restarting per chain.
- Parameters
pose –
- Returns
pyrosetta_help.common_ops.utils.pose_range(pose: pyrosetta.rosetta.core.pose.Pose, protein_only=True)
range but for the pose… For now naive of chains, non-amino acid residues etc.
Bases: object
Works on the list of dict (metadata.json) with among others keys
- number (pose number)
- chain (chain letter)
- gene_name (gene name)
Initialize self. See help(type(self)) for accurate signature.
guess key…
- Parameters
value –
- Returns
Bases: pyrosetta_help.chain_ops.transmogrifier.Transmogrifier
Human –> Mouse
Initialize self. See help(type(self)) for accurate signature.
class pyrosetta_help.chain_ops.transmogrifier.Transmogrifier(chains: List[dict], wanted_label: str, owned_label: str)
Bases: pyrosetta_help.chain_ops.chain_ops.ChainOps
This is to convert a mutation from one species (owned_label
) to another (wanted_label
)
based on provided sequences in the chains list of dict
Initialize self. See help(type(self)) for accurate signature.
Align the human seq to the mouse and store it the chain dict
Given seqA and seqB as two gap aligned sequences, and an off-by-one residue number of seqA without counting gaps, return an off-by-one residue number of seqB without counting gaps.
classmethod from_chain_ops(chain_ops: pyrosetta_help.chain_ops.chain_ops.ChainOps, wanted_label: str, owned_label: str)
pyrosetta_help.alphafold.constraints.add_pae_constraints(pose: pyrosetta.rosetta.core.pose.Pose, errors: numpy.ndarray, cutoff: float = 12, tolerance: Optional[float] = None, weight: float = 1, adjecency_threshold=5)
Add constrains to the pose based on the errors matrix. NB. this matrix is a reshaped version of what AF2 returns.
A harmonic function is added to CA atoms that are in residues with the error under a specified cutoff.
The mu is the current distance and the standard deviation of the harmonic is the error times weight
.
To find out how many were added:
len(pose.constraint_set().get_all_constraints())
-
Parameters
-
pose –
-
errors –
-
cutoff –
-
tolerance – if None Harmonic, if value, tollerance of FlatHarmonic
-
weight – this is added to the SD part so squared inverse.
-
adjecency_threshold – min residue separation of sequence neighbours
-
Returns
pyrosetta_help.alphafold.constraints.add_stretch_constraint(pose: pyrosetta.rosetta.core.pose.Pose, weight: float = 5, slope_in: float = - 0.05, residue_index_A: int = 1, residue_index_B: int = - 1, distance: Optional[float] = None, sigmoid: bool = True)
Add a constraint to “stretch out” the model, because slope_in
is negative.
-
Parameters
-
pose – Pose to add constraint to
-
weight – how strength of constraint (max of 0.5 for
SigmoidFunc
) -
slope_in – negative number to stretch
-
residue_index_A – first residue?
-
residue_index_B – last residue is “-1”
-
distance – if omitted, the midpoint of Sigmoid will be the current distance
-
sigmoid – use sigmoid or identity/linear (bad idea)
-
Returns
Note the distance matrix is zero indexed as it would be confusing using numpy with one indexed data.
- Parameters
pose –
- Returns
pyrosetta_help.alphafold.constraints.make_pae_constraint(pose, residue1_pose_idx: int, residue2_pose_idx: int, error: float, tolerance: Optional[float] = None, weight: float = 1)
Bases: object
Initialize self. See help(type(self)) for accurate signature.
This used to be a pyrosetta.rosetta.utility.vector1_core_pose_Pose
but it turns out that the getitem of vector1_core_pose_Pose
returns a clone of the pose, not the pose itself.
- Returns
Given a folder form ColabsFold return a dictionary with key rank index and value a dictionary of details
This is convoluted, but it may have been altered by a human.
A rubbish method to convert copy-pasted Phosphosite web table.
-
Parameters
-
raw –
-
minimum –
-
maximum –
-
Returns
Make AlphaFold2-EBI like PAE plot
Returns the distances errors either as numpy matrix (reshaped=True
)
or as the weird format from AF2-EBI —see help(pyrosetta_help.alphafold.retrieval.reshape_errors)
for more.
Remember that the matrix is zero indexed and that these values are in Ångström and are not pLDDT, which are stored as b-factors.
The JSON from AF2 has a single element list. the sole element is a dictionary with keys ‘residue1’, ‘residue2’ and ‘distance’. This method returns a matrix of distances reshaped based on the stated residue indices. This is rather unlikely to differ from a regular reshape… but idiotically I am not taking changes assuming it is always sorted.
pyrosetta_help.alphafold.superimpose.superimpose_by_pLDDT(pose: pyrosetta.rosetta.core.pose.Pose, original: pyrosetta.rosetta.core.pose.Pose, cutoff=70, pose_range=None)
Superimpose two poses, based on residues with pLDDT above a given threshold.
-
Parameters
-
pose –
-
original –
-
cutoff – %
-
pose_range – optional argument to subset (start:int, end:int)
-
Returns
class pyrosetta_help.score_mutants.mutation.Mutation(mutation_name: str, chain: str, pose: pyrosetta.rosetta.core.pose.Pose)
Bases: object
A mutation is an object that has all the details of the mutation.
A variant, as interpreted in Model.score_mutations
is a pose with a mutation.
Initialize self. See help(type(self)) for accurate signature.
Adds the following fields:
- highest/lowest_contributor
- highest/lowest_contributor_value
- highest/lowest_contributor_wordy
- Parameters
scores – pd.DataFrame(output_of_variants)
- Returns
Not largest in abs contribution, but highest number (i.e. most positive)
Largest in abs amount as per the confusing fact that a very low negative number is large.
Not smallest/infinitesimal in abs contribution, but lowest number (i.e. most negative)
class pyrosetta_help.score_mutants.variant.MutantScorer(pose: pyrosetta.rosetta.core.pose.Pose, modelname: str, scorefxn: Optional[pyrosetta.rosetta.core.scoring.ScoreFunction] = None, strict_about_starting_residue: bool = True, verbose: bool = False)
Bases: object
Copy pasted from PI4KA <- GNB2 <- SnoopCatcher
CA_RMSD(poseA: pyrosetta.rosetta.core.pose.Pose, poseB: pyrosetta.rosetta.core.pose.Pose, resi: int, chain: Optional[str], distance: int)
FA_RMSD(poseA: pyrosetta.rosetta.core.pose.Pose, poseB: pyrosetta.rosetta.core.pose.Pose, resi: int, chain: Optional[str], distance: int)
_init_(pose: pyrosetta.rosetta.core.pose.Pose, modelname: str, scorefxn: Optional[pyrosetta.rosetta.core.scoring.ScoreFunction] = None, strict_about_starting_residue: bool = True, verbose: bool = False)
Initialize self. See help(type(self)) for accurate signature.
minuend - subtrahend = difference given two dict return the difference -without using pandas.
does_contain(mutation: Union[pyrosetta_help.score_mutants.mutation.Mutation, str], chain: Optional[str] = None)
get_neighbour_vector(pose: pyrosetta.rosetta.core.pose.Pose, resi: int, chain: str, distance: int, include_focus_in_subset: bool = True, own_chain_only: bool = False)
Given a pose get the global scores.
make_mutant(pose: pyrosetta.rosetta.core.pose.Pose, mutation: Union[str, pyrosetta_help.score_mutants.mutation.Mutation], chain='A', distance: int = 10, cycles: int = 5, inplace: bool = False)
Make a point mutant (A23D
).
-
Parameters
-
pose – pose
-
mutation –
-
chain –
-
inplace –
-
Returns
a copy if inplace is false
movement(original: pyrosetta.rosetta.core.pose.Pose, resi: int, chain: str, distance: int, trials: int = 50, temperature: int = 1.0, replicate_number: int = 10)
This method adapted from a notebook of mine, but not from an official source, is not well written. It should be a filter and score combo.
It returns the largest bb_rmsd of the pdb residue resi following backrub.
parse_mutation(mutation: Union[str, pyrosetta_help.score_mutants.mutation.Mutation], chain, pose: Optional[pyrosetta.rosetta.core.pose.Pose] = None)
relax_around_mover(pose: pyrosetta.rosetta.core.pose.Pose, mutation: Optional[pyrosetta_help.score_mutants.mutation.Mutation] = None, resi: Optional[int] = None, chain: Optional[str] = None, cycles=5, distance=5, own_chain_only=False)
Relaxes pose distance
around resi:chain or mutation
-
Parameters
-
resi – PDB residue number.
-
chain –
-
pose –
-
cycles – of relax (3 quick, 15 thorough)
-
distance –
-
Returns
score_mutation(mutation_name: str, chains: str, distance: int, cycles: int, interfaces, ref_interface_dG: Dict[str, float], final_func: Optional[Callable] = None, preminimise: bool = False, movement: bool = False)
Scores the mutation mutation_name
(str or Mutation instance)
returning three objects: a dict of scores, the wt (may differ from pose if preminimise=True) and mutant pose
-
Parameters
-
mutation_name –
-
chains –
-
distance –
-
cycles –
-
interfaces –
-
ref_interface_dG – premade if no preminimise.
-
final_func –
-
preminimise –
-
Returns
score_mutations(mutations, chains='A', interfaces=, preminimise=False, distance=10, cycles=5, final_func: Optional[Callable] = None)
score_only(variant: pyrosetta.rosetta.core.pose.Pose, reference: pyrosetta.rosetta.core.pose.Pose, mutation: pyrosetta_help.score_mutants.mutation.Mutation, chains: str, distance: int, interfaces: List[Tuple[str, str]], ref_interface_dG: Dict, final_func: Optional[Callable] = None, movement: bool = False)
There is a wee problem in that alpha-helices get classified as beta-turns And I am not sure all are beta-turns…
Returns the pose indices of residues in cis (omega of zero)
Bases: dict
pyrosetta_help.residue_decription.hbonds.hbond2dict(pose: pyrosetta.rosetta.core.pose.Pose, bond: pyrosetta.rosetta.core.scoring.hbonds.HBond)
returns a string of the SS of types H, S, L This is not the ALBEGO classifier
Bases: object
A class to easily look at the weights for the terms of different scorefunctions. It has various functionalities.
List available scorefunctions:
Find a scorefunction that mentions a word:
Get the comment block of a scorefunction:
Get a scorefunction by name by calling the appropriate options first.
Get weights (including ref) for a scorefunction or a name of one
Get a pandas table of the weights
Find all the scorefxn names whose files contain the string word (case insensitive).
find_metion('spades')
returns ['hydrate_score12']
folder( = '/Users/matteo/miniconda3/lib/python3.7/site-packages/pyrosetta/database/scoring/weights')
get_ref_values_badly(scorefxn: pyrosetta.rosetta.core.scoring.ScoreFunction, prefix: Optional[bool] = True)
I could not find a direct way to get_method_weights. Here this horrid way.
Gets the scorefxn with appropriate corrections.
Read the file given a scorefxn name
Get only the comments
get_weight(scorefxn: pyrosetta.rosetta.core.scoring.ScoreFunction, score_type: pyrosetta.rosetta.core.scoring.ScoreType)
Gets weights for scorefxn
Returns the scorefxn names
term_meanings( = {'METHOD_WEIGHTS': 'Not an energy term itself, but the parameters for each amino acid used by the ref energy term.', 'dslf_fa13': 'Disulfide geometry potential.', 'fa_atr': 'Lennard-Jones attractive between atoms in different residues (r^6 term, London dispersion forces).', 'fa_dun': "Internal energy of sidechain rotamers as derived from Dunbrack's statistics (2010 Rotamer Library used in Talaris2013).", 'fa_dun_semi': "Internal energy of sidechain semi-rotamers as derived from Dunbrack's statistics (2010 Rotamer Library used in Talaris2013).", 'fa_elec': 'Coulombic electrostatic potential with a distance-dependent dielectric.', 'fa_intra_atr_xover4': 'Intra-residue LJ attraction, counted for the atom-pairs beyond torsion-relationship.', 'fa_intra_elec': 'Intra-residue Coulombic interaction, counted for the atom-pairs beyond torsion-relationship.', 'fa_intra_rep': 'Lennard-Jones repulsive between atoms in the same residue.', 'fa_intra_rep_xover4': 'Intra-residue LJ repulsion, counted for the atom-pairs beyond torsion-relationship.', 'fa_intra_sol_xover4': 'Intra-residue LK solvation, counted for the atom-pairs beyond torsion-relationship.', 'fa_rep': 'Lennard-Jones repulsive between atoms in different residues (r^12 term, Pauli repulsion forces).', 'fa_sol': 'Lazaridis-Karplus solvation energy.', 'hbond_bb_sc': 'Sidechain-backbone hydrogen bond energy.', 'hbond_lr_bb': 'Backbone-backbone hbonds distant in primary sequence.', 'hbond_sc': 'Sidechain-sidechain hydrogen bond energy.', 'hbond_sr_bb': 'Backbone-backbone hbonds close in primary sequence.', 'hxl_tors': 'Sidechain hydroxyl group torsion preference for Ser/Thr/Tyr, supersedes yhh_planarity (that covers L- and D-Tyr only).', 'lk_ball': 'Anisotropic contribution to the solvation.', 'lk_ball_bridge': "Bonus to solvation coming from bridging waters, measured by overlap of the 'balls' from two interacting polar atoms.", 'lk_ball_bridge_uncpl': 'Same as lk_ball_bridge, but the value is uncoupled with dGfree (i.e. constant bonus, whereas lk_ball_bridge is proportional to dGfree values).', 'lk_ball_iso': 'Same as fa_sol; see below.', 'lk_ball_wtd': 'weighted sum of lk_ball & lk_ball_iso (w1*lk_ball + w2*lk_ball_iso); w2 is negative so that anisotropic contribution(lk_ball) replaces some portion of isotropic contribution (fa_sol=lk_ball_iso).', 'omega': 'Omega dihedral in the backbone. A Harmonic constraint on planarity with standard deviation of ~6 deg.', 'p_aa_pp': 'Probability of amino acid at Φ/Ψ.', 'pro_close': 'Proline ring closure energy and energy of psi angle of preceding residue.', 'rama': 'Ramachandran preferences.', 'rama_prepro': 'Backbone torsion preference term that takes into account of whether preceding amono acid is Proline or not.', 'ref': 'Reference energy for each amino acid. Balances internal energy of amino acid terms. Plays role in design.', 'yhh_planarity': 'Sidechain hydroxyl group torsion preference for Tyr, superseded by hxl_tors'})
Bases: pyrosetta_help.blueprint_maker._init.BlueprinterInit
, pyrosetta_help.blueprint_maker._subscripted.BlueprinterSubscripted
, pyrosetta_help.blueprint_maker._common.BlueprinterCommon
, pyrosetta_help.blueprint_maker._expected.BlueprinterExpected
, pyrosetta_help.blueprint_maker._remodel.Remodel
, pyrosetta_help.blueprint_maker._pdb_info.BlueCopier
Make a blueprint file for Rosetta Remodel and load it into the options (.set(fn)
).
The rows property is a list of lists, this is what the operations manipulate.
Where each row is something like [20, ‘G’, ‘.’]
subscript assignment allows the 4th field to be altered. The SS is based on the pose.
.from_pose(pose)
initialises it from pose, while the reg. init is from sequence and ss.
Whereas
.del_span(10, 29)
deletes a span.wobble_span(100, 105)
wobbles a span (NATAA).mutate(5, 'W')
mutates resi i to aa.insert(3, 'PIKAA W')
or.insert(3, ['PIKAA W', 'PIKAA A'])
inserts.
a more flexible approach is using subscripts and slices:
blue = Blueprinter.from_pose(pose)
blue[10:14] = 'NATAA' # preceding loop
del blue[15:20]
blue[20:25] = 'NATAA' # following loop
blue[22] = 'PIKAA W'
blue.set(bluprint_filename)
remember that if remodelmover is already initialised to call rm.register_options()
About the subscript setter, there are three (weird) things to note:
- A star will be convered into the native amino acid. PIKAA F*CK on a glutamine, will result in PIKAA FECK
- The ranges are human style: deletion of resi 10-15 means that 6 residues are missing, including 15. Where normally in python 10:15 is 5, 15 is excluded.
- The value is a string but there are no safegards or checks, even if there are a limited amount of possibilities and it would be really nice seeing if the non-canonical for EMPTY NC XAA
Bases: object
Initialize self. See help(type(self)) for accurate signature.
Bases: object
Given a sequence find homologues (Blast) and find if they have ligands (PDBe API). The definition of what ligand is a cofactor comes from PDBe and does not count ions or triphospho-nucleotides as cofactors, but does count NADH adducts.
.data
is a list of dictionaries..to_dataframe()
converts into a pandas dataframe for further analysis..candidate_ligands
list of ligand residue 3-letter codes
- Parameters
sequence – is assumed clean protein sequence
cofactor_codes( = ['ASC', 'F43', 'M43', 'MDO', 'PNS', '0WD', '1DG', '3AA', '3CD', '6V0', '8ID', 'A3D', 'AP0', 'CND', 'DG1', 'DN4', 'EAD', 'ENA', 'LNC', 'N01', 'NA0', 'NAD', 'NAE', 'NAI', 'NAJ', 'NAP', 'NAQ', 'NAX', 'NBD', 'NBP', 'NDC', 'NDE', 'NDO', 'NDP', 'NHD', 'NPW', 'ODP', 'P1H', 'PAD', 'SAD', 'SAE', 'SND', 'TAD', 'TAP', 'TDT', 'TXD', 'TXE', 'TXP', 'ZID', '18W', '29P', 'DPM', '2MD', 'MCN', 'MGD', 'MSS', 'MTE', 'MTQ', 'MTV', 'PCD', 'XAX', 'B12', 'CNC', 'COB', 'COY', '6FA', 'FA8', 'FAA', 'FAB', 'FAD', 'FAE', 'FAO', 'FAS', 'FCG', 'FDA', 'FED', 'FSH', 'P5F', 'RFL', 'SFD', '1YJ', 'C2F', 'FFO', 'FON', 'FOZ', 'THF', 'THG', 'THH', '01A', '01K', '0ET', '1C4', '1CV', '1CZ', '1HA', '1VU', '1XE', '2CP', '2NE', '3CP', '3H9', '3HC', '4CA', '4CO', '8JD', '8Z2', 'ACO', 'AMX', 'BCA', 'BCO', 'BSJ', 'BYC', 'CA3', 'CA5', 'CA6', 'CA8', 'CAA', 'CAJ', 'CAO', 'CIC', 'CMC', 'CMX', 'CO6', 'CO8', 'COA', 'COD', 'COF', 'COO', 'COT', 'COW', 'COZ', 'DCA', 'DCC', 'FAM', 'FCX', 'FRE', 'FYN', 'GRA', 'HAX', 'HMG', 'HSC', 'HXC', 'MCA', 'MCD', 'MDE', 'MLC', 'MYA', 'NHM', 'NHQ', 'NHW', 'NMX', 'OXK', 'S0N', 'SCA', 'SCD', 'SCO', 'SDX', 'SOP', 'T1G', 'TC6', 'WCA', 'YNC', 'ZOZ', 'SHT', 'TP7', 'TPZ', 'TXZ', 'XP8', 'XP9', '4LS', '4LU', 'FMN', 'FNR', 'FNS', 'IRF', 'RBF', 'MQ7', None, 'COM', '6HE', '7HE', 'CCH', 'COH', 'DDH', 'DHE', 'FDE', 'FMI', 'HAS', 'HDD', 'HDE', 'HEA', 'HEB', 'HEC', 'HEM', 'HIF', 'ISW', 'MH0', 'MNH', 'MNR', 'PP9', 'SH0', 'SRM', 'ZEM', 'ZNH', '4AB', '7AP', 'BHS', 'BIO', 'H2B', 'H4B', 'HBI', 'WSD', 'PQQ', 'BTI', 'BTN', 'BYT', 'DTB', 'Y7Y', 'LPA', 'LPB', '4YP', 'AT5', 'UQ1', 'UQ2', 'UQ5', 'UQ6', '0HG', '0HH', '1JO', '1JP', '1R4', '3GC', '48T', '5AU', 'ABY', 'AHE', 'ATA', 'BOB', 'BYG', 'EPY', 'ESG', 'GBI', 'GBP', 'GBX', 'GDN', 'GDS', 'GF5', 'GGC', 'GIP', 'GNB', 'GPR', 'GPS', 'GS8', 'GSB', 'GSF', 'GSH', 'GSM', 'GSN', 'GSO', 'GTB', 'GTD', 'GTS', 'GTX', 'GTY', 'GVX', 'HAG', 'IBG', 'ICY', 'JM2', 'JM5', 'JM7', 'L9X', 'LEE', 'LZ6', 'RGE', 'TGG', 'TS5', 'VWW', 'ZBF', '0AF', 'TOQ', 'TQQ', 'TRQ', '0UM', '0XU', '0Y0', '0Y1', '0Y2', '36A', '37H', '4IK', '62X', '6NR', '76H', '76J', '76K', '76L', '76M', 'EEM', 'K15', 'SA8', 'SAH', 'SAM', 'SFG', 'SMM', 'SX0', 'TT8', '1TP', '1U0', '2TP', '5GY', '8EF', '8EL', '8EO', '8FL', '8PA', 'D7K', 'EN0', 'HTL', 'M6T', 'N1T', 'N3T', 'R1T', 'S1T', 'T5X', 'T6F', 'TD6', 'TD7', 'TD8', 'TD9', 'TDK', 'TDL', 'TDM', 'TDP', 'TDW', 'THD', 'THV', 'THW', 'THY', 'TP8', 'TPP', 'TPU', 'TPW', 'TZD', 'WWF', 'MPL', 'NOP', 'NPL', 'PDP', 'PLP', 'PLR', 'PMP', 'PXP', 'PZP', 'UAH', '1TY', '2TY', 'AGQ', 'G27', 'HCC', 'P2Q', 'P3Q', 'TPQ', 'TYQ', 'TYY', 'ATP', 'GTP', 'CA', 'MG', 'W'])
cofactor_reference( = {'Adenosylcobalamin': [{'EC': ['1.1.1.259', '1.13.12.7', '1.14.19.30', '1.17.4.1', '1.17.4.2', '1.2.1.10', '1.2.1.17', '1.2.1.25', '1.2.1.27', '1.2.1.44', '1.2.1.52', '1.2.4.4', '1.2.7.1', '1.2.7.7', '1.21.1.2', '1.21.98.3', '1.21.99.5', '1.3.1.25', '1.3.7.1', '1.8.1.18', '2.1.1.13', '2.1.1.258', '2.1.1.308', '2.1.1.326', '2.1.3.1', '2.3.1.107', '2.3.1.148', '2.3.1.180', '2.3.1.26', '2.3.3.10', '2.3.3.5', '3.4.11.18', '4.1.1.1', '4.2.1.28', '4.2.1.30', '4.3.1.2', '4.3.1.3', '4.3.1.7', '5.4.3.3', '5.4.3.4', '5.4.3.5', '5.4.3.7', '5.4.99.1', '5.4.99.13', '5.4.99.2', '5.4.99.4', '5.4.99.63', '5.4.99.64'], 'cofactors': ['B12', 'CNC', 'COB', 'COY']}], 'Ascorbic acid': [{'EC': ['1.10.99.3', '1.11.1.11', '1.13.11.5', '1.14.11.1', '1.14.11.10', '1.14.11.11', '1.14.11.13', '1.14.11.14', '1.14.11.15', '1.14.11.17', '1.14.11.18', '1.14.11.19', '1.14.11.2', '1.14.11.20', '1.14.11.22', '1.14.11.23', '1.14.11.3', '1.14.11.4', '1.14.11.6', '1.14.11.7', '1.14.11.8', '1.14.11.9', '1.14.13.38', '1.14.14.18', '1.14.15.4', '1.14.17.1', '1.14.17.3', '1.14.17.4', '1.14.18.3', '1.14.19.1', '1.14.99.21', '1.16.5.1', '1.2.2.4', '2.4.1.202', '4.1.2.32', '5.4.99.3'], 'cofactors': ['ASC']}], 'Biopterin': [{'EC': ['1.14.13.12', '1.14.13.165', '1.14.14.47', '1.14.16.1', '1.14.16.2', '1.14.16.3', '1.14.16.4', '1.14.16.5', '1.14.16.6', '1.3.1.6'], 'cofactors': ['4AB', '7AP', 'BHS', 'BIO', 'H2B', 'H4B', 'HBI', 'WSD']}], 'Biotin': [{'EC': ['1.14.16.1', '2.1.3.1', '4.1.1.3', '4.1.1.41', '4.1.1.70', '4.1.1.74', '4.1.1.89', '6.3.4.15', '6.3.4.6', '6.4.1.1', '6.4.1.2', '6.4.1.3', '6.4.1.4', '6.4.1.5', '6.4.1.7'], 'cofactors': ['BTI', 'BTN', 'BYT', 'DTB', 'Y7Y']}], 'Coenzyme A': [{'EC': ['1.1.1.34', '1.1.1.88', '1.14.19.3', '1.17.99.3', '1.2.1.10', '1.2.1.17', '1.2.1.18', '1.2.1.2', '1.2.1.25', '1.2.1.27', '1.2.1.42', '1.2.1.44', '1.2.1.50', '1.2.1.51', '1.2.1.52', '1.2.1.57', '1.2.1.58', '1.2.1.75', '1.2.3.6', '1.2.7.1', '1.2.7.2', '1.2.7.3', '1.2.7.7', '1.2.7.8', '1.8.1.10', '1.8.1.14', '1.8.4.3', '2.3.1.1', '2.3.1.10', '2.3.1.100', '2.3.1.102', '2.3.1.104', '2.3.1.105', '2.3.1.106', '2.3.1.107', '2.3.1.108', '2.3.1.109', '2.3.1.11', '2.3.1.110', '2.3.1.111', '2.3.1.112', '2.3.1.113', '2.3.1.114', '2.3.1.115', '2.3.1.116', '2.3.1.117', '2.3.1.118', '2.3.1.119', '2.3.1.12', '2.3.1.121', '2.3.1.123', '2.3.1.125', '2.3.1.126', '2.3.1.127', '2.3.1.128', '2.3.1.13', '2.3.1.130', '2.3.1.131', '2.3.1.132', '2.3.1.133', '2.3.1.136', '2.3.1.137', '2.3.1.138', '2.3.1.139', '2.3.1.14', '2.3.1.140', '2.3.1.142', '2.3.1.144', '2.3.1.145', '2.3.1.146', '2.3.1.148', '2.3.1.15', '2.3.1.150', '2.3.1.151', '2.3.1.153', '2.3.1.154', '2.3.1.155', '2.3.1.156', '2.3.1.157', '2.3.1.159', '2.3.1.16', '2.3.1.160', '2.3.1.161', '2.3.1.162', '2.3.1.163', '2.3.1.164', '2.3.1.165', '2.3.1.166', '2.3.1.167', '2.3.1.168', '2.3.1.169', '2.3.1.17', '2.3.1.170', '2.3.1.171', '2.3.1.172', '2.3.1.173', '2.3.1.174', '2.3.1.175', '2.3.1.176', '2.3.1.177', '2.3.1.178', '2.3.1.18', '2.3.1.180', '2.3.1.182', '2.3.1.183', '2.3.1.185', '2.3.1.186', '2.3.1.188', '2.3.1.19', '2.3.1.2', '2.3.1.20', '2.3.1.205', '2.3.1.209', '2.3.1.21', '2.3.1.210', '2.3.1.22', '2.3.1.23', '2.3.1.24', '2.3.1.25', '2.3.1.255', '2.3.1.257', '2.3.1.258', '2.3.1.26', '2.3.1.27', '2.3.1.28', '2.3.1.29', '2.3.1.3', '2.3.1.30', '2.3.1.31', '2.3.1.33', '2.3.1.34', '2.3.1.36', '2.3.1.37', '2.3.1.38', '2.3.1.39', '2.3.1.4', '2.3.1.42', '2.3.1.44', '2.3.1.45', '2.3.1.46', '2.3.1.47', '2.3.1.48', '2.3.1.5', '2.3.1.50', '2.3.1.51', '2.3.1.52', '2.3.1.53', '2.3.1.54', '2.3.1.57', '2.3.1.58', '2.3.1.59', '2.3.1.6', '2.3.1.60', '2.3.1.61', '2.3.1.62', '2.3.1.63', '2.3.1.64', '2.3.1.65', '2.3.1.66', '2.3.1.67', '2.3.1.68', '2.3.1.69', '2.3.1.7', '2.3.1.70', '2.3.1.71', '2.3.1.74', '2.3.1.75', '2.3.1.76', '2.3.1.78', '2.3.1.79', '2.3.1.8', '2.3.1.80', '2.3.1.81', '2.3.1.82', '2.3.1.84', '2.3.1.85', '2.3.1.86', '2.3.1.87', '2.3.1.88', '2.3.1.89', '2.3.1.9', '2.3.1.93', '2.3.1.94', '2.3.1.95', '2.3.1.96', '2.3.1.97', '2.3.1.99', '2.3.1.B6', '2.3.3.1', '2.3.3.10', '2.3.3.11', '2.3.3.12', '2.3.3.13', '2.3.3.14', '2.3.3.2', '2.3.3.3', '2.3.3.4', '2.3.3.5', '2.3.3.6', '2.3.3.7', '2.3.3.8', '2.3.3.9', '2.7.7.23', '2.8.3.1', '2.8.3.5', '3.1.2.1', '3.1.2.10', '3.1.2.11', '3.1.2.17', '3.1.2.18', '3.1.2.19', '3.1.2.2', '3.1.2.20', '3.1.2.23', '3.1.2.25', '3.1.2.26', '3.1.2.27', '3.1.2.3', '3.1.2.4', '3.1.2.5', '3.8.1.7', '4.1.1.31', '4.1.3.36', '4.1.3.6', '5.4.99.13', '6.2.1.1', '6.2.1.10', '6.2.1.11', '6.2.1.12', '6.2.1.13', '6.2.1.14', '6.2.1.15', '6.2.1.16', '6.2.1.17', '6.2.1.18', '6.2.1.2', '6.2.1.23', '6.2.1.24', '6.2.1.25', '6.2.1.26', '6.2.1.27', '6.2.1.28', '6.2.1.3', '6.2.1.30', '6.2.1.31', '6.2.1.32', '6.2.1.33', '6.2.1.34', '6.2.1.4', '6.2.1.5', '6.2.1.6', '6.2.1.7', '6.2.1.8', '6.2.1.9'], 'cofactors': ['01A', '01K', '0ET', '1C4', '1CV', '1CZ', '1HA', '1VU', '1XE', '2CP', '2NE', '3CP', '3H9', '3HC', '4CA', '4CO', '8JD', '8Z2', 'ACO', 'AMX', 'BCA', 'BCO', 'BSJ', 'BYC', 'CA3', 'CA5', 'CA6', 'CA8', 'CAA', 'CAJ', 'CAO', 'CIC', 'CMC', 'CMX', 'CO6', 'CO8', 'COA', 'COD', 'COF', 'COO', 'COT', 'COW', 'COZ', 'DCA', 'DCC', 'FAM', 'FCX', 'FRE', 'FYN', 'GRA', 'HAX', 'HMG', 'HSC', 'HXC', 'MCA', 'MCD', 'MDE', 'MLC', 'MYA', 'NHM', 'NHQ', 'NHW', 'NMX', 'OXK', 'S0N', 'SCA', 'SCD', 'SCO', 'SDX', 'SOP', 'T1G', 'TC6', 'WCA', 'YNC', 'ZOZ']}], 'Coenzyme B': [{'EC': ['2.8.4.1'], 'cofactors': ['SHT', 'TP7', 'TPZ', 'TXZ', 'XP8', 'XP9']}], 'Coenzyme M': [{'EC': ['1.8.1.B5', '2.8.4.1'], 'cofactors': ['COM']}], 'Dipyrromethane': [{'EC': ['2.5.1.61'], 'cofactors': ['18W', '29P', 'DPM']}], 'Factor F430': [{'EC': ['2.8.4.1'], 'cofactors': ['F43', 'M43']}], 'Flavin Mononucleotide': [{'EC': ['1.1.1.27', '1.1.1.284', '1.1.1.328', '1.1.1.404', '1.1.2.3', '1.1.2.4', '1.1.3.15', '1.1.3.46', '1.1.3.6', '1.1.5.3', '1.1.99.18', '1.1.99.27', '1.1.99.31', '1.1.99.B9', '1.10.3.16', '1.10.5.1', '1.11.1.23', '1.12.1.2', '1.12.1.4', '1.12.99.6', '1.13.11.32', '1.13.11.52', '1.13.12.16', '1.13.12.4', '1.14.12.12', '1.14.12.13', '1.14.12.7', '1.14.12.8', '1.14.12.9', '1.14.13.104', '1.14.13.108', '1.14.13.109', '1.14.13.131', '1.14.13.156', '1.14.13.162', '1.14.13.165', '1.14.13.187', '1.14.13.215', '1.14.13.22', '1.14.13.28', '1.14.13.39', '1.14.13.58', '1.14.13.76', '1.14.13.B1', '1.14.14.1', '1.14.14.10', '1.14.14.11', '1.14.14.12', '1.14.14.13', '1.14.14.20', '1.14.14.21', '1.14.14.22', '1.14.14.28', '1.14.14.3', '1.14.14.30', '1.14.14.33', '1.14.14.34', '1.14.14.35', '1.14.14.47', '1.14.14.5', '1.14.14.6', '1.14.14.9', '1.14.15.1', '1.14.15.3', '1.14.19.1', '1.14.19.7', '1.14.21.1', '1.14.21.2', '1.14.99.15', '1.14.99.21', '1.14.99.24', '1.14.99.46', '1.16.1.10', '1.16.1.3', '1.16.1.4', '1.16.1.5', '1.16.1.6', '1.16.1.8', '1.16.8.1', '1.17.1.4', '1.17.1.8', '1.17.4.1', '1.17.99.3', '1.18.1.1', '1.18.1.2', '1.18.1.4', '1.18.1.8', '1.2.1.2', '1.2.1.93', '1.2.7.1', '1.21.1.1', '1.22.1.1', '1.3.1.10', '1.3.1.100', '1.3.1.108', '1.3.1.14', '1.3.1.15', '1.3.1.2', '1.3.1.31', '1.3.1.34', '1.3.1.42', '1.3.1.44', '1.3.1.6', '1.3.1.8', '1.3.1.9', '1.3.1.95', '1.3.3.1', '1.3.3.12', '1.3.3.7', '1.3.5.2', '1.3.5.3', '1.3.7.15', '1.3.8.1', '1.3.98.1', '1.3.99.24', '1.3.99.33', '1.4.1.13', '1.4.1.14', '1.4.3.1', '1.4.3.2', '1.4.3.5', '1.4.7.1', '1.5.1.20', '1.5.1.29', '1.5.1.30', '1.5.1.34', '1.5.1.36', '1.5.1.38', '1.5.1.41', '1.5.1.46', '1.5.1.B1', '1.5.3.1', '1.5.3.22', '1.5.5.2', '1.5.8.1', '1.5.8.2', '1.5.8.3', '1.5.99.1', '1.5.99.15', '1.5.99.4', '1.5.99.B2', '1.6.2.4', '1.6.3.1', '1.6.5.10', '1.6.5.11', '1.6.5.2', '1.6.5.3', '1.6.5.4', '1.6.5.5', '1.6.5.6', '1.6.5.7', '1.6.5.8', '1.6.6.9', '1.6.99.1', '1.6.99.3', '1.7.1.0', '1.7.1.16', '1.7.1.2', '1.7.1.3', '1.7.1.4', '1.7.1.6', '1.7.1.B1', '1.7.2.3', '1.7.3.1', '1.7.3.5', '1.8.1.2', '1.8.1.4', '1.8.2.3', '1.8.7.1', '1.8.99.2', '2.1.1.148', '2.1.1.21', '2.2.1.6', '2.3.1.86', '2.5.1.129', '2.5.1.15', '2.7.1.161', '2.7.1.26', '2.7.1.42', '2.7.11.1', '2.7.13.3', '2.7.7.2', '3.13.1.3', '3.6.1.18', '4.1.1.36', '4.1.1.74', '4.1.1.98', '4.1.2.32', '4.1.99.3', '4.2.3.5', '4.3.3.7', '4.99.1.7', '5.2.1.13', '5.3.3.2', '5.4.99.9', '5.5.1.18', '6.3.2.5'], 'cofactors': ['4LS', '4LU', 'FMN', 'FNR', 'FNS', 'IRF', 'RBF']}], 'Flavin adenine dinucleotide': [{'EC': ['1.1.1.158', '1.1.1.215', '1.1.1.28', '1.1.1.289', '1.1.1.47', '1.1.1.94', '1.1.1.B58', '1.1.2.3', '1.1.2.4', '1.1.3.10', '1.1.3.12', '1.1.3.13', '1.1.3.15', '1.1.3.17', '1.1.3.19', '1.1.3.20', '1.1.3.21', '1.1.3.23', '1.1.3.28', '1.1.3.3', '1.1.3.37', '1.1.3.38', '1.1.3.39', '1.1.3.4', '1.1.3.41', '1.1.3.42', '1.1.3.43', '1.1.3.44', '1.1.3.45', '1.1.3.47', '1.1.3.49', '1.1.3.5', '1.1.3.6', '1.1.3.7', '1.1.3.8', '1.1.3.9', '1.1.5.10', '1.1.5.12', '1.1.5.3', '1.1.5.4', '1.1.5.9', '1.1.98.3', '1.1.98.4', '1.1.99.1', '1.1.99.10', '1.1.99.11', '1.1.99.13', '1.1.99.16', '1.1.99.18', '1.1.99.2', '1.1.99.20', '1.1.99.21', '1.1.99.27', '1.1.99.29', '1.1.99.3', '1.1.99.37', '1.1.99.39', '1.1.99.4', '1.1.99.40', '1.1.99.6', '1.1.99.9', '1.1.99.B1', '1.1.99.B3', '1.10.3.4', '1.10.5.1', '1.10.99.2', '1.11.1.1', '1.11.1.17', '1.11.1.23', '1.12.1.2', '1.12.1.3', '1.12.1.4', '1.12.1.5', '1.12.7.2', '1.12.98.1', '1.12.98.4', '1.12.99.6', '1.13.11.17', '1.13.11.20', '1.13.11.32', '1.13.12.1', '1.13.12.16', '1.13.12.2', '1.13.12.3', '1.13.12.4', '1.13.12.9', '1.13.99.1', '1.14.11.B1', '1.14.11.B2', '1.14.12.10', '1.14.12.11', '1.14.12.12', '1.14.12.13', '1.14.12.14', '1.14.12.15', '1.14.12.17', '1.14.12.18', '1.14.12.21', '1.14.12.22', '1.14.12.24', '1.14.12.3', '1.14.12.4', '1.14.12.5', '1.14.12.7', '1.14.12.8', '1.14.13.1', '1.14.13.10', '1.14.13.101', '1.14.13.104', '1.14.13.105', '1.14.13.107', '1.14.13.108', '1.14.13.109', '1.14.13.111', '1.14.13.113', '1.14.13.114', '1.14.13.12', '1.14.13.123', '1.14.13.127', '1.14.13.129', '1.14.13.130', '1.14.13.135', '1.14.13.148', '1.14.13.149', '1.14.13.152', '1.14.13.16', '1.14.13.160', '1.14.13.162', '1.14.13.163', '1.14.13.165', '1.14.13.166', '1.14.13.167', '1.14.13.168', '1.14.13.170', '1.14.13.171', '1.14.13.18', '1.14.13.180', '1.14.13.187', '1.14.13.19', '1.14.13.195', '1.14.13.196', '1.14.13.2', '1.14.13.20', '1.14.13.200', '1.14.13.208', '1.14.13.210', '1.14.13.211', '1.14.13.212', '1.14.13.215', '1.14.13.216', '1.14.13.217', '1.14.13.218', '1.14.13.22', '1.14.13.222', '1.14.13.223', '1.14.13.224', '1.14.13.225', '1.14.13.23', '1.14.13.231', '1.14.13.232', '1.14.13.233', '1.14.13.236', '1.14.13.24', '1.14.13.25', '1.14.13.27', '1.14.13.28', '1.14.13.29', '1.14.13.3', '1.14.13.31', '1.14.13.32', '1.14.13.33', '1.14.13.35', '1.14.13.4', '1.14.13.40', '1.14.13.44', '1.14.13.5', '1.14.13.50', '1.14.13.54', '1.14.13.58', '1.14.13.59', '1.14.13.6', '1.14.13.61', '1.14.13.63', '1.14.13.64', '1.14.13.69', '1.14.13.7', '1.14.13.76', '1.14.13.78', '1.14.13.8', '1.14.13.83', '1.14.13.84', '1.14.13.9', '1.14.13.90', '1.14.13.92', '1.14.13.B30', '1.14.14.1', '1.14.14.11', '1.14.14.12', '1.14.14.15', '1.14.14.17', '1.14.14.20', '1.14.14.21', '1.14.14.27', '1.14.14.3', '1.14.14.30', '1.14.14.47', '1.14.14.5', '1.14.14.6', '1.14.14.7', '1.14.14.8', '1.14.14.9', '1.14.15.1', '1.14.15.21', '1.14.15.3', '1.14.17.3', '1.14.19.1', '1.14.19.49', '1.14.19.7', '1.14.19.9', '1.14.19.B7', '1.14.21.1', '1.14.21.2', '1.14.21.6', '1.14.99.21', '1.14.99.24', '1.14.99.34', '1.14.99.46', '1.14.99.7', '1.16.1.1', '1.16.1.3', '1.16.1.4', '1.16.1.5', '1.16.1.6', '1.16.1.7', '1.16.1.8', '1.16.1.9', '1.16.8.1', '1.17.1.4', '1.17.1.5', '1.17.3.2', '1.17.3.3', '1.17.7.2', '1.17.7.4', '1.17.8.1', '1.17.99.1', '1.17.99.3', '1.17.99.5', '1.18.1.1', '1.18.1.2', '1.18.1.3', '1.18.1.4', '1.18.1.5', '1.18.1.6', '1.18.1.7', '1.18.1.8', '1.19.1.1', '1.2.1.36', '1.2.1.51', '1.2.1.58', '1.2.1.88', '1.2.2.2', '1.2.2.4', '1.2.3.1', '1.2.3.13', '1.2.3.3', '1.2.3.4', '1.2.3.6', '1.2.3.7', '1.2.4.2', '1.2.4.4', '1.2.5.1', '1.2.5.3', '1.2.7.1', '1.2.7.4', '1.2.99.2', '1.2.99.6', '1.2.99.8', '1.2.99.9', '1.21.1.1', '1.21.3.3', '1.21.3.7', '1.21.3.8', '1.21.98.2', '1.21.99.1', '1.22.1.1', '1.3.1.10', '1.3.1.101', '1.3.1.108', '1.3.1.109', '1.3.1.110', '1.3.1.14', '1.3.1.15', '1.3.1.2', '1.3.1.27', '1.3.1.31', '1.3.1.34', '1.3.1.42', '1.3.1.44', '1.3.1.52', '1.3.1.6', '1.3.1.72', '1.3.1.86', '1.3.1.88', '1.3.1.91', '1.3.1.95', '1.3.1.98', '1.3.2.3', '1.3.3.1', '1.3.3.12', '1.3.3.15', '1.3.3.4', '1.3.3.6', '1.3.3.7', '1.3.3.8', '1.3.5.1', '1.3.5.2', '1.3.5.4', '1.3.5.5', '1.3.5.6', '1.3.7.11', '1.3.7.13', '1.3.7.8', '1.3.7.9', '1.3.8.1', '1.3.8.10', '1.3.8.11', '1.3.8.12', '1.3.8.13', '1.3.8.2', '1.3.8.3', '1.3.8.4', '1.3.8.5', '1.3.8.6', '1.3.8.7', '1.3.8.8', '1.3.8.9', '1.3.98.1', '1.3.99.1', '1.3.99.10', '1.3.99.12', '1.3.99.13', '1.3.99.17', '1.3.99.18', '1.3.99.19', '1.3.99.2', '1.3.99.21', '1.3.99.23', '1.3.99.24', '1.3.99.28', '1.3.99.3', '1.3.99.31', '1.3.99.32', '1.3.99.33', '1.3.99.37', '1.3.99.38', '1.3.99.4', '1.3.99.5', '1.3.99.7', '1.3.99.8', '1.3.99.B12', '1.3.99.B2', '1.4.1.13', '1.4.1.14', '1.4.1.5', '1.4.3.1', '1.4.3.10', '1.4.3.11', '1.4.3.12', '1.4.3.14', '1.4.3.15', '1.4.3.16', '1.4.3.19', '1.4.3.2', '1.4.3.21', '1.4.3.22', '1.4.3.23', '1.4.3.24', '1.4.3.25', '1.4.3.3', '1.4.3.4', '1.4.3.5', '1.4.3.7', '1.4.5.1', '1.4.7.1', '1.4.99.1', '1.4.99.5', '1.4.99.6', '1.4.99.B3', '1.5.1.15', '1.5.1.20', '1.5.1.29', '1.5.1.30', '1.5.1.34', '1.5.1.B1', '1.5.3.1', '1.5.3.10', '1.5.3.11', '1.5.3.12', '1.5.3.13', '1.5.3.14', '1.5.3.15', '1.5.3.16', '1.5.3.17', '1.5.3.18', '1.5.3.19', '1.5.3.2', '1.5.3.21', '1.5.3.4', '1.5.3.5', '1.5.3.6', '1.5.3.7', '1.5.5.1', '1.5.5.2', '1.5.7.1', '1.5.7.2', '1.5.8.1', '1.5.8.2', '1.5.8.3', '1.5.8.4', '1.5.99.1', '1.5.99.12', '1.5.99.13', '1.5.99.14', '1.5.99.15', '1.5.99.2', '1.5.99.3', '1.5.99.4', '1.5.99.5', '1.5.99.6', '1.5.99.8', '1.5.99.B2', '1.6.1.1', '1.6.1.2', '1.6.1.3', '1.6.1.4', '1.6.2.2', '1.6.2.4', '1.6.2.5', '1.6.2.6', '1.6.3.1', '1.6.3.2', '1.6.3.3', '1.6.3.4', '1.6.3.5', '1.6.5.10', '1.6.5.11', '1.6.5.12', '1.6.5.2', '1.6.5.3', '1.6.5.4', '1.6.5.6', '1.6.5.7', '1.6.5.8', '1.6.5.9', '1.6.6.9', '1.6.99.1', '1.6.99.3', '1.6.99.6', '1.7.1.1', '1.7.1.10', '1.7.1.15', '1.7.1.2', '1.7.1.3', '1.7.1.4', '1.7.1.5', '1.7.1.6', '1.7.2.1', '1.7.2.3', '1.7.3.1', '1.7.3.5', '1.7.99.1', '1.8.1.10', '1.8.1.11', '1.8.1.12', '1.8.1.13', '1.8.1.14', '1.8.1.15', '1.8.1.16', '1.8.1.18', '1.8.1.19', '1.8.1.2', '1.8.1.4', '1.8.1.5', '1.8.1.7', '1.8.1.8', '1.8.1.9', '1.8.1.B1', '1.8.1.B4', '1.8.2.1', '1.8.2.3', '1.8.3.2', '1.8.3.3', '1.8.3.5', '1.8.3.6', '1.8.4.10', '1.8.5.1', '1.8.5.4', '1.8.98.1', '1.8.99.2', '2.1.1.13', '2.1.1.148', '2.1.1.190', '2.1.1.229', '2.1.1.61', '2.1.1.74', '2.1.1.90', '2.2.1.6', '2.3.1.168', '2.5.1.26', '2.5.1.94', '2.7.1.161', '2.7.1.42', '2.7.11.1', '2.7.13.3', '2.7.7.2', '2.8.1.5', '2.8.1.6', '3.1.3.43', '3.13.1.3', '3.13.1.4', '3.6.1.18', '3.7.1.11', '4.1.1.36', '4.1.1.47', '4.1.1.70', '4.1.2.10', '4.1.2.47', '4.1.99.11', '4.1.99.13', '4.1.99.3', '4.2.1.120', '4.2.1.53', '4.2.1.54', '4.2.1.B25', '4.2.3.5', '4.3.3.7', '4.6.1.15', '4.99.1.2', '5.1.1.1', '5.2.1.13', '5.3.1.12', '5.3.3.13', '5.3.3.2', '5.3.3.3', '5.3.3.B2', '5.3.99.8', '5.4.3.3', '5.4.99.9', '5.5.1.18', '5.5.1.19', '5.5.1.20'], 'cofactors': ['6FA', 'FA8', 'FAA', 'FAB', 'FAD', 'FAE', 'FAO', 'FAS', 'FCG', 'FDA', 'FED', 'FSH', 'P5F', 'RFL', 'SFD']}], 'Glutathione': [{'EC': ['1.11.1.12', '1.11.1.17', '1.11.1.9', '1.13.11.18', '1.14.16.5', '1.2.1.46', '1.20.4.1', '1.20.4.2', '1.21.99.4', '1.5.4.1', '1.8.1.10', '1.8.1.16', '1.8.1.7', '1.8.1.B5', '1.8.3.3', '1.8.4.1', '1.8.4.2', '1.8.4.3', '1.8.4.4', '1.8.4.7', '1.8.4.9', '1.8.5.1', '1.8.98.2', '2.1.1.41', '2.1.1.45', '2.5.1.18', '2.8.1.3', '2.8.2.33', '3.1.2.12', '3.1.2.13', '3.1.2.6', '3.1.2.7', '3.5.1.78', '3.5.3.8', '4.4.1.20', '4.4.1.22', '4.4.1.5', '4.5.1.1', '4.5.1.3', '5.2.1.4', '5.3.4.1', '5.3.99.2', '5.3.99.3', '5.99.1.4', '6.3.2.3'], 'cofactors': ['0HG', '0HH', '1JO', '1JP', '1R4', '3GC', '48T', '5AU', 'ABY', 'AHE', 'ATA', 'BOB', 'BYG', 'EPY', 'ESG', 'GBI', 'GBP', 'GBX', 'GDN', 'GDS', 'GF5', 'GGC', 'GIP', 'GNB', 'GPR', 'GPS', 'GS8', 'GSB', 'GSF', 'GSH', 'GSM', 'GSN', 'GSO', 'GTB', 'GTD', 'GTS', 'GTX', 'GTY', 'GVX', 'HAG', 'IBG', 'ICY', 'JM2', 'JM5', 'JM7', 'L9X', 'LEE', 'LZ6', 'RGE', 'TGG', 'TS5', 'VWW', 'ZBF']}], 'Heme': [{'EC': ['1.1.1.215', '1.1.1.28', '1.1.2.2', '1.1.2.3', '1.1.2.4', '1.1.2.6', '1.1.2.7', '1.1.2.8', '1.1.2.9', '1.1.2.B5', '1.1.3.39', '1.1.3.B4', '1.1.5.11', '1.1.5.5', '1.1.5.6', '1.1.9.1', '1.1.98.1', '1.1.99.11', '1.1.99.12', '1.1.99.14', '1.1.99.18', '1.1.99.20', '1.1.99.21', '1.1.99.3', '1.1.99.4', '1.1.99.6', '1.1.99.B7', '1.10.2.2', '1.10.3.1', '1.10.3.10', '1.10.3.11', '1.10.3.12', '1.10.3.13', '1.10.3.14', '1.10.3.3', '1.10.3.9', '1.10.9.1', '1.11.1.10', '1.11.1.11', '1.11.1.13', '1.11.1.14', '1.11.1.16', '1.11.1.19', '1.11.1.21', '1.11.1.5', '1.11.1.6', '1.11.1.7', '1.11.1.8', '1.11.1.B2', '1.11.1.B7', '1.11.2.1', '1.11.2.2', '1.11.2.3', '1.11.2.4', '1.11.2.5', '1.12.2.1', '1.12.5.1', '1.12.99.6', '1.13.11.11', '1.13.11.26', '1.13.11.44', '1.13.11.49', '1.13.11.50', '1.13.11.52', '1.13.11.60', '1.13.11.9', '1.13.12.16', '1.13.12.17', '1.13.99.3', '1.14.11.9', '1.14.12.17', '1.14.13.1', '1.14.13.100', '1.14.13.103', '1.14.13.104', '1.14.13.106', '1.14.13.108', '1.14.13.109', '1.14.13.11', '1.14.13.110', '1.14.13.112', '1.14.13.115', '1.14.13.119', '1.14.13.120', '1.14.13.129', '1.14.13.13', '1.14.13.137', '1.14.13.138', '1.14.13.139', '1.14.13.140', '1.14.13.141', '1.14.13.142', '1.14.13.146', '1.14.13.147', '1.14.13.15', '1.14.13.150', '1.14.13.151', '1.14.13.152', '1.14.13.154', '1.14.13.156', '1.14.13.161', '1.14.13.17', '1.14.13.177', '1.14.13.181', '1.14.13.184', '1.14.13.188', '1.14.13.197', '1.14.13.198', '1.14.13.199', '1.14.13.2', '1.14.13.202', '1.14.13.203', '1.14.13.21', '1.14.13.221', '1.14.13.25', '1.14.13.28', '1.14.13.30', '1.14.13.37', '1.14.13.39', '1.14.13.4', '1.14.13.41', '1.14.13.42', '1.14.13.47', '1.14.13.48', '1.14.13.49', '1.14.13.5', '1.14.13.52', '1.14.13.53', '1.14.13.55', '1.14.13.56', '1.14.13.57', '1.14.13.6', '1.14.13.60', '1.14.13.67', '1.14.13.68', '1.14.13.7', '1.14.13.70', '1.14.13.71', '1.14.13.72', '1.14.13.73', '1.14.13.74', '1.14.13.75', '1.14.13.76', '1.14.13.77', '1.14.13.79', '1.14.13.80', '1.14.13.81', '1.14.13.85', '1.14.13.86', '1.14.13.87', '1.14.13.88', '1.14.13.89', '1.14.13.91', '1.14.13.93', '1.14.13.94', '1.14.13.95', '1.14.13.96', '1.14.13.97', '1.14.13.98', '1.14.13.99', '1.14.13.B14', '1.14.13.B21', '1.14.13.B3', '1.14.14.1', '1.14.14.14', '1.14.14.16', '1.14.14.17', '1.14.14.18', '1.14.14.19', '1.14.14.23', '1.14.14.24', '1.14.14.25', '1.14.14.29', '1.14.14.32', '1.14.14.36', '1.14.14.40', '1.14.14.41', '1.14.14.42', '1.14.14.44', '1.14.14.45', '1.14.14.47', '1.14.15.1', '1.14.15.10', '1.14.15.13', '1.14.15.15', '1.14.15.16', '1.14.15.18', '1.14.15.19', '1.14.15.20', '1.14.15.3', '1.14.15.4', '1.14.15.5', '1.14.15.6', '1.14.15.8', '1.14.15.9', '1.14.18.1', '1.14.18.6', '1.14.18.7', '1.14.18.8', '1.14.19.1', '1.14.19.12', '1.14.19.16', '1.14.19.17', '1.14.19.18', '1.14.19.19', '1.14.19.20', '1.14.19.22', '1.14.19.25', '1.14.19.26', '1.14.19.29', '1.14.19.3', '1.14.19.30', '1.14.19.31', '1.14.19.33', '1.14.19.34', '1.14.19.38', '1.14.19.4', '1.14.19.44', '1.14.19.47', '1.14.19.51', '1.14.19.6', '1.14.21.1', '1.14.21.10', '1.14.21.11', '1.14.21.2', '1.14.21.3', '1.14.21.4', '1.14.21.5', '1.14.21.7', '1.14.21.9', '1.14.99.1', '1.14.99.10', '1.14.99.14', '1.14.99.15', '1.14.99.19', '1.14.99.22', '1.14.99.24', '1.14.99.28', '1.14.99.37', '1.14.99.39', '1.14.99.4', '1.14.99.45', '1.14.99.49', '1.14.99.57', '1.14.99.9', '1.14.99.B1', '1.15.1.2', '1.16.5.1', '1.16.9.1', '1.17.1.4', '1.17.2.1', '1.17.2.2', '1.17.99.1', '1.17.99.2', '1.18.1.8', '1.2.1.70', '1.2.2.1', '1.2.3.7', '1.2.5.2', '1.20.2.1', '1.20.99.1', '1.21.98.2', '1.3.1.6', '1.3.2.3', '1.3.3.10', '1.3.3.9', '1.3.5.1', '1.3.5.4', '1.3.98.3', '1.3.99.1', '1.4.9.1', '1.4.9.2', '1.5.1.20', '1.5.3.1', '1.5.99.3', '1.5.99.4', '1.5.99.5', '1.5.99.6', '1.6.3.1', '1.6.5.10', '1.7.1.1', '1.7.1.14', '1.7.1.15', '1.7.1.2', '1.7.1.3', '1.7.1.4', '1.7.2.1', '1.7.2.2', '1.7.2.3', '1.7.2.5', '1.7.2.6', '1.7.2.7', '1.7.2.8', '1.7.3.4', '1.7.3.6', '1.7.5.1', '1.7.5.2', '1.7.6.1', '1.7.7.1', '1.7.7.2', '1.7.7.4', '1.7.99.7', '1.8.1.2', '1.8.1.3', '1.8.2.1', '1.8.2.2', '1.8.2.3', '1.8.2.4', '1.8.2.5', '1.8.3.1', '1.8.7.1', '1.8.98.1', '1.8.98.3', '1.8.99.2', '1.8.99.3', '1.8.99.5', '1.8.99.B2', '1.9.3.1', '1.9.6.1', '1.9.98.1', '1.97.1.1', '1.97.1.9', '2.1.1.304', '2.7.13.3', '2.7.7.65', '3.1.4.52', '4.1.1.B11', '4.2.1.121', '4.2.1.22', '4.2.1.92', '4.2.1.B9', '4.3.1.26', '4.6.1.2', '4.99.1.1', '4.99.1.3', '4.99.1.5', '4.99.1.7', '5.3.99.3', '5.3.99.4', '5.3.99.5', '5.3.99.6', '5.4.4.5', '5.4.4.6', '6.6.1.2'], 'cofactors': ['6HE', '7HE', 'CCH', 'COH', 'DDH', 'DHE', 'FDE', 'FMI', 'HAS', 'HDD', 'HDE', 'HEA', 'HEB', 'HEC', 'HEM', 'HIF', 'ISW', 'MH0', 'MNH', 'MNR', 'PP9', 'SH0', 'SRM', 'ZEM', 'ZNH']}], 'Lipoic acid': [{'EC': ['1.1.1.5', '1.17.4.2', '1.2.4.1 ', '1.2.4.2', '1.2.4.4', '1.4.4.2', '1.8.1.4', '2.3.1.61'], 'cofactors': ['LPA', 'LPB']}], 'MIO': [{'EC': ['4.3.1.23', '4.3.1.24', '4.3.1.25', '5.4.3.6'], 'cofactors': ['MDO']}], 'Menaquinone': [{'EC': ['1.1.5.4', '1.1.5.6', '1.17.99.1', '1.21.99.5', '1.3.5.4', '1.7.5.1', '1.8.5.5', '3.4.21.21', '3.4.21.6', '3.4.21.69', '4.1.1.90'], 'cofactors': ['MQ7']}], 'Molybdopterin': [{'EC': ['1.1.1.288', '1.1.5.6', '1.1.99.33', '1.12.98.4', '1.17.1.4', '1.17.1.5', '1.17.2.1', '1.17.3.2', '1.17.3.3', '1.17.5.1', '1.17.99.2', '1.2.1.2', '1.2.2.4', '1.2.3.1', '1.2.3.8', '1.2.5.3', '1.2.7.4', '1.2.7.5', '1.2.7.6', '1.2.7.7', '1.2.99.6', '1.2.99.8', '1.2.99.9', '1.20.9.1', '1.20.98.1', '1.3.7.9', '1.3.99.16', '1.3.99.17', '1.5.99.14', '1.5.99.4', '1.7.2.3', '1.7.5.1', '1.7.7.2', '1.8.2.1', '1.8.2.4', '1.8.3.1', '1.8.5.3', '1.9.6.1', '1.97.1.1', '1.97.1.9', '4.2.1.112'], 'cofactors': ['2MD', 'MCN', 'MGD', 'MSS', 'MTE', 'MTQ', 'MTV', 'PCD', 'XAX']}], 'NA': [{'EC': [None], 'cofactors': [None]}], 'Nicotinamide-adenine dinucleotide': [{'EC': ['1.1.1.1', '1.1.1.10', '1.1.1.100', '1.1.1.101', '1.1.1.102', '1.1.1.103', '1.1.1.104', '1.1.1.105', '1.1.1.106', '1.1.1.107', '1.1.1.108', '1.1.1.11', '1.1.1.110', '1.1.1.111', '1.1.1.112', '1.1.1.113', '1.1.1.114', '1.1.1.115', '1.1.1.116', '1.1.1.117', '1.1.1.118', '1.1.1.119', '1.1.1.12', '1.1.1.120', '1.1.1.121', '1.1.1.122', '1.1.1.123', '1.1.1.124', '1.1.1.125', '1.1.1.126', '1.1.1.127', '1.1.1.128', '1.1.1.129', '1.1.1.13', '1.1.1.130', '1.1.1.131', '1.1.1.132', '1.1.1.133', '1.1.1.134', '1.1.1.135', '1.1.1.136', '1.1.1.137', '1.1.1.138', '1.1.1.14', '1.1.1.140', '1.1.1.141', '1.1.1.142', '1.1.1.143', '1.1.1.144', '1.1.1.145', '1.1.1.146', '1.1.1.147', '1.1.1.148', '1.1.1.149', '1.1.1.15', '1.1.1.150', '1.1.1.151', '1.1.1.152', '1.1.1.153', '1.1.1.154', '1.1.1.156', '1.1.1.157', '1.1.1.158', '1.1.1.159', '1.1.1.16', '1.1.1.160', '1.1.1.161', '1.1.1.162', '1.1.1.163', '1.1.1.164', '1.1.1.165', '1.1.1.166', '1.1.1.167', '1.1.1.168', '1.1.1.169', '1.1.1.17', '1.1.1.170', '1.1.1.172', '1.1.1.173', '1.1.1.174', '1.1.1.175', '1.1.1.176', '1.1.1.177', '1.1.1.178', '1.1.1.179', '1.1.1.18', '1.1.1.181', '1.1.1.183', '1.1.1.184', '1.1.1.185', '1.1.1.186', '1.1.1.187', '1.1.1.188', '1.1.1.189', '1.1.1.19', '1.1.1.190', '1.1.1.191', '1.1.1.192', '1.1.1.193', '1.1.1.194', '1.1.1.195', '1.1.1.196', '1.1.1.197', '1.1.1.198', '1.1.1.199', '1.1.1.2', '1.1.1.20', '1.1.1.200', '1.1.1.201', '1.1.1.202', '1.1.1.203', '1.1.1.205', '1.1.1.206', '1.1.1.207', '1.1.1.208', '1.1.1.209', '1.1.1.21', '1.1.1.210', '1.1.1.211', '1.1.1.212', '1.1.1.213', '1.1.1.214', '1.1.1.215', '1.1.1.216', '1.1.1.217', '1.1.1.218', '1.1.1.219', '1.1.1.22', '1.1.1.220', '1.1.1.221', '1.1.1.222', '1.1.1.223', '1.1.1.224', '1.1.1.225', '1.1.1.226', '1.1.1.227', '1.1.1.228', '1.1.1.229', '1.1.1.23', '1.1.1.230', '1.1.1.231', '1.1.1.232', '1.1.1.233', '1.1.1.234', '1.1.1.235', '1.1.1.236', '1.1.1.237', '1.1.1.238', '1.1.1.239', '1.1.1.24', '1.1.1.240', '1.1.1.241', '1.1.1.243', '1.1.1.244', '1.1.1.245', '1.1.1.246', '1.1.1.247', '1.1.1.248', '1.1.1.25', '1.1.1.250', '1.1.1.251', '1.1.1.252', '1.1.1.254', '1.1.1.255', '1.1.1.256', '1.1.1.257', '1.1.1.258', '1.1.1.259', '1.1.1.26', '1.1.1.260', '1.1.1.261', '1.1.1.262', '1.1.1.263', '1.1.1.264', '1.1.1.265', '1.1.1.266', '1.1.1.267', '1.1.1.268', '1.1.1.269', '1.1.1.27', '1.1.1.270', '1.1.1.271', '1.1.1.272', '1.1.1.273', '1.1.1.274', '1.1.1.275', '1.1.1.276', '1.1.1.277', '1.1.1.278', '1.1.1.279', '1.1.1.28', '1.1.1.280', '1.1.1.281', '1.1.1.282', '1.1.1.283', '1.1.1.284', '1.1.1.285', '1.1.1.286', '1.1.1.287', '1.1.1.288', '1.1.1.289', '1.1.1.29', '1.1.1.290', '1.1.1.291', '1.1.1.292', '1.1.1.294', '1.1.1.295', '1.1.1.296', '1.1.1.297', '1.1.1.298', '1.1.1.299', '1.1.1.3', '1.1.1.30', '1.1.1.300', '1.1.1.301', '1.1.1.302', '1.1.1.303', '1.1.1.304', '1.1.1.305', '1.1.1.306', '1.1.1.307', '1.1.1.308', '1.1.1.309', '1.1.1.31', '1.1.1.311', '1.1.1.312', '1.1.1.314', '1.1.1.315', '1.1.1.316', '1.1.1.32', '1.1.1.320', '1.1.1.321', '1.1.1.322', '1.1.1.323', '1.1.1.324', '1.1.1.326', '1.1.1.327', '1.1.1.328', '1.1.1.329', '1.1.1.33', '1.1.1.331', '1.1.1.332', '1.1.1.333', '1.1.1.334', '1.1.1.335', '1.1.1.336', '1.1.1.337', '1.1.1.34', '1.1.1.340', '1.1.1.342', '1.1.1.343', '1.1.1.344', '1.1.1.345', '1.1.1.346', '1.1.1.347', '1.1.1.348', '1.1.1.35', '1.1.1.350', '1.1.1.351', '1.1.1.352', '1.1.1.354', '1.1.1.356', '1.1.1.357', '1.1.1.359', '1.1.1.36', '1.1.1.360', '1.1.1.361', '1.1.1.363', '1.1.1.364', '1.1.1.365', '1.1.1.366', '1.1.1.367', '1.1.1.368', '1.1.1.369', '1.1.1.37', '1.1.1.370', '1.1.1.371', '1.1.1.373', '1.1.1.375', '1.1.1.376', '1.1.1.377', '1.1.1.378', '1.1.1.379', '1.1.1.38', '1.1.1.380', '1.1.1.381', '1.1.1.382', '1.1.1.383', '1.1.1.384', '1.1.1.386', '1.1.1.387', '1.1.1.388', '1.1.1.389', '1.1.1.39', '1.1.1.390', '1.1.1.391', '1.1.1.394', '1.1.1.395', '1.1.1.396', '1.1.1.398', '1.1.1.399', '1.1.1.4', '1.1.1.40', '1.1.1.400', '1.1.1.401', '1.1.1.402', '1.1.1.403', '1.1.1.404', '1.1.1.406', '1.1.1.41', '1.1.1.410', '1.1.1.411', '1.1.1.42', '1.1.1.43', '1.1.1.44', '1.1.1.45', '1.1.1.46', '1.1.1.47', '1.1.1.48', '1.1.1.49', '1.1.1.5', '1.1.1.50', '1.1.1.51', '1.1.1.52', '1.1.1.53', '1.1.1.54', '1.1.1.55', '1.1.1.56', '1.1.1.57', '1.1.1.58', '1.1.1.59', '1.1.1.6', '1.1.1.60', '1.1.1.61', '1.1.1.62', '1.1.1.63', '1.1.1.64', '1.1.1.65', '1.1.1.66', '1.1.1.67', '1.1.1.69', '1.1.1.7', '1.1.1.71', '1.1.1.72', '1.1.1.73', '1.1.1.75', '1.1.1.76', '1.1.1.77', '1.1.1.78', '1.1.1.79', '1.1.1.8', '1.1.1.80', '1.1.1.81', '1.1.1.82', '1.1.1.83', '1.1.1.84', '1.1.1.85', '1.1.1.86', '1.1.1.87', '1.1.1.88', '1.1.1.9', '1.1.1.90', '1.1.1.91', '1.1.1.92', '1.1.1.93', '1.1.1.94', '1.1.1.95', '1.1.1.96', '1.1.1.97', '1.1.1.98', '1.1.1.99', '1.1.1.B18', '1.1.1.B19', '1.1.1.B20', '1.1.1.B25', '1.1.1.B28', '1.1.1.B3', '1.1.1.B35', '1.1.1.B38', '1.1.1.B4', '1.1.1.B40', '1.1.1.B47', '1.1.1.B52', '1.1.1.B58', '1.1.1.B60', '1.1.1.B61', '1.1.3.16', '1.1.99.14', '1.1.99.2', '1.1.99.21', '1.1.99.24', '1.1.99.28', '1.1.99.36', '1.1.99.37', '1.1.99.7', '1.10.1.1', '1.10.5.1', '1.11.1.1', '1.11.1.2', '1.11.1.23', '1.12.1.2', '1.12.1.3', '1.12.1.4', '1.12.2.1', '1.12.7.2', '1.12.98.4', '1.12.99.6', '1.13.11.20', '1.13.11.29', '1.13.11.30', '1.13.11.79', '1.13.12.14', '1.13.12.17', '1.14.12.1', '1.14.12.10', '1.14.12.11', '1.14.12.12', '1.14.12.13', '1.14.12.14', '1.14.12.15', '1.14.12.16', '1.14.12.17', '1.14.12.18', '1.14.12.19', '1.14.12.20', '1.14.12.21', '1.14.12.22', '1.14.12.23', '1.14.12.24', '1.14.12.3', '1.14.12.4', '1.14.12.5', '1.14.12.7', '1.14.12.8', '1.14.12.9', '1.14.13.1', '1.14.13.10', '1.14.13.100', '1.14.13.101', '1.14.13.102', '1.14.13.103', '1.14.13.104', '1.14.13.105', '1.14.13.106', '1.14.13.107', '1.14.13.108', '1.14.13.109', '1.14.13.11', '1.14.13.110', '1.14.13.111', '1.14.13.112', '1.14.13.113', '1.14.13.114', '1.14.13.115', '1.14.13.12', '1.14.13.123', '1.14.13.127', '1.14.13.128', '1.14.13.129', '1.14.13.13', '1.14.13.130', '1.14.13.131', '1.14.13.135', '1.14.13.14', '1.14.13.141', '1.14.13.142', '1.14.13.15', '1.14.13.151', '1.14.13.158', '1.14.13.16', '1.14.13.161', '1.14.13.162', '1.14.13.163', '1.14.13.165', '1.14.13.166', '1.14.13.167', '1.14.13.17', '1.14.13.172', '1.14.13.178', '1.14.13.179', '1.14.13.18', '1.14.13.180', '1.14.13.182', '1.14.13.19', '1.14.13.196', '1.14.13.2', '1.14.13.20', '1.14.13.202', '1.14.13.205', '1.14.13.209', '1.14.13.21', '1.14.13.210', '1.14.13.211', '1.14.13.212', '1.14.13.215', '1.14.13.216', '1.14.13.217', '1.14.13.218', '1.14.13.22', '1.14.13.220', '1.14.13.222', '1.14.13.224', '1.14.13.225', '1.14.13.23', '1.14.13.230', '1.14.13.24', '1.14.13.25', '1.14.13.26', '1.14.13.27', '1.14.13.28', '1.14.13.29', '1.14.13.3', '1.14.13.30', '1.14.13.31', '1.14.13.32', '1.14.13.33', '1.14.13.34', '1.14.13.35', '1.14.13.36', '1.14.13.37', '1.14.13.38', '1.14.13.39', '1.14.13.4', '1.14.13.40', '1.14.13.41', '1.14.13.42', '1.14.13.43', '1.14.13.44', '1.14.13.46', '1.14.13.47', '1.14.13.48', '1.14.13.49', '1.14.13.5', '1.14.13.50', '1.14.13.51', '1.14.13.52', '1.14.13.53', '1.14.13.54', '1.14.13.55', '1.14.13.56', '1.14.13.57', '1.14.13.58', '1.14.13.59', '1.14.13.6', '1.14.13.60', '1.14.13.61', '1.14.13.62', '1.14.13.63', '1.14.13.64', '1.14.13.66', '1.14.13.67', '1.14.13.68', '1.14.13.69', '1.14.13.7', '1.14.13.70', '1.14.13.71', '1.14.13.72', '1.14.13.73', '1.14.13.74', '1.14.13.75', '1.14.13.76', '1.14.13.77', '1.14.13.78', '1.14.13.79', '1.14.13.8', '1.14.13.80', '1.14.13.81', '1.14.13.82', '1.14.13.83', '1.14.13.84', '1.14.13.85', '1.14.13.86', '1.14.13.87', '1.14.13.88', '1.14.13.89', '1.14.13.9', '1.14.13.90', '1.14.13.91', '1.14.13.92', '1.14.13.93', '1.14.13.94', '1.14.13.95', '1.14.13.96', '1.14.13.97', '1.14.13.98', '1.14.13.99', '1.14.13.B1', '1.14.13.B28', '1.14.14.1', '1.14.14.10', '1.14.14.16', '1.14.14.18', '1.14.14.20', '1.14.14.21', '1.14.14.22', '1.14.14.37', '1.14.14.47', '1.14.14.9', '1.14.15.1', '1.14.15.15', '1.14.15.21', '1.14.15.3', '1.14.15.4', '1.14.16.5', '1.14.18.2', '1.14.18.3', '1.14.18.4', '1.14.18.8', '1.14.19.1', '1.14.19.17', '1.14.19.20', '1.14.19.21', '1.14.19.22', '1.14.19.3', '1.14.19.30', '1.14.19.5', '1.14.19.7', '1.14.21.1', '1.14.21.2', '1.14.21.3', '1.14.21.4', '1.14.21.5', '1.14.21.6', '1.14.21.7', '1.14.99.14', '1.14.99.15', '1.14.99.19', '1.14.99.2', '1.14.99.20', '1.14.99.21', '1.14.99.22', '1.14.99.24', '1.14.99.26', '1.14.99.3', '1.14.99.31', '1.14.99.32', '1.14.99.34', '1.14.99.40', '1.14.99.9', '1.14.99.B1', '1.16.1.1', '1.16.1.10', '1.16.1.2', '1.16.1.3', '1.16.1.4', '1.16.1.5', '1.16.1.6', '1.16.1.7', '1.16.1.8', '1.16.1.9', '1.17.1.1', '1.17.1.2', '1.17.1.3', '1.17.1.4', '1.17.1.5', '1.17.1.8', '1.17.3.2', '1.17.7.4', '1.17.99.1', '1.18.1.1', '1.18.1.2', '1.18.1.3', '1.18.1.4', '1.18.1.5', '1.18.1.6', '1.18.1.7', '1.18.1.8', '1.19.1.1', '1.2.1.10', '1.2.1.11', '1.2.1.12', '1.2.1.13', '1.2.1.15', '1.2.1.16', '1.2.1.17', '1.2.1.18', '1.2.1.19', '1.2.1.2', '1.2.1.20', '1.2.1.21', '1.2.1.22', '1.2.1.23', '1.2.1.24', '1.2.1.25', '1.2.1.26', '1.2.1.27', '1.2.1.28', '1.2.1.29', '1.2.1.3', '1.2.1.30', '1.2.1.31', '1.2.1.32', '1.2.1.33', '1.2.1.36', '1.2.1.38', '1.2.1.39', '1.2.1.4', '1.2.1.40', '1.2.1.41', '1.2.1.42', '1.2.1.43', '1.2.1.44', '1.2.1.45', '1.2.1.46', '1.2.1.47', '1.2.1.48', '1.2.1.49', '1.2.1.5', '1.2.1.50', '1.2.1.51', '1.2.1.52', '1.2.1.53', '1.2.1.54', '1.2.1.57', '1.2.1.58', '1.2.1.59', '1.2.1.60', '1.2.1.61', '1.2.1.62', '1.2.1.63', '1.2.1.64', '1.2.1.65', '1.2.1.66', '1.2.1.67', '1.2.1.68', '1.2.1.69', '1.2.1.7', '1.2.1.70', '1.2.1.71', '1.2.1.72', '1.2.1.73', '1.2.1.74', '1.2.1.75', '1.2.1.76', '1.2.1.77', '1.2.1.78', '1.2.1.79', '1.2.1.8', '1.2.1.80', '1.2.1.81', '1.2.1.83', '1.2.1.85', '1.2.1.87', '1.2.1.88', '1.2.1.89', '1.2.1.9', '1.2.1.90', '1.2.1.91', '1.2.1.92', '1.2.1.93', '1.2.1.94', '1.2.1.96', '1.2.1.97', '1.2.1.98', '1.2.1.99', '1.2.1.B29', '1.2.1.B8', '1.2.3.1', '1.2.4.1', '1.2.4.2', '1.2.4.4', '1.2.5.3', '1.2.98.1', '1.20.1.1', '1.21.1.1', '1.21.1.2', '1.21.4.1', '1.21.4.3', '1.21.4.4', '1.22.1.1', '1.3.1.1', '1.3.1.10', '1.3.1.100', '1.3.1.101', '1.3.1.102', '1.3.1.105', '1.3.1.106', '1.3.1.107', '1.3.1.109', '1.3.1.11', '1.3.1.111', '1.3.1.112', '1.3.1.12', '1.3.1.13', '1.3.1.14', '1.3.1.15', '1.3.1.16', '1.3.1.17', '1.3.1.18', '1.3.1.19', '1.3.1.2', '1.3.1.20', '1.3.1.21', '1.3.1.22', '1.3.1.24', '1.3.1.25', '1.3.1.26', '1.3.1.27', '1.3.1.28', '1.3.1.29', '1.3.1.3', '1.3.1.30', '1.3.1.31', '1.3.1.32', '1.3.1.33', '1.3.1.34', '1.3.1.35', '1.3.1.36', '1.3.1.37', '1.3.1.38', '1.3.1.39', '1.3.1.4', '1.3.1.40', '1.3.1.41', '1.3.1.42', '1.3.1.43', '1.3.1.44', '1.3.1.45', '1.3.1.46', '1.3.1.47', '1.3.1.48', '1.3.1.49', '1.3.1.5', '1.3.1.51', '1.3.1.52', '1.3.1.53', '1.3.1.54', '1.3.1.56', '1.3.1.57', '1.3.1.58', '1.3.1.6', '1.3.1.60', '1.3.1.62', '1.3.1.63', '1.3.1.64', '1.3.1.65', '1.3.1.66', '1.3.1.67', '1.3.1.68', '1.3.1.69', '1.3.1.7', '1.3.1.70', '1.3.1.71', '1.3.1.72', '1.3.1.73', '1.3.1.74', '1.3.1.75', '1.3.1.76', '1.3.1.77', '1.3.1.78', '1.3.1.79', '1.3.1.8', '1.3.1.80', '1.3.1.81', '1.3.1.82', '1.3.1.83', '1.3.1.84', '1.3.1.85', '1.3.1.86', '1.3.1.9', '1.3.1.92', '1.3.1.95', '1.3.1.98', '1.3.1.99', '1.3.3.3', '1.3.3.9', '1.3.5.2', '1.3.7.12', '1.3.7.2', '1.3.7.3', '1.3.8.1', '1.3.98.3', '1.3.99.23', '1.3.99.5', '1.3.99.6', '1.4.1.1', '1.4.1.10', '1.4.1.11', '1.4.1.12', '1.4.1.13', '1.4.1.14', '1.4.1.15', '1.4.1.16', '1.4.1.17', '1.4.1.18', '1.4.1.19', '1.4.1.2', '1.4.1.20', '1.4.1.21', '1.4.1.23', '1.4.1.3', '1.4.1.4', '1.4.1.5', '1.4.1.7', '1.4.1.8', '1.4.1.9', '1.4.1.B2', '1.4.1.B4', '1.4.1.B5', '1.4.99.6', '1.5.1.1', '1.5.1.10', '1.5.1.11', '1.5.1.12', '1.5.1.15', '1.5.1.16', '1.5.1.17', '1.5.1.18', '1.5.1.19', '1.5.1.2', '1.5.1.20', '1.5.1.21', '1.5.1.22', '1.5.1.23', '1.5.1.24', '1.5.1.25', '1.5.1.26', '1.5.1.27', '1.5.1.28', '1.5.1.29', '1.5.1.3', '1.5.1.30', '1.5.1.31', '1.5.1.32', '1.5.1.33', '1.5.1.34', '1.5.1.36', '1.5.1.37', '1.5.1.38', '1.5.1.40', '1.5.1.42', '1.5.1.43', '1.5.1.46', '1.5.1.47', '1.5.1.49', '1.5.1.5', '1.5.1.51', '1.5.1.6', '1.5.1.7', '1.5.1.8', '1.5.1.9', '1.5.1.B1', '1.5.1.B5', '1.5.3.1', '1.5.99.5', '1.6.1.1', '1.6.1.2', '1.6.2.2', '1.6.2.4', '1.6.2.5', '1.6.2.6', '1.6.3.1', '1.6.3.2', '1.6.3.3', '1.6.3.4', '1.6.5.10', '1.6.5.11', '1.6.5.2', '1.6.5.3', '1.6.5.4', '1.6.5.5', '1.6.5.6', '1.6.5.7', '1.6.5.8', '1.6.5.9', '1.6.6.9', '1.6.99.1', '1.6.99.3', '1.6.99.5', '1.6.99.6', '1.7.1.1', '1.7.1.10', '1.7.1.11', '1.7.1.12', '1.7.1.13', '1.7.1.14', '1.7.1.15', '1.7.1.16', '1.7.1.2', '1.7.1.3', '1.7.1.4', '1.7.1.5', '1.7.1.6', '1.7.1.7', '1.7.1.9', '1.7.1.B1', '1.7.1.B4', '1.7.2.3', '1.7.2.5', '1.8.1.10', '1.8.1.11', '1.8.1.12', '1.8.1.13', '1.8.1.14', '1.8.1.15', '1.8.1.16', '1.8.1.17', '1.8.1.18', '1.8.1.2', '1.8.1.3', '1.8.1.4', '1.8.1.5', '1.8.1.6', '1.8.1.7', '1.8.1.8', '1.8.1.9', '1.8.1.B1', '1.8.4.13', '1.8.4.14', '2.1.1.147', '2.1.1.148', '2.1.1.201', '2.1.1.341', '2.1.1.74', '2.1.2.13', '2.3.1.111', '2.3.1.119', '2.3.1.161', '2.3.1.165', '2.3.1.170', '2.3.1.190', '2.3.1.201', '2.3.1.203', '2.3.1.85', '2.3.1.86', '2.3.1.94', '2.4.2.19', '2.4.2.30', '2.4.2.31', '2.4.2.36', '2.4.2.B12', '2.4.2.B14', '2.4.2.B15', '2.4.2.B16', '2.5.1.21', '2.5.1.44', '2.5.1.45', '2.5.1.46', '2.7.1.160', '2.7.1.19', '2.7.1.23', '2.7.1.86', '2.7.3.2', '2.7.8.11', '2.8.1.6', '3.1.2.1', '3.13.1.1', '3.2.1.122', '3.2.1.20', '3.2.1.22', '3.2.1.49', '3.2.1.86', '3.3.1.1', '3.5.1.10', '3.5.1.98', '3.5.4.9', '3.7.1.11', '4.1.1.101', '4.1.1.3', '4.1.1.35', '4.1.1.71', '4.1.1.73', '4.1.1.75', '4.1.1.B4', '4.1.2.32', '4.1.3.30', '4.1.3.39', '4.1.99.5', '4.2.1.10', '4.2.1.115', '4.2.1.135', '4.2.1.17', '4.2.1.45', '4.2.1.46', '4.2.1.47', '4.2.1.49', '4.2.1.76', '4.2.1.93', '4.2.3.124', '4.2.3.152', '4.2.3.154', '4.2.3.155', '4.2.3.4', '4.3.1.12', '4.3.1.22', '4.3.1.28', '4.4.1.17', '5.1.2.3', '5.1.3.10', '5.1.3.12', '5.1.3.13', '5.1.3.16', '5.1.3.18', '5.1.3.2', '5.1.3.20', '5.1.3.5', '5.1.3.6', '5.1.3.7', '5.2.1.6', '5.3.1.12', '5.3.3.1', '5.3.3.2', '5.4.99.5', '5.4.99.9', '5.5.1.3', '5.5.1.4', '6.2.1.13', '6.3.2.11', '6.5.1.1', '6.5.1.2'], 'cofactors': ['0WD', '1DG', '3AA', '3CD', '6V0', '8ID', 'A3D', 'AP0', 'CND', 'DG1', 'DN4', 'EAD', 'ENA', 'LNC', 'N01', 'NA0', 'NAD', 'NAE', 'NAI', 'NAJ', 'NAP', 'NAQ', 'NAX', 'NBD', 'NBP', 'NDC', 'NDE', 'NDO', 'NDP', 'NHD', 'NPW', 'ODP', 'P1H', 'PAD', 'SAD', 'SAE', 'SND', 'TAD', 'TAP', 'TDT', 'TXD', 'TXE', 'TXP', 'ZID']}], 'Orthoquinone residues (LTQ, TTQ, CTQ)': [{'EC': ['1.4.99.3'], 'cofactors': ['0AF', 'TOQ', 'TQQ', 'TRQ']}], 'Phosphopantetheine': [{'EC': ['1.1.1.100', '1.3.1.10', '2.3.1.244', '2.3.1.38', '2.3.1.39', '2.3.1.41', '2.3.1.85', '2.3.1.86', '2.7.8.7', '3.1.2.14', '4.2.1.61', '5.1.1.11', '6.2.1.10'], 'cofactors': ['PNS']}], "Pyridoxal 5'-phosphate": [{'EC': ['1.17.1.1', '1.4.1.12', '1.4.3.21', '1.4.3.22', '1.4.4.2', '2.1.2.1', '2.1.2.10', '2.1.2.5', '2.1.2.7', '2.2.1.8', '2.3.1.201', '2.3.1.263', '2.3.1.29', '2.3.1.30', '2.3.1.37', '2.3.1.47', '2.3.1.50', '2.4.1.1', '2.4.1.8', '2.5.1.113', '2.5.1.140', '2.5.1.47', '2.5.1.48', '2.5.1.49', '2.5.1.51', '2.5.1.52', '2.5.1.53', '2.5.1.65', '2.5.1.73', '2.5.1.76', '2.6.1.1', '2.6.1.100', '2.6.1.101', '2.6.1.102', '2.6.1.103', '2.6.1.104', '2.6.1.105', '2.6.1.106', '2.6.1.107', '2.6.1.108', '2.6.1.109', '2.6.1.11', '2.6.1.110', '2.6.1.111', '2.6.1.112', '2.6.1.113', '2.6.1.12', '2.6.1.13', '2.6.1.14', '2.6.1.15', '2.6.1.17', '2.6.1.18', '2.6.1.19', '2.6.1.2', '2.6.1.21', '2.6.1.22', '2.6.1.24', '2.6.1.26', '2.6.1.27', '2.6.1.28', '2.6.1.29', '2.6.1.3', '2.6.1.30', '2.6.1.33', '2.6.1.34', '2.6.1.35', '2.6.1.36', '2.6.1.37', '2.6.1.38', '2.6.1.39', '2.6.1.4', '2.6.1.40', '2.6.1.41', '2.6.1.42', '2.6.1.43', '2.6.1.44', '2.6.1.45', '2.6.1.46', '2.6.1.47', '2.6.1.48', '2.6.1.49', '2.6.1.5', '2.6.1.50', '2.6.1.51', '2.6.1.52', '2.6.1.55', '2.6.1.56', '2.6.1.57', '2.6.1.58', '2.6.1.59', '2.6.1.6', '2.6.1.60', '2.6.1.62', '2.6.1.63', '2.6.1.64', '2.6.1.65', '2.6.1.66', '2.6.1.67', '2.6.1.7', '2.6.1.71', '2.6.1.72', '2.6.1.75', '2.6.1.76', '2.6.1.77', '2.6.1.78', '2.6.1.79', '2.6.1.8', '2.6.1.80', '2.6.1.81', '2.6.1.82', '2.6.1.83', '2.6.1.84', '2.6.1.87', '2.6.1.88', '2.6.1.89', '2.6.1.9', '2.6.1.90', '2.6.1.92', '2.6.1.96', '2.6.1.98', '2.6.1.99', '2.6.1.B16', '2.6.1.B17', '2.6.1.B3', '2.6.1.B6', '2.6.99.3', '2.8.1.4', '2.8.1.7', '2.8.1.9', '2.9.1.1', '2.9.1.2', '3.5.1.61', '3.5.1.9', '3.5.99.7', '3.7.1.3', '4.1.1.11', '4.1.1.12', '4.1.1.14', '4.1.1.15', '4.1.1.16', '4.1.1.17', '4.1.1.18', '4.1.1.19', '4.1.1.20', '4.1.1.22', '4.1.1.24', '4.1.1.25', '4.1.1.28', '4.1.1.29', '4.1.1.50', '4.1.1.53', '4.1.1.57', '4.1.1.64', '4.1.1.65', '4.1.1.81', '4.1.1.86', '4.1.1.95', '4.1.1.96', '4.1.2.26', '4.1.2.27', '4.1.2.42', '4.1.2.48', '4.1.2.49', '4.1.2.5', '4.1.3.38', '4.1.3.41', '4.1.99.1', '4.1.99.2', '4.2.1.122', '4.2.1.144', '4.2.1.145', '4.2.1.164', '4.2.1.168', '4.2.1.20', '4.2.1.22', '4.2.1.50', '4.2.3.1', '4.2.3.134', '4.2.3.2', '4.3.1.13', '4.3.1.15', '4.3.1.16', '4.3.1.17', '4.3.1.18', '4.3.1.19', '4.3.1.20', '4.3.1.27', '4.3.1.9', '4.4.1.1', '4.4.1.10', '4.4.1.11', '4.4.1.13', '4.4.1.14', '4.4.1.15', '4.4.1.16', '4.4.1.2', '4.4.1.25', '4.4.1.28', '4.4.1.35', '4.4.1.4', '4.4.1.6', '4.4.1.8', '4.4.1.9', '4.5.1.2', '4.5.1.5', '4.99.1.6', '5.1.1.1', '5.1.1.10', '5.1.1.12', '5.1.1.13', '5.1.1.15', '5.1.1.17', '5.1.1.18', '5.1.1.2', '5.1.1.21', '5.1.1.3', '5.1.1.5', '5.1.1.6', '5.1.1.9', '5.4.3.2', '5.4.3.3', '5.4.3.4', '5.4.3.5', '5.4.3.8', '5.4.3.9'], 'cofactors': ['MPL', 'NOP', 'NPL', 'PDP', 'PLP', 'PLR', 'PMP', 'PXP', 'PZP', 'UAH']}], 'Pyrroloquinoline Quinone': [{'EC': ['1.1.2.7', '1.1.5.2', '1.1.99.1', '1.1.99.20', '1.1.99.22', '1.1.99.23', '1.1.99.8', '1.2.99.3', '1.4.99.3'], 'cofactors': ['PQQ']}], 'S-adenosylmethionine': [{'EC': ['1.1.98.6', '1.16.1.8', '1.17.4.2', '1.3.99.22', '1.97.1.4', '2.1.1.1', '2.1.1.10', '2.1.1.100', '2.1.1.101', '2.1.1.102', '2.1.1.103', '2.1.1.104', '2.1.1.105', '2.1.1.106', '2.1.1.107', '2.1.1.108', '2.1.1.109', '2.1.1.11', '2.1.1.110', '2.1.1.111', '2.1.1.112', '2.1.1.113', '2.1.1.114', '2.1.1.115', '2.1.1.116', '2.1.1.117', '2.1.1.118', '2.1.1.119', '2.1.1.12', '2.1.1.120', '2.1.1.121', '2.1.1.122', '2.1.1.123', '2.1.1.124', '2.1.1.125', '2.1.1.126', '2.1.1.127', '2.1.1.128', '2.1.1.129', '2.1.1.13', '2.1.1.130', '2.1.1.131', '2.1.1.132', '2.1.1.133', '2.1.1.136', '2.1.1.137', '2.1.1.139', '2.1.1.140', '2.1.1.141', '2.1.1.142', '2.1.1.143', '2.1.1.144', '2.1.1.145', '2.1.1.146', '2.1.1.147', '2.1.1.149', '2.1.1.15', '2.1.1.150', '2.1.1.151', '2.1.1.152', '2.1.1.153', '2.1.1.154', '2.1.1.155', '2.1.1.156', '2.1.1.157', '2.1.1.158', '2.1.1.159', '2.1.1.16', '2.1.1.160', '2.1.1.161', '2.1.1.162', '2.1.1.163', '2.1.1.164', '2.1.1.165', '2.1.1.166', '2.1.1.167', '2.1.1.168', '2.1.1.169', '2.1.1.17', '2.1.1.170', '2.1.1.171', '2.1.1.173', '2.1.1.174', '2.1.1.175', '2.1.1.176', '2.1.1.178', '2.1.1.179', '2.1.1.18', '2.1.1.180', '2.1.1.182', '2.1.1.183', '2.1.1.184', '2.1.1.185', '2.1.1.186', '2.1.1.187', '2.1.1.189', '2.1.1.190', '2.1.1.192', '2.1.1.193', '2.1.1.197', '2.1.1.199', '2.1.1.2', '2.1.1.20', '2.1.1.200', '2.1.1.201', '2.1.1.202', '2.1.1.203', '2.1.1.204', '2.1.1.206', '2.1.1.207', '2.1.1.210', '2.1.1.212', '2.1.1.214', '2.1.1.215', '2.1.1.216', '2.1.1.219', '2.1.1.22', '2.1.1.220', '2.1.1.221', '2.1.1.222', '2.1.1.224', '2.1.1.226', '2.1.1.227', '2.1.1.228', '2.1.1.229', '2.1.1.230', '2.1.1.231', '2.1.1.232', '2.1.1.233', '2.1.1.234', '2.1.1.235', '2.1.1.236', '2.1.1.237', '2.1.1.240', '2.1.1.241', '2.1.1.243', '2.1.1.244', '2.1.1.25', '2.1.1.255', '2.1.1.26', '2.1.1.260', '2.1.1.261', '2.1.1.262', '2.1.1.263', '2.1.1.264', '2.1.1.265', '2.1.1.266', '2.1.1.267', '2.1.1.27', '2.1.1.271', '2.1.1.273', '2.1.1.274', '2.1.1.278', '2.1.1.28', '2.1.1.281', '2.1.1.29', '2.1.1.290', '2.1.1.293', '2.1.1.294', '2.1.1.295', '2.1.1.296', '2.1.1.297', '2.1.1.298', '2.1.1.308', '2.1.1.309', '2.1.1.31', '2.1.1.310', '2.1.1.317', '2.1.1.32', '2.1.1.325', '2.1.1.328', '2.1.1.33', '2.1.1.333', '2.1.1.337', '2.1.1.34', '2.1.1.35', '2.1.1.36', '2.1.1.37', '2.1.1.38', '2.1.1.39', '2.1.1.4', '2.1.1.40', '2.1.1.41', '2.1.1.42', '2.1.1.43', '2.1.1.44', '2.1.1.46', '2.1.1.47', '2.1.1.48', '2.1.1.49', '2.1.1.50', '2.1.1.51', '2.1.1.52', '2.1.1.53', '2.1.1.55', '2.1.1.56', '2.1.1.57', '2.1.1.59', '2.1.1.6', '2.1.1.60', '2.1.1.61', '2.1.1.62', '2.1.1.64', '2.1.1.65', '2.1.1.66', '2.1.1.67', '2.1.1.68', '2.1.1.69', '2.1.1.7', '2.1.1.70', '2.1.1.71', '2.1.1.72', '2.1.1.75', '2.1.1.76', '2.1.1.77', '2.1.1.78', '2.1.1.79', '2.1.1.8', '2.1.1.80', '2.1.1.82', '2.1.1.83', '2.1.1.84', '2.1.1.85', '2.1.1.87', '2.1.1.88', '2.1.1.89', '2.1.1.9', '2.1.1.91', '2.1.1.94', '2.1.1.95', '2.1.1.96', '2.1.1.97', '2.1.1.98', '2.1.1.99', '2.1.1.B109', '2.1.1.B74', '2.1.1.B75', '2.1.1.B76', '2.1.1.B84', '2.1.1.B85', '2.1.1.B93', '2.3.1.161', '2.3.1.184', '2.3.1.231', '2.4.99.17', '2.5.1.108', '2.5.1.120', '2.5.1.24', '2.5.1.25', '2.5.1.38', '2.5.1.4', '2.5.1.43', '2.5.1.63', '2.5.1.77', '2.6.1.62', '2.8.1.6', '2.8.1.8', '2.8.4.3', '2.8.4.4', '2.8.4.5', '3.1.21.3', '3.1.21.5', '3.3.1.2', '4.1.1.50', '4.1.99.14', '4.1.99.15', '4.1.99.17', '4.1.99.22', '4.2.1.22', '4.3.1.30', '4.3.99.3', '4.4.1.14', '4.7.1.1', '5.4.3.2', '5.4.99.58'], 'cofactors': ['0UM', '0XU', '0Y0', '0Y1', '0Y2', '36A', '37H', '4IK', '62X', '6NR', '76H', '76J', '76K', '76L', '76M', 'EEM', 'K15', 'SA8', 'SAH', 'SAM', 'SFG', 'SMM', 'SX0', 'TT8']}], 'Tetrahydrofolic acid': [{'EC': ['1.13.11.52', '1.14.13.165', '1.14.14.47', '1.14.16.1', '1.14.16.2', '1.14.16.4', '1.14.16.5', '1.14.18.1', '1.5.1.6', '1.5.3.1', '1.5.8.3', '2.1.1.13', '2.1.1.148', '2.1.1.19', '2.1.1.269', '2.1.1.341', '2.1.1.45', '2.1.2.1', '2.1.2.10', '2.1.2.11', '2.1.2.13', '2.1.2.2', '2.1.2.3', '2.1.2.5', '2.1.2.8', '2.1.2.9', '3.5.3.8', '4.1.99.3'], 'cofactors': ['1YJ', 'C2F', 'FFO', 'FON', 'FOZ', 'THF', 'THG', 'THH']}], 'Thiamine diphosphate': [{'EC': ['1.2.1.51', '1.2.1.58', '1.2.2.2', '1.2.3.13', '1.2.3.3', '1.2.4.1', '1.2.4.2', '1.2.4.4', '1.2.5.1', '1.2.7.1', '1.2.7.10', '1.2.7.11', '1.2.7.3', '1.2.7.8', '2.2.1.1', '2.2.1.12', '2.2.1.3', '2.2.1.4', '2.2.1.5', '2.2.1.6', '2.2.1.7', '2.2.1.9', '2.3.1.12', '2.3.1.190', '2.3.3.15', '2.4.1.12', '2.5.1.66', '2.7.1.78', '2.8.1.6', '3.7.1.11', '3.7.1.2', '4.1.1.1', '4.1.1.43', '4.1.1.47', '4.1.1.50', '4.1.1.7', '4.1.1.71', '4.1.1.72', '4.1.1.74', '4.1.1.75', '4.1.1.79', '4.1.1.8', '4.1.1.82', '4.1.2.22', '4.1.2.35', '4.1.2.38', '4.1.2.9', '4.2.1.113', '4.2.1.3'], 'cofactors': ['1TP', '1U0', '2TP', '5GY', '8EF', '8EL', '8EO', '8FL', '8PA', 'D7K', 'EN0', 'HTL', 'M6T', 'N1T', 'N3T', 'R1T', 'S1T', 'T5X', 'T6F', 'TD6', 'TD7', 'TD8', 'TD9', 'TDK', 'TDL', 'TDM', 'TDP', 'TDW', 'THD', 'THV', 'THW', 'THY', 'TP8', 'TPP', 'TPU', 'TPW', 'TZD', 'WWF']}], 'Topaquinone': [{'EC': ['1.4.3.13', '1.4.3.21', '1.4.3.22'], 'cofactors': ['1TY', '2TY', 'AGQ', 'G27', 'HCC', 'P2Q', 'P3Q', 'TPQ', 'TYQ', 'TYY']}], 'Ubiquinone': [{'EC': ['1.1.5.3', '1.1.5.4', '1.1.5.5', '1.1.99.1', '1.1.99.20', '1.1.99.22', '1.1.99.6', '1.10.2.2', '1.10.3.10', '1.17.5.2', '1.2.5.1', '1.2.5.3', '1.3.1.22', '1.3.5.1', '1.3.5.2', '1.3.5.5', '1.3.98.1', '1.4.5.1', '1.5.5.1', '1.6.5.3', '1.6.5.8', '1.8.1.4', '5.3.4.1'], 'cofactors': ['4YP', 'AT5', 'UQ1', 'UQ2', 'UQ5', 'UQ6']}]})
Uses collections.counter
- Returns
get pdb entry by ligand. Returns the first, which should be lowest e-value
Data for the ligands.
Note that LigandNicker has a get smiles method, that works like this, but is unrelated.
Converts .data
to a pandas dataframe
pyrosetta_help.ligands.load.parameterised_pose_from_file(pdb_filename, wanted_ligands: Union[List[str], Dict[str, Optional[str]]] = , force_parameterisation: bool = False, neutralise_params: bool = True, save_params: bool = True, overriding_params=)
pose loading, the circutous way to not loose ligand or use PDB_component. Assumes all mystery components are PDB residues. Works best with ignore_unrecognized_res False
-
Parameters
-
pdb_filename –
-
wanted_ligands – a list of three letter codes or a dictionary of three letter codes to None or smiles
-
force_parameterisation –
-
neutralise_params – protonated for pH 7
-
save_params –
-
overriding_params – list of params filenames
-
Returns
pyrosetta_help.ligands.load.parameterised_pose_from_pdbblock(pdbblock: str, wanted_ligands: Union[List[str], Dict[str, Optional[str]]] = , force_parameterisation: bool = False, neutralise_params: bool = True, save_params: bool = True, overriding_params=)
pose loading, the circutous way to not loose ligand or use PDB_component. Assumes all mystery components are PDB residues. Works best with ignore_unrecognized_res False
-
Parameters
-
pdb_filename –
-
wanted_ligands – a list of three letter codes or a dictionary of three letter codes to None or smiles
-
force_parameterisation –
-
neutralise_params – protonated for pH 7
-
save_params –
-
overriding_params – list of params filenames
-
Returns
Get the smiles of a ligand. Remember that PDBe smiles need to charged to pH 7.
class pyrosetta_help.ligands.nick.LigandNicker(pdb_filename: Optional[str] = None, pdb_filehandle: Optional[io.IOBase] = None, pdb_block: Optional[str] = None, pose: Optional[pyrosetta.rosetta.core.pose.Pose] = None, chain: str = 'A', wanted_ligands: List[str] = , force_parameterisation: bool = False, neutralise_params: bool = True, save_params: bool = True, overriding_params=)
Bases: object
Given a pdb_file (regular initialisation) or code (.from_pdbcode
classmethod)
and a list of 3-letter codes of wanted residues (wanted_ligands
argument),
it loads it as Pyrosetta Pose (donor_pose
), ready for migrate
to loads the acceptor_pose and nick
the residues that are wanted.
If force_parameterisation
is on it or the residue is novel it parameterises it.
_init_(pdb_filename: Optional[str] = None, pdb_filehandle: Optional[io.IOBase] = None, pdb_block: Optional[str] = None, pose: Optional[pyrosetta.rosetta.core.pose.Pose] = None, chain: str = 'A', wanted_ligands: List[str] = , force_parameterisation: bool = False, neutralise_params: bool = True, save_params: bool = True, overriding_params=)
Initialisation loads the donor. migrate
loads the acceptor.
Unfortunately, I originally wrote it to use pdb_filename only. I should have written the init to accept a pose and a class method the filename. And now some chucks of out there in the wild use pdb_filename. So I could not switch it to something generic. Now it accepts four possible alternative choices: pdb_filename, pdb_filehandle, pdb_block, pose.
-
Parameters
-
pdb_filename –
-
pdb_filehandle –
-
pdb_block –
-
pose –
-
chain –
-
wanted_ligands –
-
force_parameterisation –
-
neutralise_params – pH 7 protonation
-
save_params –
-
overriding_params – overide paramaterisation and use provide params
Given a list of indices for one pose, return their aligned equivalents in the second. Modded to be donor_pose –> acceptor_pose
migrate(acceptor_pose: pyrosetta.rosetta.core.pose.Pose, acceptor_chain: str = 'A', constrained: bool = True, relaxed: bool = True, relax_radius: int = 20, relax_cycles: int = 3)
The acceptor pose is the non-empty pose.
This method aligns the sequences of the acceptor and donor pose.
It finds the mapping of the neighbourhood of the wanted residues of the donor_pose
It superimposes the poses by those residues.
It adds the residues that need nicking.
It adds constraints (optionally) based on the hydrogen bonding of the residues around the wanted residues.
onto the .acceptor_pose
. To check:
print( len(self.acceptor_pose.constraint_set().get_all_constraints()) )
It then optionally relaxes the neighbourhood.
-
Parameters
-
acceptor_pose –
-
acceptor_chain –
-
constrained –
-
relaxed –
-
relax_radius –
-
relax_cycles –
-
Returns
class pyrosetta_help.per_atom.AtomicInteractions(pose: pyrosetta.rosetta.core.pose.Pose, target_idx: int, threshold: int = 3, scorefxn: Optional[pyrosetta.rosetta.core.scoring.ScoreFunction] = None, weighted: bool = True, halved: bool = False)
Bases: object
Gets the per atom energies for the per_atom.
ai = AtomicInteractions(pose, 1) # noqa - pose residue index 1
print(ai.describe_best())
ai.per_atom[(' N ', 2, ' N ')]
Unfortunately, bonding is not taken into account therefore the total is more favourable as these are ignored.
ai.total, ai.expected_total
_init_(pose: pyrosetta.rosetta.core.pose.Pose, target_idx: int, threshold: int = 3, scorefxn: Optional[pyrosetta.rosetta.core.scoring.ScoreFunction] = None, weighted: bool = True, halved: bool = False)
Initialize self. See help(type(self)) for accurate signature.
Bases: object
Initialize self. See help(type(self)) for accurate signature.
Returns alignments.
pyrosetta_help.threading.write_grishin(target_name, target_sequence, template_name, template_sequence, outfile)
pyrosetta_help.threading.thread(target_sequence: str, template_pose: pyrosetta.rosetta.core.pose.Pose, target_pose: Optional[pyrosetta.rosetta.core.pose.Pose] = None, target_name: str = 'target', template_name: str = 'template', fragment_sets: Optional[pyrosetta.rosetta.utility.vector1_std_shared_ptr_core_fragment_FragSet_t] = None, align: Optional[pyrosetta.rosetta.core.sequence.SequenceAlignment] = None)
Given the target sequence and the optional blank target pose (in case there’s some reason for it), thread the sequence against the template pose — which is assumed to be a single chain. Optionally using fragments from fragment_sets. The three outputs are the target_pose, the threader instance and a vector of the residues threaded.
print(threader.frag_libs()[1].nr_frames())
qt = threader.get_qt_mapping(threaded)
print(f'Template residue {21} is residue {q[21]} in target')
-
Parameters
-
target_sequence –
-
template_pose –
-
target_pose –
-
target_name –
-
template_name –
-
fragment_sets –
-
align –
-
Returns
Given a list of integers, returns a list of tuples of ranges (interger pairs).
- Parameters
values –
- Returns
Steals non-Protein residues from donor_pose and adds them to acceptor_pose
Do not use with nucleic acid polymers.
-
Parameters
-
donor_pose –
-
acceptor_pose –
-
Returns
pyrosetta.rosetta.protocols.comparative_modeling.StealLigandMover requires some weird things. This does the same, makes a ligand only pose.
- Parameters
pose –
- Returns