aizynthfinder.context.policy package¶
Submodules¶
aizynthfinder.context.policy.expansion_strategies module¶
Module containing classes that implements different expansion policy strategies
- class aizynthfinder.context.policy.expansion_strategies.ExpansionStrategy(key, config, **kwargs)¶
Bases:
abc.ABC
A base class for all expansion strategies.
The strategy can be used by either calling the get_actions method of by calling the instantiated class with a list of molecule.
expander = MyExpansionStrategy("dummy", config) actions, priors = expander.get_actions(molecules) actions, priors = expander(molecules)
- Parameters
key (str) – the key or label
config (Configuration) – the configuration of the tree search
kwargs (str) –
- Return type
None
- abstract get_actions(molecules, cache_molecules=None)¶
Get all the probable actions of a set of molecules
- Parameters
molecules (Sequence[TreeMolecule]) – the molecules to consider
cache_molecules (Sequence[TreeMolecule]) – additional molecules to submit to the expansion policy but that only will be cached for later use
- Returns
the actions and the priors of those actions
- Return type
Tuple[List[RetroReaction], List[float]]
- reset_cache()¶
Reset the prediction cache
- Return type
None
- class aizynthfinder.context.policy.expansion_strategies.MultiExpansionStrategy(key, config, **kwargs)¶
Bases:
aizynthfinder.context.policy.expansion_strategies.ExpansionStrategy
A base class for combining multiple expansion strategies.
The strategy can be used by either calling the get_actions method or by calling the instantiated class with a list of molecules.
- Variables
expansion_strategy_keys – the keys of the selected expansion strategies
additive_expansion – a conditional setting to specify whether all the actions and priors of the selected expansion strategies should be combined or not. Defaults to False.
- Parameters
key (str) – the key or label
config (Configuration) – the configuration of the tree search
expansion_strategies – the keys of the selected expansion strategies. All keys of the selected expansion strategies must exist in the expansion policies listed in config
kwargs (str) –
- Return type
None
- get_actions(molecules, cache_molecules=None)¶
Get all the probable actions of a set of molecules, using the selected policies.
The default implementation combines all the actions and priors of the selected expansion strategies into two lists respectively if the ‘additive_expansion’ setting is set to True. This function can be overridden by a sub class to combine different expansion strategies in different ways.
- Parameters
molecules (Sequence[TreeMolecule]) – the molecules to consider
cache_molecules (Sequence[TreeMolecule]) –
- Returns
the actions and the priors of those actions
- Raises
PolicyException: if the policy isn’t selected
- Return type
Tuple[List[RetroReaction], List[float]]
- class aizynthfinder.context.policy.expansion_strategies.TemplateBasedExpansionStrategy(key, config, **kwargs)¶
Bases:
aizynthfinder.context.policy.expansion_strategies.ExpansionStrategy
A template-based expansion strategy that will return TemplatedRetroReaction objects upon expansion.
- Variables
template_column – the column in the template file that contains the templates
cutoff_cumulative – the accumulative probability of the suggested templates
cutoff_number – the maximum number of templates to returned
use_rdchiral – a boolean to apply templates with RDChiral
use_remote_models – a boolean to connect to remote TensorFlow servers
rescale_prior – a boolean to apply softmax to the priors
chiral_fingerprints – if True will base expansion on chiral fingerprint
- Parameters
key (str) – the key or label
config (Configuration) – the configuration of the tree search
model – the source of the policy model
template – the path to a HDF5 file with the templates
kwargs (str) –
- Raises
PolicyException – if the length of the model output vector is not same as the number of templates
- Return type
None
- get_actions(molecules, cache_molecules=None)¶
Get all the probable actions of a set of molecules, using the selected policies and given cutoffs
- Parameters
molecules (Sequence[TreeMolecule]) – the molecules to consider
cache_molecules (Sequence[TreeMolecule]) – additional molecules to submit to the expansion policy but that only will be cached for later use
- Returns
the actions and the priors of those actions
- Return type
Tuple[List[RetroReaction], List[float]]
- reset_cache()¶
Reset the prediction cache
- Return type
None
aizynthfinder.context.policy.filter_strategies module¶
Module containing classes that implements different filter policy strategies
- class aizynthfinder.context.policy.filter_strategies.FilterStrategy(key, config, **kwargs)¶
Bases:
abc.ABC
A base class for all filter strategies.
The filter can be applied by either calling the apply method of by calling the instantiated class with a reaction.
filter = MyFilterStrategy("dummy", config) filter.apply(reaction) filter(reaction)
- Parameters
key (str) – the key or label
config (Configuration) – the configuration of the tree search
kwargs (Any) –
- Return type
None
- abstract apply(reaction)¶
Apply the filter on the reaction. If the reaction should be rejected a RejectionException is raised
- Parameters
reaction (RetroReaction) – the reaction to filter
- Raises
if the reaction should be rejected.
- Return type
None
- class aizynthfinder.context.policy.filter_strategies.QuickKerasFilter(key, config, **kwargs)¶
Bases:
aizynthfinder.context.policy.filter_strategies.FilterStrategy
Filter quick-filter trained on artificial negative data
- Variables
use_remote_models – a boolean to connect to remote TensorFlow servers. Defaults to False.
filter_cutoff – the cut-off value
- Parameters
key (str) – the key or label
config (Configuration) – the configuration of the tree search
model – the source of the policy model
kwargs (Any) –
- Return type
None
- apply(reaction)¶
Apply the filter on the reaction. If the reaction should be rejected a RejectionException is raised
- Parameters
reaction (RetroReaction) – the reaction to filter
- Raises
if the reaction should be rejected.
- Return type
None
- feasibility(reaction)¶
Computes if a given reaction is feasible by given the reaction fingerprint to a network model
- Parameters
reaction (RetroReaction) – the reaction to query
- Returns
if the reaction is feasible
- Return type
Tuple[bool, float]
- class aizynthfinder.context.policy.filter_strategies.ReactantsCountFilter(key, config, **kwargs)¶
Bases:
aizynthfinder.context.policy.filter_strategies.FilterStrategy
Check that the number of reactants is was expected from the template
- Parameters
key (str) – the key or label
config (Configuration) – the configuration of the tree search
kwargs (Any) –
- Return type
None
- apply(reaction)¶
Apply the filter on the reaction. If the reaction should be rejected a RejectionException is raised
- Parameters
reaction (RetroReaction) – the reaction to filter
- Raises
if the reaction should be rejected.
- Return type
None
aizynthfinder.context.policy.policies module¶
Module containing classes that interfaces neural network policies
- class aizynthfinder.context.policy.policies.ExpansionPolicy(config)¶
Bases:
aizynthfinder.context.collection.ContextCollection
An abstraction of an expansion policy.
This policy provides actions that can be applied to a molecule
- Parameters
config (Configuration) – the configuration of the tree search
- Return type
None
- get_actions(molecules, cache_molecules=None)¶
Get all the probable actions of a set of molecules, using the selected policies
- Parameters
molecules (Sequence[TreeMolecule]) – the molecules to consider
cache_molecules (Sequence[TreeMolecule]) – additional molecules that potentially are sent to the expansion model but for which predictions are not returned
- Returns
the actions and the priors of those actions
- Raises
PolicyException: if the policy isn’t selected
- Return type
Tuple[List[RetroReaction], List[float]]
- load(source)¶
Add a pre-initialized expansion strategy object to the policy
- Parameters
source (aizynthfinder.context.policy.expansion_strategies.ExpansionStrategy) – the item to add
- Return type
None
- load_from_config(**config)¶
Load one or more expansion policy from a configuration
The format should be key:
type: name of the expansion class or custom_package.custom_model.CustomClass model: path_to_model template: path_to_templates other settings or params
or key:
path_to_model
path_to_templates
- Parameters
config (Any) – the configuration
- Return type
None
- reset_cache()¶
Reset the cache on all loaded policies
- Return type
None
- class aizynthfinder.context.policy.policies.FilterPolicy(config)¶
Bases:
aizynthfinder.context.collection.ContextCollection
An abstraction of a filter policy.
This policy provides a query on a reaction to determine whether it should be rejected
- Parameters
config (Configuration) – the configuration of the tree search
- Return type
None
- apply(reaction)¶
Apply the all the selected filters on the reaction. If the reaction should be rejected a RejectionException is raised
- Parameters
reaction (RetroReaction) – the reaction to filter
- Raises
if the reaction should be rejected or if a policy is selected
- Return type
None
- load(source)¶
Add a pre-initialized filter strategy object to the policy
- Parameters
source (aizynthfinder.context.policy.filter_strategies.FilterStrategy) – the item to add
- Return type
None
- load_from_config(**config)¶
Load one or more filter policy from a configuration
The format should be key:
type: name of the filter class or custom_package.custom_model.CustomClass model: path_to_model other settings or params
or key: path_to_model
- Parameters
config (Any) – the configuration
- Return type
None
aizynthfinder.context.policy.utils module¶
Module containing helper routines for policies
Module contents¶
Sub-package containing policy routines