schrodinger.application.pathfinder.analysis module¶
A module to perform retrosynthetic analysis.
Examples:
# retrosynthetic analysis
reactions = reaction.read_reactions_file('reactions.json')
retrosynthesis = analysis.retrosynthesize(amide, reactions)
print(retrosynthesis.asString())
for route in retrosynthesis.getRoutes():
print(route.asString())
print("Starting materials:")
for sm in route.getStartingNodes():
print("-", sm)
route.write('route.json')
-
schrodinger.application.pathfinder.analysis.
retrosynthesize
(target_mol, reactions_dict, max_depth=1, exclude=None, require_bonds=None, frozen_atoms=None, broken_bonds=None, fragments=None, label_attachment_atoms=False)¶ Generate a retrosynthetic tree to the desired depth based on the target molecule.
Parameters: - reactions_dict (dict {str: Reaction}) – Reaction dictionary by name.
- exclude (set of str) – Set of tags or reaction names to exclude. Tags are matched exactly; names are matched using shell globbing (*, ?, []).
- require_bonds (set of tuple of int) – If provided, only reactions which break at least one bond in this set will be used for the analysis. Each bond is a sorted tuple of two 1-based atom indexes.
- frozen_atoms (set of int) – If provided, reactions which break any bond between two atoms in this set are skipped.
- broken_bonds (set of (int, int)) – If provided, this set will be filled with pairs of atom indexes for all the bonds that were broken during the analysis.
- fragments (set of tuple of int) – If provided, this set will be filled with tuples of atom indexes for the fragments identified during the analysis. “Fragment” here is understood as a subset of atoms in the original molecule that is also present in a precursor.
- label_attachment_atoms – if true, add atom mapping numbers to “attachment atoms”, which are atoms that were present in the target molecule and which were involved in any broken bond.
Return type: RetrosynthesisNode
-
schrodinger.application.pathfinder.analysis.
reaction_is_excluded
(reaction, exclude)¶ Check if a reaction meets any of the exclusion criteria.
Parameters: exclude (set of str) – Set of tags or reaction names to exclude. Tags are matched exactly; names are matched using shell globbing (*, ?, []). Returns: True if reaction is meets any of the exclusion criteria Return type: bool
-
schrodinger.application.pathfinder.analysis.
filter_reactions
(reactions, exclude)¶ Return a shallow copy of a list of reactions, filtering out those matching any of the exclusion criteria.
Parameters: exclude (set of str) – Set of tags or reaction names to exclude. Tags are matched exactly; names are matched using shell globbing (*, ?, []). Return type: list of reaction