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

Uploaded CPython 3.9+Windows x86-64

ermak-0.2.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (462.6 kB view details)

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

ermak-0.2.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (372.6 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.9+macOS 11.0+ ARM64

ermak-0.2.0-cp39-abi3-macosx_10_12_x86_64.whl (327.6 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: ermak-0.2.0-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.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 5964e8a4403a9891125f324d8fed9393170a8552a8490b8eca12c7e3ee7e0a88
MD5 fdef0fbb19b107dc3e9b3545f91544d0
BLAKE2b-256 42cb035ab4cd336923bacd0db5a757b27ec2abaa5d24d29d12ff9b9c392c1df8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ermak-0.2.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e100750e0d7ce59c58fc68468da58000dce8d976c9e5433a8b3406aa9a61d666
MD5 f82a1badf33315f0058dd85f9a9607c4
BLAKE2b-256 a3d282af99d0dcc5ad1447a12c82945ab11f8be868d01d7db7f740bc4cdcf9bf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ermak-0.2.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3bfd9b666f8b0868e9953e0dbf5380faa8ed378021e83388326fe906f7ef7bf8
MD5 8469bf4c12bcd6f2faf32dad0b57436b
BLAKE2b-256 d39bf260e198ca1c6b056ecac8c9df892b0c63abfdd2a75191eed8a32601210c

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ermak-0.2.0-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.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c740ea5f3d95a6c6cf8a8fb151e2875dc51131b7775277955956b28a02592d32
MD5 2482493b6c9f2320adaf24b7f9be1a91
BLAKE2b-256 283616f9907d2c81630ec1555e56939c2758c3058a7506af8206058c8b1068bc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ermak-0.2.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 39a3cc3f604e12ea4efc57c1c2073c7effab957e11c5d9be8798565815756599
MD5 29ae950a341db88dd9ada32b1383aeef
BLAKE2b-256 8ba66b46ef164fcdc36050f94c40952bb7bc081a62459cba20115a2f99238c56

See more details on using hashes here.

Provenance

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