TMol provides all-atom scoring, packing, minimization, and FastRelax in PyTorch. It batches proteins, nucleic acids, ligands, and complexes on CPU or CUDA, with gradients through coordinate scoring.
Documentation · Tutorials · API reference
Install
Install from PyPI. For GPU use, first install PyTorch with the matching CUDA major, then choose one command:
python -m pip install tmol # CPU, including Apple Silicon
python -m pip install "tmol[cu12]" # CUDA 12-enabled PyTorch
python -m pip install "tmol[cu13]" # CUDA 13-enabled PyTorch
The base package contains the Python API, data, and CPU kernels. GPU extras add
tmol-ops-cu12 or tmol-ops-cu13 at the same version. GPU use also needs a
compatible NVIDIA driver; pip does not detect GPUs or select a PyTorch CUDA build.
The installation guide
covers requirements, verification, upgrades, and source builds. TMol wheels work
across supported PyTorch minor versions; no per-Torch wheel selection is needed.
import torch, tmol
print(tmol.__version__, tmol.has_cuda(), torch.cuda.is_available())
Quick start
Score a structure on CPU. With matching CUDA-enabled PyTorch and TMol operators,
use torch.device("cuda"):
import torch
import tmol
device = torch.device("cpu")
pose = tmol.pose_stack_from_file("input.pdb", device)
score_function = tmol.beta2016_score_function(device)
score = score_function.render_whole_pose_scoring_module(pose)
print(score(pose.coords))
See the quickstart for scoring, minimization, repacking, FastRelax, batching, and ligand preparation. The visual glossary explains the concepts, and the score playground lets you rotate a side chain and inspect TMol scores in the browser. The tutorials are runnable notebooks, each also available in Colab.
Development
git clone https://github.com/uw-ipd/tmol.git
cd tmol
python -m pip install "torch>=2.14" "scikit-build-core>=0.10" "cmake>=3.24,<4" "pybind11>=2.12" ninja packaging
python -m pip install --no-build-isolation -e ".[dev]"
The development guide covers builds, tests, benchmarks, and releases. See the contributor guide for code and documentation conventions, or agent skills for reusable coding-agent instructions.
Citation
If you use TMol in your work, please cite:
Andrew Leaver-Fay, Jeff Flatten, Alex Ford, Joseph Kleinhenz, Henry Solberg, David Baker, Andrew M. Watkins, Brian Kuhlman, Frank DiMaio, tmol: a GPU-accelerated, PyTorch implementation of Rosetta's relax protocol (manuscript in preparation).
TMol is available under the terms in LICENSE.
Metadata
Release files for tmol 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| tmol-0.2.0.tar.gz | 71.6 MB | Without provenance | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| tmol-0.2.0-cp314-cp314-manylinux_2_28_x86_64.whl | CPython 3.14 | CPython 3.14 | Linux glibc 2.28+ x86-64 | Details |
| tmol-0.2.0-cp314-cp314-manylinux_2_28_aarch64.whl | CPython 3.14 | CPython 3.14 | Linux glibc 2.28+ ARM64 | Details |
| tmol-0.2.0-cp314-cp314-macosx_14_0_arm64.whl | CPython 3.14 | CPython 3.14 | macOS 14.0+ ARM64 | Details |
| tmol-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.28+ x86-64 | Details |
| tmol-0.2.0-cp313-cp313-manylinux_2_28_aarch64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.28+ ARM64 | Details |
| tmol-0.2.0-cp313-cp313-macosx_14_0_arm64.whl | CPython 3.13 | CPython 3.13 | macOS 14.0+ ARM64 | Details |
| tmol-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.28+ x86-64 | Details |
| tmol-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.28+ ARM64 | Details |
| tmol-0.2.0-cp312-cp312-macosx_14_0_arm64.whl | CPython 3.12 | CPython 3.12 | macOS 14.0+ ARM64 | Details |
| tmol-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.28+ x86-64 | Details |
| tmol-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.28+ ARM64 | Details |
| tmol-0.2.0-cp311-cp311-macosx_14_0_arm64.whl | CPython 3.11 | CPython 3.11 | macOS 14.0+ ARM64 | Details |
Total release size: 275.0 MB
Release files / tmol-0.2.0.tar.gz
| Download URL | tmol-0.2.0.tar.gz |
|---|---|
| Size | 71.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
feb80e56f3319cb7640f45cfa95787d924f6069709893f4f94fcd8b35d2946d1
|
|
BLAKE2b-256 checksum How to use checksums |
5512f6adada294368c57389b27102a06bd4abb34722987445520bb950767deb4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / tmol-0.2.0-cp314-cp314-manylinux_2_28_x86_64.whl
| Download URL | tmol-0.2.0-cp314-cp314-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 17.1 MB |
| Tags | CPython 3.14 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
afded996e79d35a558bcdfef5bd58831ec725d600318004f17c4ee7da0d51eb5
|
|
BLAKE2b-256 checksum How to use checksums |
edf18135d61a6f39e3995c7e6798038f7221934ce11a7296261ab48732d23e67
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / tmol-0.2.0-cp314-cp314-manylinux_2_28_aarch64.whl
| Download URL | tmol-0.2.0-cp314-cp314-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 17.0 MB |
| Tags | CPython 3.14 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
d046840a17b17d550e740912bd678695f3d528446bf5f73fc968b13d28d25b40
|
|
BLAKE2b-256 checksum How to use checksums |
1e905e6c659fd815eba669baca0de7415326944310f76f98a92ae6ef22c04bc0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / tmol-0.2.0-cp314-cp314-macosx_14_0_arm64.whl
| Download URL | tmol-0.2.0-cp314-cp314-macosx_14_0_arm64.whl |
|---|---|
| Size | 16.8 MB |
| Tags | CPython 3.14 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
45883b720cef4d6860d455769174665aec3a6dcbc6ef85a6c26cc787440fec44
|
|
BLAKE2b-256 checksum How to use checksums |
f1f96ce2ed95a0435caea9da803f07a0580744bb88be9b7e8f2a4b6934704231
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / tmol-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl
| Download URL | tmol-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 17.1 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
66b4d212d950739656c66f727f73f9007652923fb78cda421fb4b7594338b8e0
|
|
BLAKE2b-256 checksum How to use checksums |
d2e555613afd0a76e9ae8605a47ecb410678c8095d1dd7891667924e78322fa9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / tmol-0.2.0-cp313-cp313-manylinux_2_28_aarch64.whl
| Download URL | tmol-0.2.0-cp313-cp313-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 17.0 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
295b97186fb9e11b3cc7afae1fd957f971253fe3cd6445cd44f524391125a8da
|
|
BLAKE2b-256 checksum How to use checksums |
1ed0725b07aaee019aec3c10bb71be21c97416341e977bd89f6872a2bd593903
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / tmol-0.2.0-cp313-cp313-macosx_14_0_arm64.whl
| Download URL | tmol-0.2.0-cp313-cp313-macosx_14_0_arm64.whl |
|---|---|
| Size | 16.8 MB |
| Tags | CPython 3.13 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
79f66c84b0e080e760e8f366cbc8f0aaf1af1761d0c69569675234621ead308f
|
|
BLAKE2b-256 checksum How to use checksums |
943f67ed74912b40e9f7bb7f04e69a73d4a2af7cf2b851e761c1e6860e81623e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / tmol-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl
| Download URL | tmol-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 17.1 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
fe0d4661e1f7697fe02be087e4dffea0a00846bcf63c6b07e7fe9c974692703f
|
|
BLAKE2b-256 checksum How to use checksums |
0e97167a522286347415266fe2ecaef1a176e60abcbdeee1f2a138d48c8c6874
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / tmol-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl
| Download URL | tmol-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 17.0 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
cd5ababb70aa10a4122180267cf3e030cb228426c036b1d66b6b738d1ff8128c
|
|
BLAKE2b-256 checksum How to use checksums |
bacac015e135d2ed5141ba262a90311e911be00165dcd32168391a129821af8e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / tmol-0.2.0-cp312-cp312-macosx_14_0_arm64.whl
| Download URL | tmol-0.2.0-cp312-cp312-macosx_14_0_arm64.whl |
|---|---|
| Size | 16.8 MB |
| Tags | CPython 3.12 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
1e3e3ba1b5864b94cad91e643d651afe915bab23c2f02ba31217cbd9b5324655
|
|
BLAKE2b-256 checksum How to use checksums |
74d8c400b3bfd9ca3e414f7ce26ef55d5823c47100a5cfa4b089788484b56990
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / tmol-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl
| Download URL | tmol-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 17.1 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
bba669132ee19428d020076e7040c2033ffb12c038310b4a4cb23f421aedc104
|
|
BLAKE2b-256 checksum How to use checksums |
370c84b3c207ebfdd416f2e79d2c708a664222d5fdedea2cbeb87cf9cda9cc27
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / tmol-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl
| Download URL | tmol-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 17.0 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
b73996953156ae233ce1db1506fb4da1dad98f2aae9323acebefebb92f207108
|
|
BLAKE2b-256 checksum How to use checksums |
a93dbe977e18597d6ce054a5bcd4f2af6ff8b8707311349f1b6d61ced9efc87f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / tmol-0.2.0-cp311-cp311-macosx_14_0_arm64.whl
| Download URL | tmol-0.2.0-cp311-cp311-macosx_14_0_arm64.whl |
|---|---|
| Size | 16.8 MB |
| Tags | CPython 3.11 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
5d807fa076282e4b2f96be03347de3dfcf71774a3420758c31510e871528dcdd
|
|
BLAKE2b-256 checksum How to use checksums |
794ad9c0ba12a6b67a176cba7d3a25565b754a69910d4449dd78ef52309d74ce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Security for tmol 0.2.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.