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
The upcoming 0.1.64 release supports PyTorch 2.11+ without a separate wheel for each PyTorch minor. Install the CPU package or add matching CUDA operators:
python -m pip install "tmol==0.1.64" # CPU, including Apple Silicon
python -m pip install "tmol[cu13]==0.1.64" # CUDA 13-enabled PyTorch
python -m pip install "tmol[cu12]==0.1.64" # CUDA 12-enabled PyTorch
GPU use needs CUDA-enabled PyTorch and a compatible driver. Pip does not detect the GPU. The installation guide covers PyTorch installation, binary compatibility, and source builds.
import torch, tmol
print(tmol.__version__, tmol.has_cuda(), torch.cuda.is_available())
Quick start
Score a structure on CPU. With a CUDA TMol wheel, use torch.device("cuda"):
import torch
import tmol
device = torch.device("cpu")
pose = tmol.pose_stack_from_pdb("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 task index links individual operations to examples and APIs.
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.1.64
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tmol-0.1.64.tar.gz | 67.1 MB | Details |
Built distributions (wheels)
Total release size: 270.4 MB
Release files / tmol-0.1.64.tar.gz
| Download URL | tmol-0.1.64.tar.gz |
|---|---|
| Size | 67.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
791cda93de898f5b08ce8be14c6cf3a5ae5b63f97f10e86e955881f3533e2aec
|
|
BLAKE2b-256 checksum How to use checksums |
dfbf283093d59164d5b6cd85aeb57ff1b376adb9d20adf3f26583195fc73f757
|
| 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.1.64-cp314-cp314-manylinux_2_28_x86_64.whl
| Download URL | tmol-0.1.64-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 |
f865049882dea9b4e497e4f0eca31b281fa006ca10893abc0c4573d5043ef49b
|
|
BLAKE2b-256 checksum How to use checksums |
a33fb4259cb2d8dcc4d78e0a52b9927c015935ab8f08e50cf314c8dc7756a43b
|
| 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.1.64-cp314-cp314-manylinux_2_28_aarch64.whl
| Download URL | tmol-0.1.64-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 |
8e28aa6748a5bd993501cd8128e950b0e091cc15562990b7a1a0d5bba4c00438
|
|
BLAKE2b-256 checksum How to use checksums |
b71f8d9d57689fe44894066aed804244207ac027c7f0e4260dbc07f2eeaf8147
|
| 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.1.64-cp314-cp314-macosx_14_0_arm64.whl
| Download URL | tmol-0.1.64-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 |
67809858d0a5bf8461af448c3c97fa05fbcbc7f10cbcb6a581fefb636e768ad5
|
|
BLAKE2b-256 checksum How to use checksums |
a2cb0f7c79b1fe3e9a9486771417d0578469ac261e4aefa3d89e8e88442938f5
|
| 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.1.64-cp313-cp313-manylinux_2_28_x86_64.whl
| Download URL | tmol-0.1.64-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 |
1ef728790079490a64a4ed63d03ed9e554fcab148059cafe8c459125a3455c68
|
|
BLAKE2b-256 checksum How to use checksums |
edf2f32deb06e680861f67abcce77085d5e203f87f14f844fb1177112a086e93
|
| 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.1.64-cp313-cp313-manylinux_2_28_aarch64.whl
| Download URL | tmol-0.1.64-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 |
a7251ea942ff338763dd0c550692a169785605f3da86442f8d7c74949d79c837
|
|
BLAKE2b-256 checksum How to use checksums |
6197a1dd090db24dac7252b7dca8fc1a53d9b71c323be5c7ed4ac2afc907e1d8
|
| 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.1.64-cp313-cp313-macosx_14_0_arm64.whl
| Download URL | tmol-0.1.64-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 |
578355cafe8368c372f95a14db99381682f5ece06c9e2d6dee01962e67b8a46c
|
|
BLAKE2b-256 checksum How to use checksums |
3c2f1ab9146eea20ff4616b48e77bd2069882919ee559620626a919a1ab4b89f
|
| 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.1.64-cp312-cp312-manylinux_2_28_x86_64.whl
| Download URL | tmol-0.1.64-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 |
d6aba32141e0fc4f20c5af32c2faab5528376b769f63fff8563210bb659dcff9
|
|
BLAKE2b-256 checksum How to use checksums |
9d932d092aaef597109ad609f96f793b9f65318e5232ed7b23e5221364fcbc8b
|
| 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.1.64-cp312-cp312-manylinux_2_28_aarch64.whl
| Download URL | tmol-0.1.64-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 |
456d44765aee24e34e17a3fe7e2d7a526028779ee799f1fa3902473bb8ffccc1
|
|
BLAKE2b-256 checksum How to use checksums |
704ec8ee9bcb9f1ea52011c0ac83fcc6c41753b6e27ecb6fd75998fac74a3b03
|
| 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.1.64-cp312-cp312-macosx_14_0_arm64.whl
| Download URL | tmol-0.1.64-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 |
2378ba02cd663cc94d1db8994dffd9e8f190fd7071539e8b1ba89cf56bf097c5
|
|
BLAKE2b-256 checksum How to use checksums |
78ba1c6456fc89e25749d041b353791ee85a17b2a5413065090b14fb2e278606
|
| 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.1.64-cp311-cp311-manylinux_2_28_x86_64.whl
| Download URL | tmol-0.1.64-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 |
8df476fa1f2bd8cc45abfcdf352fd296ddc61ca85be448b9089607dda838b049
|
|
BLAKE2b-256 checksum How to use checksums |
0f37a9a1a840debd4091cc82321850bfa8a3925c27c0895e62a19b40198ab2b2
|
| 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.1.64-cp311-cp311-manylinux_2_28_aarch64.whl
| Download URL | tmol-0.1.64-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 |
591885d32d3231f32ea7624cb7444253e979f1707be6ff649b95cae22b4f37ed
|
|
BLAKE2b-256 checksum How to use checksums |
8f58197190418c1ecb35b55eeac61cd7e4833a19e81971c02a5d06f722424c41
|
| 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.1.64-cp311-cp311-macosx_14_0_arm64.whl
| Download URL | tmol-0.1.64-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 |
d744a3b2eee4ce45c2692260dc67a6f1a9a647c27c036f7eee7fda273cb9da66
|
|
BLAKE2b-256 checksum How to use checksums |
e2e6ba0b682b9e2e0ce93e94b1883bff491ed31c2e5378155044566729de6463
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|