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

For GPU scoring on Linux with PyTorch 2.14 and CUDA 13.2:

python -m pip install "torch==2.14.*" --only-binary=:all: --index-url https://download.pytorch.org/whl/cu132
python -m pip install "tmol==0.1.62+cu132torch2.14" --only-binary=:all: \
  --find-links https://uw-ipd.github.io/tmol/wheels/v0.1.62/cu132torch2.14/

For CPU scoring:

python -m pip install "tmol==0.1.62" --only-binary=:all:

PyPI provides CPU wheels; GitHub hosts CUDA variants. Both include AtomWorks 3 and ligand preparation with RDKit and OpenBabel. See the installation guide for other CUDA/PyTorch combinations, platform support, and source builds.

Verify the installation:

python -c "import tmol; print(tmol.__version__)"

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 minimization and ligand preparation. The guides cover batching, packing, score analysis, and model inputs; 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 "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.62

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.62
File Size Uploaded
tmol-0.1.62.tar.gz 66.5 MB Details

Built distributions (wheels)

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

Total release size: 885.4 MB

Release files / tmol-0.1.62.tar.gz

Download URL tmol-0.1.62.tar.gz
Size 66.5 MB
Tags Source
SHA-256 checksum
How to use checksums
e96cd9a1949f4648eddfbb22c0058556cbd39d915e97edea42d164c631b9afbb
BLAKE2b-256 checksum
How to use checksums
4efe9628f2f36e3b81e567d1fdc7dc9c60131a634003a095bdc6949281fda9f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / tmol-0.1.62-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL tmol-0.1.62-cp314-cp314-manylinux_2_28_x86_64.whl
Size 68.6 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4a004e16c53fc0d060c289cea184a75c9d16307c2a5f6622600f379c34ca5d9e
BLAKE2b-256 checksum
How to use checksums
ed79c79ccf331b994ae5785404a27229ce7e0b43ca42821fdf4d38f93cda0b34
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / tmol-0.1.62-cp314-cp314-manylinux_2_28_aarch64.whl

Download URL tmol-0.1.62-cp314-cp314-manylinux_2_28_aarch64.whl
Size 68.5 MB
Tags CPython 3.14 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
c9ecac676ac4d19c81a11005847a49dd6b3210476cd292df44a4dc414886a56a
BLAKE2b-256 checksum
How to use checksums
ad9702780d4eabc8c3dbd1fc8d786d05faad97b9eb3be9b0ed09b17dc7f728f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / tmol-0.1.62-cp314-cp314-macosx_14_0_arm64.whl

Download URL tmol-0.1.62-cp314-cp314-macosx_14_0_arm64.whl
Size 67.6 MB
Tags CPython 3.14 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
12a8a76390f11c86b43daa83186f2b9a75f65a9bde135096d414d51b17463c13
BLAKE2b-256 checksum
How to use checksums
972b4f0f0212df4397b221cc8b9100ffd46da4f92c999360cb2256b037a34eff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / tmol-0.1.62-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL tmol-0.1.62-cp313-cp313-manylinux_2_28_x86_64.whl
Size 68.6 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
19dd903976d1dc9bf83f2bd9ce4d09118618785baa789346e28cf1fb2fdedeef
BLAKE2b-256 checksum
How to use checksums
b4b1b3a5e4cb4506b05252e0937a08aa9647f2af8ce0d2d3be645310cd280c94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / tmol-0.1.62-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL tmol-0.1.62-cp313-cp313-manylinux_2_28_aarch64.whl
Size 68.5 MB
Tags CPython 3.13 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
f6f34fd2d0298198311c1c0649bb1c0c824e5b9a305e3616a367c035d6df8c8a
BLAKE2b-256 checksum
How to use checksums
5fe5b13466f4259b78248e7e6be4825ee57593c8e6e5c1426c3bfce779f960d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / tmol-0.1.62-cp313-cp313-macosx_14_0_arm64.whl

Download URL tmol-0.1.62-cp313-cp313-macosx_14_0_arm64.whl
Size 67.6 MB
Tags CPython 3.13 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
a391177b6ed0e036d133d3fe41cfe4256bee59c120f1dffd410eacf17eb65f6e
BLAKE2b-256 checksum
How to use checksums
570ba38f46592870fa6702ec1b02d1c153765d19008c7fe85de414e55b578e3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / tmol-0.1.62-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL tmol-0.1.62-cp312-cp312-manylinux_2_28_x86_64.whl
Size 68.6 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
09e5571272400fc8a85b765938cb58ba4936b9f4d1b20de70415907d6be3152f
BLAKE2b-256 checksum
How to use checksums
5cdeedcd641db4536096cd4c303e496d0cb21321f48f78ee5d3efa8f503588b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / tmol-0.1.62-cp312-cp312-manylinux_2_28_aarch64.whl

Download URL tmol-0.1.62-cp312-cp312-manylinux_2_28_aarch64.whl
Size 68.5 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
defbe48509416836c872537cacca3b69ca53bc0009bc9acfc51f14cb66675438
BLAKE2b-256 checksum
How to use checksums
fe12c4b704cc487ef42c607eb0a6389c4dad1bdae620d3457620ff81b5c1cb67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / tmol-0.1.62-cp312-cp312-macosx_14_0_arm64.whl

Download URL tmol-0.1.62-cp312-cp312-macosx_14_0_arm64.whl
Size 67.6 MB
Tags CPython 3.12 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
a6882705cfa142f8e7f00b8bdfd0d498c0cbe14c92f4ec95ffe64704d8183bc8
BLAKE2b-256 checksum
How to use checksums
60118ffc28aba2efde08e9fe0403bdfb974db745f75331f1319289e441a3731d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / tmol-0.1.62-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL tmol-0.1.62-cp311-cp311-manylinux_2_28_x86_64.whl
Size 68.6 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f4eb5b2c24d2f23ffbc457b778cc06cb9adc1fdfc380c31be6853c690de7d3de
BLAKE2b-256 checksum
How to use checksums
30317ac4557e0b43a777476be778390c1ee3b062d8d44744bcd2018915346226
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / tmol-0.1.62-cp311-cp311-manylinux_2_28_aarch64.whl

Download URL tmol-0.1.62-cp311-cp311-manylinux_2_28_aarch64.whl
Size 68.5 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
7f3a16e087e994e086470808392bac47e8b82e3646894864bc98522f004160fb
BLAKE2b-256 checksum
How to use checksums
7a7f3924a9cc0449534574a170012d7584b438209c5de91d1d5f716e68d36271
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / tmol-0.1.62-cp311-cp311-macosx_14_0_arm64.whl

Download URL tmol-0.1.62-cp311-cp311-macosx_14_0_arm64.whl
Size 67.6 MB
Tags CPython 3.11 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
7f9b387a853f9586aaa4694ee219b335cca136c8ba325e884dfda85cb848a2a8
BLAKE2b-256 checksum
How to use checksums
f7260557a1d2da622e1174d2766a71477cb280bddc460e94e364cb75015f90bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release history Release notifications | RSS feed

This release

0.1.62 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