Multi-conformer modeling edition
QSARmil builds Quantitative Structure-Activity Relationship (QSAR) models by representing each molecule as a bag of instances and applying multi-instance machine learning to it. In this edition, instances are molecular 3D conformers. Representing molecules as bags of fragments, tautomers, or mixture components is planned, but not yet implemented - see below for what’s ready today.
Ready to use:
3D conformer generation (RDKit ETKDG embedding + UFF optimization)
3D descriptor calculation (RDKit and MolFeat descriptors)
Multi-instance learning models (via milearn) and consensus model search (via qsarcons)
Regression and binary classification tasks are currently supported
Under development:
Fragment-based modeling
Tautomer-based modeling
Mixture-based modeling
Installation
Option 1 - one-line install from scratch with conda:
conda env create -f environment.yml && conda activate qsarmil
Option 2 - install into an existing environment:
pip install qsarmil
Beginner usage
For a predefined pipeline that takes zero QSAR/MIL knowledge and zero setup: hand it your training data and get predictions for new molecules back.
from qsarmil.modelling.meta import MultiConformerRegressor
smiles_train = [
"CC(C)Cc1ccc(cc1)C(C)C(=O)O",
"COc1ccc2cc(ccc2c1)C(C)C(=O)O",
"OC(=O)Cc1ccccc1Nc1c(Cl)cccc1Cl",
"COc1ccc2c(c1)c(CC(=O)O)c(C)n2C(=O)c1ccc(Cl)cc1",
"OC(=O)C(C)c1cccc(c1)C(=O)c1ccccc1",
]
y_train = [5.2, 5.9, 6.1, 7.0, 5.6]
smiles_test = ["CC(C(=O)O)Oc1cccc(c1)-c1ccccc1", "CC(C(=O)O)c1ccc(cc1)-c1ccc(F)cc1"]
# train and predict in one call - there's no separate save/load step
model = MultiConformerRegressor(num_conf=10, hopt=True, verbose=True)
y_pred = model.train_predict(smiles_train, y_train, smiles_test)
Use MultiConformerRegressor for continuous properties and MultiConformerClassifier for binary classification. See the full walkthrough in 01_Beginner_Easy_Start.ipynb.
Professional usage
Modify or build your own modeling pipeline by combining QSARmil’s individual modules (conformer generator, descriptor calculator, multi-instance methods, etc.) directly. See 02_Professional_Pipeline_Customization.ipynb for the details.
Tutorials
01_Beginner_Easy_Start.ipynb - the predefined, zero-configuration pipeline.
02_Professional_Pipeline_Customization.ipynb - building a custom pipeline from individual modules.
03_Key_Instance_Detection.ipynb - identifying which conformers drive a prediction.
Documentation
Full documentation is available at QSARmil docs.
Metadata
Release files for qsarmil 1.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| qsarmil-1.0.6.tar.gz | 26.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| qsarmil-1.0.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 60.4 kB
Release files / qsarmil-1.0.6.tar.gz
| Download URL | qsarmil-1.0.6.tar.gz |
|---|---|
| Size | 26.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
45ce1e1147c0f6dffce1a779a0a4fbce65ed87c98baf6dc29d707c3d63998006
|
|
BLAKE2b-256 checksum How to use checksums |
a9b6855983e93af69bcdc80876b736fe29f3280ef547961ad27312f60b7a51bf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.21
|
Release files / qsarmil-1.0.6-py3-none-any.whl
| Download URL | qsarmil-1.0.6-py3-none-any.whl |
|---|---|
| Size | 33.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8a0ce0def23c6ab380694b1a6c3278588a0d2b0d0ff20884ab857cc474517bc4
|
|
BLAKE2b-256 checksum How to use checksums |
593c39474beb2334653b26c6e86cc0afd916b4243fa84f79a9b7178d5e5107cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.21
|