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.2.1-cp39-abi3-win_amd64.whl (212.1 kB view details)

Uploaded CPython 3.9+Windows x86-64

ermak-0.2.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (463.5 kB view details)

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

ermak-0.2.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (372.7 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

ermak-0.2.1-cp39-abi3-macosx_11_0_arm64.whl (328.8 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

ermak-0.2.1-cp39-abi3-macosx_10_12_x86_64.whl (327.4 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: ermak-0.2.1-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 212.1 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.2.1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b76019232dd9d4789cd96b92aa7cb55e086a7582a058a7c66057153dcbe2b322
MD5 dbe7ea8c78d0e2ecfb0ec996d13b063a
BLAKE2b-256 95afb6bbc0239d2646a8952e16bc8777787d9faef8f1322a7a0cdf1a1ae0e766

See more details on using hashes here.

Provenance

The following attestation bundles were made for ermak-0.2.1-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.2.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ermak-0.2.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bbbd8ef2c3749b40f590ff96949c5ce8374e1a563f5d9d8e4bbb31639577d1da
MD5 f4db74d13501189b3a065dae6dd3bc60
BLAKE2b-256 4a3cf50b850431ab126b0674f6a316216d30ac355a251bc277354bf9ee0ae06c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ermak-0.2.1-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.2.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ermak-0.2.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6ce2f9ee04360dacde8297ac131af68c4d02c5211fd4b2233d485ddffc696bcf
MD5 d1a5ee978d3ba010963f20b6b4d38263
BLAKE2b-256 cbe4e73fb74fd05223684bf1729cb783443532bcb4246da4658a11a4e7689775

See more details on using hashes here.

Provenance

The following attestation bundles were made for ermak-0.2.1-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.2.1-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: ermak-0.2.1-cp39-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 328.8 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.2.1-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 17105fc56ed2482b1967592708107cfd78370b8393df8b0dcfd1168a3971d5c0
MD5 507a23708c052c87da753271957ad2d9
BLAKE2b-256 44a01270c7c389493a61ea8a6026d3f889f2a03aac526f5209930d45fdfffec1

See more details on using hashes here.

Provenance

The following attestation bundles were made for ermak-0.2.1-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.2.1-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ermak-0.2.1-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 920681138cf81539de1225665ceae99004827b91dedf433718f72fa4f57eef7d
MD5 468ef60895860c3f54a9f9a4f87f8312
BLAKE2b-256 6a635011fed09f790abad4b1cc4df6d38e83c1bf4065a6d5d885010e987b64a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ermak-0.2.1-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