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

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)

Source distribution for tmol 0.1.64
File Size Uploaded
tmol-0.1.64.tar.gz 67.1 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for tmol 0.1.64
File
tmol-0.1.64-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
tmol-0.1.64-cp314-cp314-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64 Details
tmol-0.1.64-cp314-cp314-macosx_14_0_arm64.whl CPython 3.14 CPython 3.14 macOS 14.0+ ARM64 Details
tmol-0.1.64-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
tmol-0.1.64-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details
tmol-0.1.64-cp313-cp313-macosx_14_0_arm64.whl CPython 3.13 CPython 3.13 macOS 14.0+ ARM64 Details
tmol-0.1.64-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
tmol-0.1.64-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details
tmol-0.1.64-cp312-cp312-macosx_14_0_arm64.whl CPython 3.12 CPython 3.12 macOS 14.0+ ARM64 Details
tmol-0.1.64-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
tmol-0.1.64-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details
tmol-0.1.64-cp311-cp311-macosx_14_0_arm64.whl CPython 3.11 CPython 3.11 macOS 14.0+ ARM64 Details

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

Release history Release notifications | RSS feed

This release

0.1.64 This release

13 release files

0.1.59

1 release file

0.1.55

1 release file

0.1.54

1 release file

0.1.53

1 release file

0.1.52

1 release file

0.1.51

1 release file

0.1.50

1 release file

0.1.49

1 release file

0.1.48

1 release file

0.1.47

1 release file

0.1.46

1 release file

0.1.45

1 release file

0.1.42

1 release file

0.1.40

1 release file

0.1.36

1 release file

0.1.35

1 release file

0.1.34

1 release file

0.1.33

1 release file

0.1.30

1 release file

0.1.29

1 release file

0.1.22

1 release file

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