A Rust implementation of the LightDock macromolecular software with the DFIRE and DNA scoring functions.
- 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
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.
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
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
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
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
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