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.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)

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

Built distributions (wheels)

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

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

Release history Release notifications | RSS feed

This release

0.1.63 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