2 releases
0.3.2 | Apr 19, 2024 |
---|---|
0.3.1 | Apr 16, 2024 |
#111 in Biology
9MB
2.5K
SLoC
LightDock-Rust
A Rust implementation of the LightDock macromolecular software with the DFIRE and DNA scoring functions.
Installation
- Clone this repository:
git clone https://github.com/lightdock/lightdock-rust.git
- Compile it with Rust (you may install Rust using rustup):
cd lightdock-rust
cargo build --release
Examples
Several examples can be found in the example
folder.
Setting required Data Path |
---|
You may set an environment variable LIGHTDOCK_DATA to point to the data folder included in this repository to avoid copying it: export LIGHTDOCK_DATA=/path/to/lightdock-rust/data |
Recorded times on MacBook Pro M3 Pro.
1k4c (Membrane docking)
cd example/1k4c
time ../../target/release/lightdock-rust setup.json initial_positions_0.dat 100 dfire
Output:
Reading starting positions from "initial_positions_0.dat"
Swarm ID 0
Writing to swarm dir "swarm_0"
Reading receptor input structure: lightdock_receptor_membrane.pdb
Reading ligand input structure: lightdock_ligand.pdb
Loading DFIRE scoring function
Creating GSO with 200 glowworms
Starting optimization (100 steps)
real 1m52,132s
user 1m51,808s
sys 0m0,150s
1ppe (protein docking)
cd example/1ppe
time ../../target/release/lightdock-rust setup.json initial_positions_0.dat 100 dfire
Output:
Reading starting positions from "initial_positions_0.dat"
Swarm ID 0
Writing to swarm dir "swarm_0"
Reading receptor input structure: lightdock_1ppe_e.pdb
Reading ligand input structure: lightdock_1ppe_i.pdb
Loading DFIRE scoring function
Creating GSO with 200 glowworms
Starting optimization (100 steps)
real 0m4,252s
user 0m4,142s
sys 0m0,092s
2uuy (protein docking)
cd example/2uuy
time ../../target/release/lightdock-rust setup.json initial_positions_0.dat 100 dfire
Output:
Reading starting positions from "initial_positions_0.dat"
Swarm ID 0
Output directory does not exist for swarm 0, creating it...
Writing to swarm dir "swarm_0"
Reading receptor input structure: lightdock_2UUY_rec.pdb
Reading ligand input structure: lightdock_2UUY_lig.pdb
Loading DFIRE scoring function
Creating GSO with 200 glowworms
Starting optimization (100 steps)
real 0m8,108s
user 0m7,834s
sys 0m0,261s
1czy (protein-peptide docking)
cd example/1czy
time ../../target/release/lightdock-rust setup.json init/initial_positions_0.dat 100 dfire
Output:
Reading starting positions from "init/initial_positions_0.dat"
Swarm ID 0
Writing to swarm dir "swarm_0"
Reading receptor input structure: lightdock_1czy_protein.pdb
Reading ligand input structure: lightdock_1czy_peptide.pdb
Loading DFIRE scoring function
Creating GSO with 200 glowworms
Starting optimization (100 steps)
real 0m1,580s
user 0m1,312s
sys 0m0,248s
1azp (protein-nucleic docking)
cd example/1azp
time ../../target/release/lightdock-rust setup.json initial_positions_0.dat 100 dna
Output:
Reading starting positions from "initial_positions_0.dat"
Swarm ID 0
Output directory does not exist for swarm 0, creating it...
Writing to swarm dir "swarm_0"
Reading receptor input structure: lightdock_protein.pdb
Reading ligand input structure: lightdock_dna.pdb
Loading DNA scoring function
Creating GSO with 200 glowworms
Starting optimization (100 steps)
real 0m14,228s
user 0m13,932s
sys 0m0,281s
Dependencies
~10MB
~191K SLoC