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)
| File | Size | Uploaded | |
|---|---|---|---|
| tmol-0.1.62.tar.gz | 66.5 MB | Details |
Built distributions (wheels)
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
|