aizynthfinder.search package¶
Subpackages¶
Submodules¶
aizynthfinder.search.andor_trees module¶
Module for base classes for AND/OR trees and some tree utility code
- class aizynthfinder.search.andor_trees.TreeNodeMixin¶
Bases:
object
A mixin class for node in a tree
- property prop: StrDict¶
Dictionary with publicly exposed properties
- property children: List['TreeNodeMixin']¶
List of children nodes
- class aizynthfinder.search.andor_trees.AndOrSearchTreeBase(config, root_smiles=None)¶
Bases:
abc.ABC
A base class for a search tree based on an AND/OR structure
- Parameters
config (Configuration) –
root_smiles (Optional[str]) –
- Return type
None
- property mol_nodes: List[TreeNodeMixin]¶
Return the molecule nodes of the tree
- abstract one_iteration()¶
Perform one iteration of the search
- Return type
bool
- abstract routes()¶
Return the routes of the tree
- Return type
List[ReactionTree]
- class aizynthfinder.search.andor_trees.SplitAndOrTree(root_node, stock, max_routes=25000)¶
Bases:
object
Encapsulation of an algorithm to split an AND/OR tree into separate routes
This is a modified algorithm of the one detailed in the CompRet paper: Shibukawa et al. (2020) J. Cheminf. 12, 52
This implementation sets an upper-bound on the number of extracted routes to avoid combinatorial explosion.
The routes are extracted on instantiation and the routes can be access from the routes attribute.
- Parameters
root_node (TreeNodeMixin) – the root of the AND/OR tree
stock (Stock) – the stock of the search
max_routes (int) – the maximum number of routes to extract
- Return type
None
- class aizynthfinder.search.andor_trees.ReactionTreeFromAndOrTrace(*args, **kwargs)¶
Bases:
aizynthfinder.reactiontree.ReactionTreeLoader
Creates a reaction tree object from an AND/OR Trace
- Parameters
args (Any) –
kwargs (Any) –
- Return type
None