github Laboratoire-de-Chemoinformatique/SynPlanner v1.3.0

latest release: v1.3.1
one day ago

Changelog

Breaking Changes

  • Search algorithms separated from Tree: Removed Tree._expand_multiple_nodes and Tree._expand_node internal methods. Search algorithms now live in synplan/mcts/algorithm.py as separate strategy classes.
  • Evaluation system refactored: Replaced NodeScore with RDKitScore class. Evaluation functions unified through EvaluationService. Configuration now uses evaluation_function parameter with backward compatibility.
  • Tree config changes: New required parameters added (algorithm, search_strategy, ucb_type, c_ucb, backprop_type, evaluation_agg, epsilon, beam_width, normalize_scores, stop_at_first, enable_pruning). Old configs may need updates.

Added

  • New search algorithms module (synplan/mcts/algorithm.py): UCT, NestedMonteCarlo, LazyNestedMonteCarlo, Beam, BestFirst, BreadthFirst
  • RDKit evaluation utilities (synplan/chem/rdkit_utils.py): RDKitScore class for molecular scoring
  • Parallel utilities (synplan/utils/parallel.py): Parallel processing helpers
  • Algorithm unit tests (tests/unit/mcts/test_algorithm.py)
  • GUI/CLI improvements: Updated interfaces for better usability

Performance Improvements

  • Parallel building blocks loading: Added parallel loading of building blocks

Changed

  • Evaluation system: Unified node evaluation through EvaluationService, consistent value aggregation
  • Tree architecture: Search logic separated from tree structure for better modularity
  • Configuration files: Updated configs/planning.yaml and configs/tuning.yaml with new parameters
  • Docker: Simplified Dockerfiles and build workflows
  • Tutorials: Updated all tutorial notebooks and user guide

Don't miss a new SynPlanner release

NewReleases is sending notifications on new releases.