Package CHEM :: Package CombiCDB :: Module SynthesisUtil
[hide private]
[frames] | no frames]

Module SynthesisUtil



Assorted support classes and utilities for the synthesis design modules

Classes [hide private]
  BaseReactantPool
Base class defining what a reactant pool must do to satisfy the needs of the RetroSynthesis class.
  SimpleReactantPool
Simple reactant pool just initialized in memory by a list of SMILES strings, using simple Tanimoto / Tversky similarity measure.
  ChemDBReactantPool
Use the ChemDB database as the reactant pool, using similarity search servers and the database to identify similar compounds.
  BaseScoreAggregator
Base class for deriving some aggrevate score from a list of scores
  MinimumScoreAggregator
Score aggregator that seeks to minimize the maximum loss.
  AverageScoreAggregator
Score aggregator that summarizes the list of scores by taking the average
  BaseRetroProductSelector
Base class to define how a retro product selector should behave.
  GreedyRetroProductSelector
Generates all posible retro-products (1-level deep), but only returns the top K results, with precedence defined by a respective similarity search measure on available reactants in the reactant pool.
  ExhaustiveRetroProductSelector
Generates all posible retro-products (1-level deep), and just returns all of them to indicate an exhaustive exploration of the search space.
Functions [hide private]
 
synthesisTreeTableFromReactionSteps(reactionSteps)
Given a collection of reaction steps (3-ples with a list of reactants, reagent, list of products), construct a tree table based on the implied series of reactants -> products.
 
addSynthesisTreeTableSubRows(product, treeTable, reactionStepsByProduct, depth=0)
Recursive function to do most of the work of building the synthesis tree table
 
analyzeProductMixture(productList, target=None)
Given a list of product molecules, figure out how many different products there are, both considering and not considering stereoisomers as different.
 
precursorStatistics(precursorList)
Collect some statistics regarding properties of the proposed precursors (or any collection of molecules).
Function Details [hide private]

synthesisTreeTableFromReactionSteps(reactionSteps)

 

Given a collection of reaction steps (3-ples with a list of reactants, reagent, list of products), construct a tree table based on the implied series of reactants -> products.

Presumably the "reactants" and "products" are SMILES strings, but that is not strictly encorced. Just assume they're something that can be used to key dictionary objects.

analyzeProductMixture(productList, target=None)

 

Given a list of product molecules, figure out how many different products there are, both considering and not considering stereoisomers as different. If an intended target product is provided, also indicate how many unintended side products not matching the target were observed. Considering complete different products and those that are just stereoisomers.

Return these stats as a tuple: (distinctProducts, distinctIsmProducts, unintendedProducts, unintendedStereoisomers)

precursorStatistics(precursorList)

 
Collect some statistics regarding properties of the proposed precursors (or any collection of molecules). These would be the kind of statistics of interest for suggesting favorable retrosynthetic pathways. Returned as a dictionary of named value pairs.