ligand-classification¶
GitHub Pages docs
Configuration-driven ligand model benchmarking
ligand-classification turns raw SMILES tables into reproducible
feature sets, trains multiple classical ML classifiers through nested
cross-validation, and saves enough metadata to audit every run later.
What this project is for¶
- Benchmarking multiple classifiers on the same ligand dataset without rewriting preprocessing code.
- Keeping feature engineering, hyperparameter search, and output locations under versioned YAML configs.
- Producing reusable artifacts: processed CSVs, trained pipelines, metrics YAML, dataset summaries, logs, and a central run ledger.
End-to-end workflow¶
- Start from a raw CSV with
SMILESand eitherIDorname. - Run
src.cli.process_featuresto generate descriptors, Mordred features, Morgan fingerprints, and optional DeepPK outputs. - Point a training config at those generated CSVs.
- Train via
src.cli.trainorsrc.training.train. - Score saved models with
src.cli.evaluateor append predictions withsrc.cli.predict.
Canonical starter example¶
The docs now use data/example/raw/psychlight_a.csv as the canonical example dataset because it is a populated, checked-in raw CSV with the expected columns and a usable class balance.
conda activate lig-cls
python -m src.cli.process_features data/example/raw/psychlight_a.csv \
--output-dir data/example/processed/psychlight_a
python -m src.cli.train --config configs/train.yaml \
--datasets psychlight_a_descriptors \
--models logisticregression
Note
Older checked-in processed descriptor exports in this repo may still use the legacy *_rdkit.csv name. The current feature CLI writes *_descriptors.csv, and the refreshed configs and docs assume the current naming.
Docs map¶
Getting Started
Environment setup, local verification, and first commands.
Data Preparation
Input requirements, generated files, DeepPK flow, and config expectations.
Training
Config schema, pipeline order, outputs, and resume behavior.
CLI Reference
Process, explore, train, evaluate, and predict command details.
Metrics
How training and external evaluation metrics are computed and stored.
Development
Adding models, updating docs, and keeping tests and configs aligned.