Skip to content

Releases: microsoft/syntheseus

syntheseus 0.7.2

30 Jan 13:17
1089cb7

Choose a tag to compare

This is a bugfix release, addressing recent issues with automatic checkpoint downloading.

Fixed

syntheseus 0.7.1

09 Jan 11:11
d68987b

Choose a tag to compare

This is a minor refactoring release, useful for the future integration of models from microsoft/retrochimera.

Changed

syntheseus 0.7.0

06 Nov 13:23
c5c63c0

Choose a tag to compare

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

  • Expose RootAligned's utility for building prediction kwargs (#138) ([@kmaziarz])

syntheseus 0.6.0

24 Sep 12:39
545a15f

Choose a tag to compare

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 SmilesListInventory from file (#124) ([@kmaziarz])

Fixed

  • Fix search CLI crash under Python 3.11+ (#114) ([@kmaziarz])
  • Query the underlying reaction model in a fixed order (#122) ([@kmaziarz])

syntheseus 0.5.0

28 Nov 16:05
4993801

Choose a tag to compare

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_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])

Fixed

  • Install torch_scatter from conda instead of pip (#110) ([@kmaziarz])
  • Remove dependency on typing_extensions for Python 3.8+ (#107) ([@AustinT])
  • 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])

syntheseus 0.4.1

04 May 21:27
58a6326

Choose a tag to compare

This bugfix release fixes major issues with RetroKNN and GLN.

Fixed

  • Fix incorrectly uploaded RetroKNN weights (#91) ([@kmaziarz])
  • Fix GLN weights and issues in its model wrapper (#92) ([@kmaziarz])

syntheseus 0.4.0

10 Apr 22:27
85cf761

Choose a tag to compare

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 search and reaction_prediction (#63, #67, #73, #74, #76, #84) ([@AustinT], [@kmaziarz])
  • Make reaction models return Sequence[Reaction] instead of PredictionList 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])

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_nodes to base search algorithm class to stop search after the search graph exceeds a certain number of nodes (#85) ([@AustinT])

Fixed

  • 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])

syntheseus 0.3.0

20 Dec 02:01
8b8f22b

Choose a tag to compare

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

21 Nov 18:32
6e63ee5

Choose a tag to compare

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 *.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])

Fixed

syntheseus 0.1.0

13 Jun 13:44

Choose a tag to compare

🌱 Initial public release, containing several multi-step search algorithms and a minimal interface for single-step models.