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.8

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.8
File Size Uploaded
qsarmil-1.0.8.tar.gz 26.9 kB Details

Built distribution (wheel)

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

Total release size: 60.6 kB

Release files / qsarmil-1.0.8.tar.gz

Download URL qsarmil-1.0.8.tar.gz
Size 26.9 kB
Tags Source
SHA-256 checksum
How to use checksums
9006dad65178c9950712e5656726e98189ab29edfd91852224233c9ef10280d2
BLAKE2b-256 checksum
How to use checksums
09b5042bb5857f0174eaf179e151d644ab58eec6255697cadee21ba2d4c475e5
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 12, 2026.

Transparency log

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

Download URL qsarmil-1.0.8-py3-none-any.whl
Size 33.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4bc3c130bd2c4480edcfddcff707fdff809fa54759739bd6b6660cd2cd87d6e2
BLAKE2b-256 checksum
How to use checksums
b9317089af3bc34cf3e1c088eb94f5ff6427a82cb770cdc338478a0fdc4f2423
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 12, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.8 This release

2 release files

1.0.7

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