Skip to main content

QSARmil - molecular multi-instance machine learning

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

Documentation

Full documentation is available at QSARmil docs.

Metadata

Release files for qsarmil 1.0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qsarmil 1.0.7
File Size Uploaded
qsarmil-1.0.7.tar.gz 26.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for qsarmil 1.0.7
File Interpreter ABI Platform
qsarmil-1.0.7-py3-none-any.whl Python 3 none any Details

Total release size: 60.4 kB

Release files / qsarmil-1.0.7.tar.gz

Download URL qsarmil-1.0.7.tar.gz
Size 26.8 kB
Tags Source
SHA-256 checksum
How to use checksums
8c7d7c2023356721fc84c7a916b3e733a1ed786f07b5b98847bf394d799f8101
BLAKE2b-256 checksum
How to use checksums
d9f4bdae1e408c39bc4dfa0291f1aea93ae8d98ff369536ecb3b9010760c01a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.

Transparency log

Release files / qsarmil-1.0.7-py3-none-any.whl

Download URL qsarmil-1.0.7-py3-none-any.whl
Size 33.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e2bd2e078b4a999f90a8104c6eff398b6f8fd12704a38ada274c1c87c107767c
BLAKE2b-256 checksum
How to use checksums
ed8438fd4796fc3727a74e919440d2e1a823e8e9636f22a5e2814d4fe2d9f257
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.

Transparency log

Release history Release notifications | RSS feed

1.0.8

2 release files

This release

1.0.7 This release

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page