How desirebonneau/admet-dataset-cleaner works
Dataset Cleaner prepares molecular ADMET CSVs for downstream analysis: users configure batch inputs, then a pipeline validates and standardizes structures, flags duplicates and chemical hazards, assesses structural outliers, predicts pKa, and transfers chirality before producing cleaned data. The multithreaded runner is documented for large datasets; the batch script currently invokes the single-threaded runner. The graph covers the sampled runtime modules and README-described pKa capability; unsampled runner internals are not expanded into unsupported calls.
Main entry points: singlethread_main/main.py Single-thread pipeline · multithread_main/main.py Multithread pipeline · pubchem_utils.py PubChem lookup · outlier_utils.py Outlier detection
Components 15
Entry points
- Batch runner
batch_cleaning.py - Single-thread pipeline
singlethread_main/main.py - Multithread pipeline
multithread_main/main.py
Cleaning pipeline
- Filter patterns
config.py - pKa model
pka-model
Chemistry utilities
- SMILES handling
utils/smiles_utils.py - PubChem lookup
utils/pubchem_utils.py - Exact deduplication
utils/duplicate_utils.py - Chemical filters
utils/chemical_filters.py - Outlier detection
utils/outlier_utils.py - Fingerprints
utils/tanimoto_utils.py - Chirality transfer
utils/chirality_utils.py - File utilities
utils/io_utils.py
Other components
- Dataset curator
- PubChem service
Connections 20
- Dataset curator → Batch runner: configures runs
README.md - Batch runner → Single-thread pipeline: calls cleaner
batch_cleaning.py - Single-thread pipeline → SMILES handling: uses
singlethread_main/main.py - Single-thread pipeline → PubChem lookup: uses
singlethread_main/main.py - Single-thread pipeline → Exact deduplication: uses
singlethread_main/main.py - Single-thread pipeline → Chemical filters: uses
singlethread_main/main.py - Single-thread pipeline → Outlier detection: uses
singlethread_main/main.py - Single-thread pipeline → Chirality transfer: uses
singlethread_main/main.py - Single-thread pipeline → Filter patterns: uses patterns
singlethread_main/main.py - Single-thread pipeline → pKa model: predicts with
README.md - Multithread pipeline → SMILES handling: uses
multithread_main/main.py - Multithread pipeline → PubChem lookup: uses
multithread_main/main.py - Multithread pipeline → Exact deduplication: uses
multithread_main/main.py - Multithread pipeline → Chemical filters: uses
multithread_main/main.py - Multithread pipeline → Outlier detection: uses
multithread_main/main.py - Multithread pipeline → Chirality transfer: uses
multithread_main/main.py - Multithread pipeline → Filter patterns: uses patterns
multithread_main/main.py - Multithread pipeline → pKa model: predicts with
README.md - PubChem lookup → PubChem service: requests data
utils/pubchem_utils.py - Outlier detection → Fingerprints: generates fingerprints
utils/outlier_utils.py