All notable changes to the project are documented in this file.
The format follows Common Changelog, and the project adheres to Semantic Versioning.
- Reuse search results when given a partially filled directory (#98) (@kmaziarz)
- Expose
stop_on_first_solution
as 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)
- Pin further Chemformer dependencies to avoid
torch
reinstallation (#108) (@kmaziarz) - Shift the
pandas
dependency to the external model packages (#94) (@kmaziarz) - Fix constructor arguments in
ParallelReactionModel
(#96) (@kmaziarz)
0.4.1 - 2024-05-04
- Fix incorrectly uploaded RetroKNN weights (#91) (@kmaziarz)
- Fix GLN weights and issues in its model wrapper (#92) (@kmaziarz)
0.4.0 - 2024-04-10
- Merge reaction and reaction model base classes in
search
andreaction_prediction
(#63, #67, #73, #74, #76, #84) (@austint, @kmaziarz) - Make reaction models return
Sequence[Reaction]
instead ofPredictionList
objects (#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
interface
importable from top-level (#81) (@austint)
- 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_nodes
to base search algorithm class to stop search after the search graph exceeds a certain number of nodes (#85) (@austint)
- Fix small issues in Chemformer, MEGAN and RootAligned (#80) (@kmaziarz)
- Get all single-step models to work on CPU (#57) (@kmaziarz)
- Make the data loader class work with relative paths (#69) (@kmaziarz)
0.3.0 - 2023-12-19
- 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)
- Add a general CLI endpoint (#44) (@kmaziarz)
- Add support for PDVN to the search CLI (#46) (@fiberleif)
- Add initial static documentation (#45) (@kmaziarz)
0.2.0 - 2023-11-21
- 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)
- 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
*.csv
and*.smi
formats 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
SynthesisGraph
objects (#36) (@austint)
- 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
pydantic
version to1.*
(#10) (@kmaziarz) - Fix compatibility with Python 3.7 (#5) (@kmaziarz)
- Correct some typos and unclear error messages (#39) (@austint)
0.1.0 - 2023-05-25
🌱 Initial public release, containing several multi-step search algorithms and a minimal interface for single-step models.