dynamics 0.2.0

Molecular dynamics
Documentation
[package]

name = "dynamics"

version = "0.2.0"

edition = "2024"

authors = ["David O'Connor <the_alchemist@fastmail.com>"]

description = "Molecular dynamics"

keywords = ["molecular", "dynamics", "biology"]

categories = [

    "science::bioinformatics",

    "science::computational-biology::structural-modeling",

    "science::computational-chemistry::cheminformatics",

    "science::computational-chemistry::molecular-simulation",

]

repository = "https://github.com/David-OConnor/dynamics"

documentation = "https://docs.rs/dynamics"

readme = "README.md"

license = "MIT"

#exclude = [".gitignore"]





# For training our partial charge inference model.

[[bin]]

name = "train"

path = "src/train_params.rs"

required-features = ["train-bin"]



# This is required to package the parameter files on crates.io

include = [

    "src/**",

    "param_data/**",

    "Cargo.toml",

    "README.md",

    "README.md",

    "rustfmt.toml",

]





[dependencies]

lin_alg = { version = "1.4.1", features = ["encode"] }

na_seq = "0.3.15"

bio_files = "0.5.2"

ewald = { version = "0.1.14" }

#ewald = { path = "../ewald" }

bio_apis = "0.2.5"



rand = "0.9.2"

rand_distr = "0.5.1"



itertools = "0.14.0" # For combinations when matching angles.



rayon = "1.11.0"  # Parallel execution on CPU using thread pools.



#bincode = { version = "2.0.1", optional = true }

bincode = "2.0.1"



# We use this to compute the volume of  solvent accessible surface mesh when adding solvent molecules

mcubes = "0.1.7"



candle-core = { version = "0.9.1" }

candle-nn = { version = "0.9.1" }



lazy_static = "1.5.0"



# todo: For now, we manually enablje dynamic-linking (either is fine) for running SPME tests.

cudarc = { version = "0.19.0", default-features = false, features = ["std", "driver", "nvrtc", "dynamic-linking", "cuda-13000"], optional = true }

#cudarc = { version = "0.19.0", default-features = false, features = ["std", "driver", "nvrtc", "cuda-13000"], optional = true }





[build-dependencies]

cuda_setup = { version = "0.1.9", optional = true }





[patch.crates-io]

#ewald = { path = "../ewald" }

bio_files = { path = "../bio_files" }





[features]



# Enabling CUDA allows CUDA for short-range interactions, but `cufft` or `vkfft` is

# required to enable it for long-range SPME.

# For now, we have CUDA disabled on CANDLE, as it seesm to require cudfft, curng, and perhaps more

# on the user's computer. And it runs slower for inference than CPU in our first test cases.

#cuda = ["cuda_setup", "cudarc", "lin_alg/cuda", "candle-core/cuda", "candle-nn/cuda"]

cuda = ["cuda_setup", "cudarc", "lin_alg/cuda"]

cufft = ["cuda", "ewald/cufft"]

vkfft = ["cuda", "ewald/vkfft"]



#encode = ["bincode"]

encode = []



train-bin = []