Skip to main content

GPU-accelerated Brownian dynamics for ligand diffusion and dissociation kinetics in crowded environments

Project description

ermak (Python)

Python bindings for ermak, a Brownian-dynamics engine for ligand diffusion and dissociation kinetics in crowded environments. The core integrates the overdamped Langevin equation with the Ermak-McCammon propagator; particles are coarse-grained spheres in implicit solvent, in reduced Lennard-Jones units (kB T = 1, sigma = 1, bare D0 = 1).

pip install ermak
import ermak

# Free diffusion recovers D0.
ermak.free_diffusion_deff(d0=1.0, dt=0.01, steps=200, replicas=4000)

# Crowders slow it down.
box = 8.0
crowders = ermak.cubic_lattice(box, 4)            # 4^3 obstacles
ermak.crowded_diffusion_deff(
    d0=1.0, dt=0.01, steps=200, replicas=2000,
    box_l=box, crowders=crowders, sigma=1.0, eps=1.0,
)

# Residence time (1/k_off) climbs with the pocket barrier (Kramers).
ermak.mean_residence_time(barrier=4.0, r_b=2.0, d0=1.0, dt=1e-3,
                          max_steps=80_000, replicas=400)

# tauRAMD egress times rank the true residence times.
ermak.tauramd_egress_time(barrier=2.0, r_b=2.0, d0=1.0, dt=1e-3, accel=6.0,
                          reorient_steps=100, max_steps=200_000, replicas=400)

# Predict log k_off from descriptors with a random forest.
forest = ermak.Forest.fit(rows, log_koff, n_trees=200)
forest.predict_many(rows)

GPU

The Linux x86-64 wheel is GPU-accelerated through the CUDA driver API. It needs no CUDA toolkit to install (the driver is loaded at runtime); gpu_available() reports whether a usable device is present.

import ermak

if ermak.gpu_available():
    box = 8.0
    crowders = ermak.cubic_lattice(box, 5)
    deff = ermak.crowded_diffusion_deff_gpu(
        d0=1.0, dt=2e-4, steps=10_000, replicas=200_000,
        box_l=box, crowders=crowders, sigma=1.0, eps=1.0,
        precision="f32",     # "f64" for the reference path
    )

gpu_available() and crowded_diffusion_deff_gpu(...) exist on every wheel; on a build or machine without GPU support the latter raises a clear RuntimeError, so calling code can branch on gpu_available(). Dual-licensed under MIT or Apache-2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ermak-0.3.0-cp39-abi3-win_amd64.whl (212.8 kB view details)

Uploaded CPython 3.9+Windows x86-64

ermak-0.3.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (464.4 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

ermak-0.3.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (373.5 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

ermak-0.3.0-cp39-abi3-macosx_11_0_arm64.whl (330.7 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

ermak-0.3.0-cp39-abi3-macosx_10_12_x86_64.whl (329.2 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file ermak-0.3.0-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: ermak-0.3.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 212.8 kB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ermak-0.3.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 13dd5d95793df6961252166679e7f1596cf93035b91a1e6dc7b601cf3804981a
MD5 580e27affe30aee1cf287aa90b85c6be
BLAKE2b-256 5368d1994811516e394aef65db2b4f1b070f0100ab1b1b8a1571afb9fe2aaeb6

See more details on using hashes here.

Provenance

The following attestation bundles were made for ermak-0.3.0-cp39-abi3-win_amd64.whl:

Publisher: release.yml on alejandro-soto-franco/ermak

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ermak-0.3.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ermak-0.3.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 19270d8f8d80e8cec930bdd1b5f55d8a3722db48d19c712c4a94faf12d62a92a
MD5 4ae5f7fb387f422ee7f967abb98b44e7
BLAKE2b-256 7d5bb2c38060fbf47631b244cd412659586351cbb8b631b5e46b4f39d344e845

See more details on using hashes here.

Provenance

The following attestation bundles were made for ermak-0.3.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on alejandro-soto-franco/ermak

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ermak-0.3.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ermak-0.3.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b92bdfe9606a98589d63bf33d09d93fee2c1a256b9e6d2f7cb6877bf7a472913
MD5 2cfd39ce691640a80d6caea5d3bcb737
BLAKE2b-256 966c965c40f4763f1af0f19e8afb601acb85dc06bddb6036eb6f3090631991a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ermak-0.3.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on alejandro-soto-franco/ermak

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ermak-0.3.0-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: ermak-0.3.0-cp39-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 330.7 kB
  • Tags: CPython 3.9+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ermak-0.3.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8c0b20219388dbe2faa099a36a0b271c817f61ac9c79579cb11a04357173e133
MD5 737ceb5fa3a68cbfe30e940b0fd35d43
BLAKE2b-256 d73bcfc66a0d625c5819f556ed595acef211783d7e55c545722983ab7e666fdc

See more details on using hashes here.

Provenance

The following attestation bundles were made for ermak-0.3.0-cp39-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on alejandro-soto-franco/ermak

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ermak-0.3.0-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ermak-0.3.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d1546a2d908106843826a375e13aacd054dc469ce6e392944fe756b7e701b8dd
MD5 5eb52f3c300180eb1be5a930f134889c
BLAKE2b-256 9d3f4603d0aaad5137fa5559ccde4f399975233ec23bcfd3dafd6d7738bdbbd2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ermak-0.3.0-cp39-abi3-macosx_10_12_x86_64.whl:

Publisher: release.yml on alejandro-soto-franco/ermak

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page