Skip to content

Enhance SMILES decoding and inference capabilities#28

Open
T4ras123 wants to merge 1 commit into
mainfrom
universal-decoding-inference-main-pr
Open

Enhance SMILES decoding and inference capabilities#28
T4ras123 wants to merge 1 commit into
mainfrom
universal-decoding-inference-main-pr

Conversation

@T4ras123

Copy link
Copy Markdown
Contributor

This pull request introduces a flexible and extensible decoding framework for molecular conformer generation, allowing support for multiple serialization schemes (cartesian, cartesian_binned, uniform, quantile) and configuration via CLI or config files. It refactors the decoding logic in both single and multi-conformer inference pipelines, introduces a new BinConfig dataclass for bin configuration, and expands test set and CLI options.

Key changes:

Decoding Framework & Logic

  • Introduced a unified decode_conformer_by_serialization function in smiles_encoder_decoder.py to handle decoding for various serialization schemes, including new support for "uniform" and "quantile" binning using configuration files. (decode_conformer_by_serialization, BinConfig, decode_cartesian_with_config) [1] [2]
  • Added normalize_serialization_tag to standardize and validate serialization mode input.
  • Updated all inference and multi-conformer inference pipelines to use the new decoding interface, passing serialization tags and bin config paths as needed. [1] [2] [3] [4] [5]

Configuration and CLI Improvements

  • Added CLI arguments and config support for specifying serialization scheme (serialization_tag) and paths to uniform/quantile bin configuration files, both for single and multi-conformer inference. [1] [2] [3] [4] [5]
  • The inference pipeline now auto-detects and harmonizes binned and serialization_tag to ensure consistent decoding. [1] [2]

Test Set Handling

  • Added support for the "revisited" test set and improved handling for various test set formats in inference. [1] [2]

Utility and Robustness

  • Enhanced strip_smiles to remove [SERIALIZATION]...[/SERIALIZATION] tags for cleaner input.
  • Added missing imports and improved type annotations for clarity and maintainability. [1] [2] [3]

These changes make the codebase more modular, easier to extend with new serialization schemes, and more user-friendly for both research and production settings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant