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.63+cu132torch2.14" --only-binary=:all: \
--find-links https://uw-ipd.github.io/tmol/wheels/v0.1.63/cu132torch2.14/
For CPU scoring:
python -m pip install "tmol==0.1.63" --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 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 "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.63
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.63.tar.gz | 67.1 MB | Details |
Built distributions (wheels)
Total release size: 263.1 MB
Release files / tmol-0.1.63.tar.gz
| Download URL | tmol-0.1.63.tar.gz |
|---|---|
| Size | 67.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
53c68b1d570cc18a237d666bcea8f5537685345ec85832de4a29418e3ffac522
|
|
BLAKE2b-256 checksum How to use checksums |
63ea68510d371e780ea3fcade6eca30faa5714f32f9a6a51e38492b6d1af835b
|
| 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.63-cp314-cp314-manylinux_2_28_x86_64.whl
| Download URL | tmol-0.1.63-cp314-cp314-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 16.7 MB |
| Tags | CPython 3.14 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
c7a67421d50b4f784e256ccb6fedbc4ea1f2a01dc90c73910e607acfc27912f2
|
|
BLAKE2b-256 checksum How to use checksums |
c1ee407c436cb161bdcac570340cee9d7f47b0f2bc0d47bad82950989c3d8528
|
| 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.63-cp314-cp314-manylinux_2_28_aarch64.whl
| Download URL | tmol-0.1.63-cp314-cp314-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 16.6 MB |
| Tags | CPython 3.14 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
a21a2aff2eeda1325fa35a4f3a5aa25df5dffd46ac4edcfccf0f01f4addf57a6
|
|
BLAKE2b-256 checksum How to use checksums |
96223261127519782b30927821467cd16a9de669a8eccd339ef8ed689ea6fa5a
|
| 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.63-cp314-cp314-macosx_14_0_arm64.whl
| Download URL | tmol-0.1.63-cp314-cp314-macosx_14_0_arm64.whl |
|---|---|
| Size | 15.7 MB |
| Tags | CPython 3.14 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
1c4b58543385fdad7b5051dbdeff4769eb0323cf48f64696bad070a169e54453
|
|
BLAKE2b-256 checksum How to use checksums |
68ec4ca8caa39dd68dc09b7eaeb0fb1bce22f7e9da915ccc8ca05903251e710e
|
| 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.63-cp313-cp313-manylinux_2_28_x86_64.whl
| Download URL | tmol-0.1.63-cp313-cp313-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 16.7 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d902716c779280aa66da67e9cf9ad4a0be48b75842c5d71a4a600b4582aef65a
|
|
BLAKE2b-256 checksum How to use checksums |
a7e58236a4a97a7f2e059e8a36097593947230e0ce929736dfa011404bb20e8f
|
| 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.63-cp313-cp313-manylinux_2_28_aarch64.whl
| Download URL | tmol-0.1.63-cp313-cp313-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 16.6 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
446c387f26501426c6090389f0a69e4d8a48a08c72f7c26a64299c47718c081c
|
|
BLAKE2b-256 checksum How to use checksums |
783a89c2df4ae9cbaef70e288c10710e9a59e8c707c923cfb51e42cbde116f4a
|
| 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.63-cp313-cp313-macosx_14_0_arm64.whl
| Download URL | tmol-0.1.63-cp313-cp313-macosx_14_0_arm64.whl |
|---|---|
| Size | 15.7 MB |
| Tags | CPython 3.13 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
80009eca4a4417257c3eb7686346475c3dab63c9aa3424cf6e60d4a893cd8e50
|
|
BLAKE2b-256 checksum How to use checksums |
c9ae6e189441abb4c3a53f05f0ae706e01f35a1a6f67ea8bcdfe71ecaa2cb706
|
| 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.63-cp312-cp312-manylinux_2_28_x86_64.whl
| Download URL | tmol-0.1.63-cp312-cp312-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 16.7 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
c170d16c38011353c3d42819a6c7fcac1fc6f06761be950485f2bd7619449b9a
|
|
BLAKE2b-256 checksum How to use checksums |
d36a052205ceb4547d8fc428c811de833bbbf64642c6fce5bac5f5aecd9295bf
|
| 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.63-cp312-cp312-manylinux_2_28_aarch64.whl
| Download URL | tmol-0.1.63-cp312-cp312-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 16.6 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
fddf0ed01c538392692eecb166d7ff97fe8fe0498c5ef742e8a415a7b265b2ef
|
|
BLAKE2b-256 checksum How to use checksums |
e0a83c51aa7b59107e1e01d4b9c64fa21a887048a2fcba643e7f88c9c462edd7
|
| 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.63-cp312-cp312-macosx_14_0_arm64.whl
| Download URL | tmol-0.1.63-cp312-cp312-macosx_14_0_arm64.whl |
|---|---|
| Size | 15.7 MB |
| Tags | CPython 3.12 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
255c3874d2f1b48b0506d41c3ac6f66078ad73d74526d928b7979e2b0380bfeb
|
|
BLAKE2b-256 checksum How to use checksums |
b480de600cabc0994691ab5d7274947788db8f368eed5664cbfbc3e8898931a9
|
| 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.63-cp311-cp311-manylinux_2_28_x86_64.whl
| Download URL | tmol-0.1.63-cp311-cp311-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 16.7 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
3364cd1db5833b4d1148cd4124562af0766ce3030f3134dd7e3fcc572f2099a8
|
|
BLAKE2b-256 checksum How to use checksums |
1fabed78ab78617f0bd35c834759a4e5ee025987302e0f0ab658b6ee565a0702
|
| 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.63-cp311-cp311-manylinux_2_28_aarch64.whl
| Download URL | tmol-0.1.63-cp311-cp311-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 16.6 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
631a34a50098c116355869943968807097a81ab8da6ea5aff239dfff7355c964
|
|
BLAKE2b-256 checksum How to use checksums |
f77def7b8b759f2050c3b1a93f85c76e4987784efecce160cce0a2dd3b9377d7
|
| 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.63-cp311-cp311-macosx_14_0_arm64.whl
| Download URL | tmol-0.1.63-cp311-cp311-macosx_14_0_arm64.whl |
|---|---|
| Size | 15.7 MB |
| Tags | CPython 3.11 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
2acafddad233be697eb60b3421645d51e47d0958b1d47973ed64afbcad467c25
|
|
BLAKE2b-256 checksum How to use checksums |
9c301ae49adb6b6e30744f48257a2cfb146d0abc24831aa237c2232f3740e4e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|