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
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

Module contents