Skip to main content

TMol

PyPI version Python versions PyPI downloads CI status Documentation Code coverage License

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)

Source distribution for tmol 0.2.0
File Size Uploaded Provenance
tmol-0.2.0.tar.gz 71.6 MB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for tmol 0.2.0
File
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.

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