- ReactantsCountFiler (Github issue 42) to filter reactions with incompatible number of reactants
- ForwardRegenerationFiler to filter reactions where the forward reaction is incompatible
- Possible to skip quick Keras filter for specific policies
- Possible to select more than one policy in the GUI application
- Reaction classes has a hash function
- Possible to extract sub trees from ReactionTree objects
- RDKit can be used instead of RDChiral for expansions
- Possible to use more than depth 6 in the GUI application
- Fix failure in MctsNode class when expansion policy return no molecules
- Update type hints to be compatible with latest numpy release
- Update route-distances dependency
- Generalized expansion and filter policies - policies no longer need to be Keras models
- Updated image generation for synthesis routes
- Improved code to prune "regeneration reactions" in MCTS (Github issue 38)
- Reactants are sorted in output from ReactionTree class
- New arguments to the "aizynthcli" tool
- Introduce option to return all solved routes from a TreeAnalysis class
- Package structure re-factorization
- Behaviour of RetroReaction, FilterPolicy and ExpansionPolicy classes has been changed
- Configuration class holding search tree settings is no longer loading settings from yaml-file on instantiation
- Removed MCTS-specific routines in the TreeAnalysis class
- Removed code for identifying cycles in ReactionTree
- Remove JSON interface to AiZynthFinder class
- Fixed property assignment when converting MCTS node to ReactionTree
- Documentation updates
- Extensive re-factoring of test cases
- Add
AiZynthExpander
class as public interface to single-step reactions - Route distance calculations and clustering is now dependent on package
route-distances
- Route distance calculations with ML model is now supported
- Reaction tree objects now has property
is_branched
- Introduce an interface for search algorithm working on AND/OR trees
- The progress bar is now removed upon completion of the tree search
- Move
ReactionTree
class to a new module (this will not brake backwards compatibility)
- Fix for Github issue #28 for a training script
scikit-learn
is now imported beforetensorflow
, according to Github issue 30
- Simplified interfaces for some internal classes
- Type hints have been added to the source code
- poetry is now used for dependency management
- Update of black version causing some re-formatting
- Small changes to documentation
- Add option to timeout distance calculation of route collections
- Include templates for producing routes in package
- Add support for clustering of routes
- Add new scorers for total price and route score
- Add support for adding stop criteria to all stocks
- Add stop criteria UI for Jupyter notebook
- Refactor handling of MongoDB instances
- Refactor code to connect with REST and gRPC servers
- Possibility to extract a combined tree for all predicted routes
- New classes to use Tensorflow servers as policies
- Improved code for route visualizaition
- The
Reaction
class is renamed toRetroReaction
- The
Policy
class is renamed toExpansionPolicy
config
,stock
,policy
andscoring
modules moved toaizynthfinder.context
package- Tool "preprocess_rollout" is now called "preprocess_expansion"
- Some of the public methods of
Stock
,Policy
andScorerCollection
classes are renamed - Setting target molecule now destroys the search tree
- Add a filter policy to MCTS to remove unfeasible reactions
- Add tools to train filter policy
- Add logic to prevent cycle forming in MCTS by rejecting creation of parent molecule when expanding
- Introduce new
context
subpackage that contains theconfig
,stock
,policy
andscoring
modules - The
Stock
,ExpansionPolicy
,FilterPolicy
andScorerCollection
classes now has a common interface for selection and loading - Introduce possibility to remove unsantizable reactions from template library when training
- Catch exceptions from RDChiral more gracefully
- Add score "number of pre-cursors"
- Add score "number of pre-cursors in stock"
- Enable the loading of MCTS configuration from dict
- Fix bug in State score for branched reaction trees
- Fix bug in "Number of reaction" score for branched MCTS trees
- Fix bug in Jupyter GUI when selecting policies of several available
- Update python requirement specifications
- Introduce a route scoring framework
- Flag repetetive patterns in routes so they can be hidden
- Enable possibility to use more than one rollout policy
- Add --nproc argument to aizynthcli to enable trivial multiprocessing
- Add missing serialization of reaction metadata
- Add consistency check between rollout neural network and template list
- First public version