Changelog¶
All notable changes to MOLRAPTOR will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.4.1 - 2026-07-26¶
Added¶
- Added the public
ResolvedFingerprintProfilecontract andresolve_fingerprint_profile()API for resolving effective fingerprint profiles, widths, and canonical profile hashes without encoding SMILES. - Exposed
FingerprintTypeandFINGERPRINT_TYPESthrough the top-level package API.
Changed¶
- Centralized fingerprint-profile validation and canonical hash resolution so profile inspection and fingerprint encoding use the same scientific metadata source.
- Made resolved profiles read-only while preserving
FingerprintEncodingResult.profileas a standard dictionary for backward compatibility. - Expanded regression coverage to preserve all seven v0.4.0 default-profile hashes and fingerprint outputs.
Fixed¶
- Updated the CI public import boundary to include the new supported API symbols.
0.4.0 - 2026-07-25¶
Added¶
- Added unified support for Morgan, Feature Morgan, Atom Pair, RDKit topological, Topological Torsion, Layered, and MACCS fingerprints.
- Added fingerprint selection through the CLI
--fingerprintoption and the Pythonfingerprint_typeconfiguration. - Added fixed, serializable effective profiles for non-Morgan fingerprints while preserving configurable Morgan settings.
- Added focused coverage for fingerprint dispatch, profiles, CLI selection, output dimensions, configuration validation, and removed module routes.
Changed¶
- Replaced the Morgan-only scientific implementation with the unified
molraptor/fingerprints.pycore. - Kept Morgan as the default fingerprint and preserved compatibility with
the existing positional
MorganFingerprintProfilecontract. - Renamed the CSV/TXT and artifact-writing implementation from
fingerprint.pytoworkflow.py. - Standardized one fingerprint type per execution with binary
numpy.uint8matrices and natural fingerprint widths. - Made Morgan-only CLI and configuration settings fail explicitly when supplied for another fingerprint type.
- Updated the project identity to
MOLRAPTOR: Molecular Fingerprint Rapid Generator. - Updated the README, API reference, usage guide, documentation homepage, citation metadata, and package description for multi-fingerprint support.
Removed¶
- Removed the historical
molraptor.morganmodule route. - Removed the historical
molraptor.fingerprintmodule route.
0.3.0 - 2026-07-20¶
Added¶
- Added a SMILES-only file workflow for CSV and UTF-8 TXT inputs.
- Added direct CLI configuration through
--input,--smiles-column,--output-dir,--radius,--fp-size, and--include-chirality. - Added the stable output artifact set:
fingerprints.npy,fingerprints.csv,input_statuses.csv, andencoding_metadata.json. - Added per-input validation status with explicit mapping between original
input_indexvalues and valid fingerprint matrix rows. - Added workflow metadata for source format, source filename, effective Morgan profile, matrix shape and dtype, runtime versions, and deterministic ordered input and profile hashes.
- Added CLI coverage and expanded tests for CSV/TXT parsing, output publication, invalid-input isolation, metadata, and the public API.
Changed¶
- Reoriented MOLRAPTOR as a SMILES-first scientific library and command-line tool for reproducible Morgan fingerprint generation.
- Unified the command-line interface and file workflow around the public
in-memory
encode_fingerprintsscientific core. - Preserved exact input order and duplicates while allowing invalid individual SMILES to be excluded without discarding valid fingerprint rows.
- Standardized binary fingerprint matrices as
numpy.uint8with shape(N_valid, fp_size). - Updated the default Morgan profile to radius 2, 2048 bits, and chirality disabled unless explicitly requested.
- Updated the NumPy requirement to
numpy>=2.4. - Rewrote the README and MkDocs documentation for the v0.3.0 architecture, CLI, public API, input contract, outputs, failure handling, and scientific boundary.
- Updated public API docstrings and release metadata for v0.3.0.
Removed¶
- Removed PubChem retrieval and CID-driven workflows.
- Removed YAML configuration and the legacy fetch, curate, integrity, result-management, and multi-stage pipeline components.
- Removed activity-label handling and legacy outputs such as
labels.npy,morgan_fp.csv,morgan_db_*.npy, andsummary.txt. - Removed
rdkit_canonical_smilesfrom the public and internal status contracts. - Removed deleted legacy modules including
fetch.py,pubchem.py,curate.py,fp_integrity.py, andresult_manager.py.
Fixed¶
- Replaced the obsolete CLI pipeline import path with the current SMILES-only workflow, resolving the startup failure reported in issue #2.
0.2.0 - 2026-07-16¶
Added¶
- Added a public, in-memory API for generating binary Morgan fingerprints from ordered SMILES.
- Added
MorganFingerprintProfile,FingerprintEncodingResult,FingerprintInputStatus, andencode_fingerprintsto the public API. - Added explicit profile serialization, deterministic input and profile hashes, RDKit and MOLRAPTOR version metadata, and traceable valid/invalid input status.
- Added focused tests for in-memory fingerprint encoding and the file-based fingerprint step.
Changed¶
- Refactored the file-based fingerprint pipeline to reuse the public Morgan encoder instead of maintaining a separate implementation.
- Preserved CSV and NPY outputs for valid datasets.
- Made the file-based pipeline reject invalid SMILES before writing fingerprint or label artifacts.
- Documented the distinction between the in-memory library API and the file-based pipeline.
- Updated CI public-API checks for the new exported symbols.
0.1.1 - 2026-05-28¶
Added¶
CITATION.cfffor software citation metadata.CHANGELOG.mdto track project history.
Changed¶
- License changed from MIT to GNU LGPL v3 or later (
LGPL-3.0-or-later). pyproject.toml: version updated to0.1.0and Python requirement lowered to>=3.11.
0.1.0 - 2025-06-12¶
Added¶
- Initial pre-release of MOLRAPTOR (formerly tagged as
v1.0.0). - Modular pipeline architecture: fetch → curate → fingerprint → validate.
- PubChem REST API integration via
PubChemService. - Morgan fingerprint generation using RDKit (
GetMorganGenerator). - YAML-based configuration schema via Pydantic v2 (
MolraptorConfig). - CLI entry point via Typer (
molraptor run,molraptor version). - Abstract base class
BaseStepfor pipeline step contract. - Utility modules:
chunks,log_print,validators,reporter,result_manager. - Initial
configs/default.yamlwith PPARγ dataset configuration. - MIT License (superseded in v0.1.1).