Releases: microsoft/syntheseus
syntheseus 0.7.2
syntheseus 0.7.1
This is a minor refactoring release, useful for the future integration of models from microsoft/retrochimera.
Changed
syntheseus 0.7.0
This release upgrades all single-step models to use torch 2.x. It also reduces start-up time for multi-step search when using large building block sets.
Changed
- Upgrade all single-step models to
torch 2.2(#137) ([@kmaziarz]) - Optimize the internal representation of a
SmilesListInventory(#135) ([@kmaziarz]) - Suppress warnings produced by single-step models on newer environments (#141) ([@kmaziarz])
Added
syntheseus 0.6.0
This release includes further usability improvements (mostly related to search), and drops support for Python 3.7.
Changed
- Drop support for Python 3.7 (#113) ([@kmaziarz])
- Refactor search CLI to make it easier to access programmatically (#126) ([@kmaziarz])
Added
- Implement option to expand target even when purchasable (#130) ([@kmaziarz])
- Support LRU cache eviction for reaction models (#127) ([@kmaziarz])
- Add a utility to load a
SmilesListInventoryfrom file (#124) ([@kmaziarz])
Fixed
syntheseus 0.5.0
This release mostly comprises search CLI usability improvements and fixes for installation-related issues. It is also the last version to support Python 3.7.
Changed
Added
- Reuse search results when given a partially filled directory (#98) ([@kmaziarz])
- Expose
stop_on_first_solutionas a CLI flag (#100) ([@kmaziarz]) - Add an option to set time limit for route extraction (#104) ([@kmaziarz])
- Extend single-step evaluation with stereo-agnostic results (#102) ([@kmaziarz])
Fixed
- Install
torch_scatterfrom conda instead of pip (#110) ([@kmaziarz]) - Remove dependency on
typing_extensionsfor Python 3.8+ (#107) ([@AustinT]) - Pin further Chemformer dependencies to avoid
torchreinstallation (#108) ([@kmaziarz]) - Shift the
pandasdependency to the external model packages (#94) ([@kmaziarz]) - Fix constructor arguments in
ParallelReactionModel(#96) ([@kmaziarz])
syntheseus 0.4.1
syntheseus 0.4.0
This release largely simplifies the interaction between reaction prediction and search, merging the duplicated abstractions. It also significantly improves docs and tutorials, and integrates a new Graph2Edits model class.
Changed
- Merge reaction and reaction model base classes in
searchandreaction_prediction(#63, #67, #73, #74, #76, #84) ([@AustinT], [@kmaziarz]) - Make reaction models return
Sequence[Reaction]instead ofPredictionListobjects (#61) ([@AustinT]) - Suppress the remaining noisy logs and warnings coming from single-step models (#53) ([@kmaziarz])
- Improve efficiency and logging of retro* algorithm (#62) ([@AustinT])
- Improve error handling in single-step evaluation and allow CLI to use the default checkpoints (#75) ([@kmaziarz])
- Make basic classes from
interfaceimportable from top-level (#81) ([@AustinT])
Added
- Integrate the Graph2Edits model (#65, #66) ([@kmaziarz])
- Improve the docs and add tutorials (#54, #77, #78, #79, #82) ([@kmaziarz], [@AustinT])
- Add random search algorithm as a simple baseline (#83) ([@AustinT])
- Add optional argument
limit_graph_nodesto base search algorithm class to stop search after the search graph exceeds a certain number of nodes (#85) ([@AustinT])
Fixed
syntheseus 0.3.0
This release makes significant progress in terms of making the single-step models easier to setup and use. It also adapts the package to be compatible with being published to PyPI.
Changed
- Simplify single-step model setup (#41, #48) ([@kmaziarz])
- Refactor single-step evaluation script and move it to cli/ (#43) ([@kmaziarz])
- Return model predictions as dataclasses instead of pydantic models (#47) ([@kmaziarz])
- Make the package compatible with PyPI (#50) ([@kmaziarz])
Added
syntheseus 0.2.0
This release introduces significant new functionality compared to v0.1.0, including the addition of the single-step evaluation framework, its integration with search, and an implementation of PDVN. On top of this, it also includes several other improvements and bug fixes.
Changed
- Select search hyperparameters depending on which algorithm and single-step model are used (#30) ([@kmaziarz])
- Improve the heuristic used for estimating diversity (#22, #28) ([@kmaziarz])
Added
- Add code for PDVN MCTS and extracting training data for policies and value functions (#8) ([@AustinT], [@fiberleif])
- Add a top-level CLI for running end-to-end search (#26) ([@kmaziarz])
- Release single-step evaluation framework and wrappers for several model types (#14, #15, #20, #32, #35) ([@kmaziarz])
- Release checkpoints for all supported single-step model types (#21) ([@kmaziarz])
- Support
*.csvand*.smiformats for the single-step evaluation data (#33) ([@kmaziarz]) - Implement node evaluators commonly used in MCTS and Retro* (#23, #27) ([@kmaziarz])
- Add option to terminate search when the first solution is found (#13) ([@AustinT])
- Add code to extract routes in order found instead of by minimum cost (#9) ([@AustinT])
- Declare support for type checking (#4) ([@kmaziarz])
- Add method to extract precursors from
SynthesisGraphobjects (#36) ([@AustinT])
Fixed
- Fix bug where standardizing MolSetGraphs crashed (#24) ([@AustinT])
- Guard against rare issues in MEGAN and LocalRetro (#29, #31) ([@kmaziarz])
- Change default node depth to infinity (#16) ([@AustinT])
- Adapt tutorials to the renaming from PR #9 (#17) ([@jagarridotorres])
- Pin
pydanticversion to1.*(#10) ([@kmaziarz]) - Fix compatibility with Python 3.7 (#5) ([@kmaziarz])
- Correct some typos and unclear error messages (#39) ([@AustinT])
syntheseus 0.1.0
🌱 Initial public release, containing several multi-step search algorithms and a minimal interface for single-step models.