BindCraft2 evovles from the original tool BindCraft, transitioning from a single-target miniprotein tool into a highly versatile, campaign-based binder design suite. BindCraft2 introduces robust multi-target optimization. It allows researchers to design a single binder capable of cross-reacting across multiple species (e.g., human and mouse paralogs) or simultaneously engaging several entirely divergent proteins. It can also target unstructured, intrinsically disordered regions or linear peptides to help stabilize them.
Allocate an interactive session and run the program. Sample session:
[user@biowulf]$ sinteractive --gres=gpu:l40:1,lscratch:10 --mem=24g -c16 [user@cn0231 ~]$ module load bindcraft2 [+] Loading bindcraft2 1.0.3 on cn1067 [+] Loading singularity 4.3.7 on cn1067 [user@cn0231 ~]$ bindcraft -h usage: bindcraft designResults are written in folder results/pdl1 End the interactive session:[--core NAME] [--modality NAME[,NAME]] [--humanize ...] [--metadata ] [--set KEY=VALUE]... bindcraft design --list-targets | --list-modalities | --list-properties | --list-core | --list-settings bindcraft score [--binder CHAINS] [--target CHAINS] [--hotspots SPANS] bindcraft rank [--on METRIC] [--list] bindcraft filter [--where METRIC>=VALUE]... [--filters FILE] [--list] bindcraft campaign_output [ ...] bindcraft archive|unarchive bindcraft fetch-weights bindcraft design -h names every binder format and design property this package ships. [user@cn0231 ~]$ cp $BINDCRAFT2_TEST_DATA/pdl1.json ./ [user@cn0231 ~]$ vi pdl1.json { "target": "hPDL1", "modality": "binder", "campaign_name": "pdl1", "number_of_final_designs": 10, "project_folder": "results/pdl1" } [user@cn0231 ~]$ bindcraft design pdl1.json compiled graphs cached in /vf/users/yangr3/issue_test/test/results/pdl1/compile_cache/NVIDIA_L40S campaign preflight: design model_1_multimer_v3,model_2_multimer_v3,model_3_multimer_v3,model_4_multimer_v3,model_5_multimer_v3 | validation model_1_ptm,model_2_ptm | redesign negative/v_48_020 | targets hPDL1 | output results/pdl1 campaign metadata: BindCraft 2 v1.0.1 | settings /vf/users/yangr3/issue_test/test/pdl1.json | written results/pdl1/campaign_metadata.json campaign fan-out: 2 design workers on GPUs 0,0 worker=0 gpu=0 draws 57 binder lengths from 60 to 180, folded at 320 padded residues at 14.6 GB worker=1 gpu=0 draws 64 binder lengths from 65 to 160, folded at 288 padded residues at 13.1 GB worker=0 gpu=0 log=results/pdl1/workers/worker_00_gpu_0.log worker=1 gpu=0 log=results/pdl1/workers/worker_01_gpu_0.log BindCraft 2 v1.0.1 campaign pdl1 binder length 60 to 180, drawn per trajectory target hPDL1 (target) | 115 residues | hotspots 54,56,66,115 losses binder_contacts=1.0 binder_helicity=-0.3 binder_pae=0.4 compactness=0.5 interface_contacts=1.0 interface_pae=0.1 iptm_loss=0.05 plddt_loss=0.1 filters Backbone_Clashes <= 0, Binder_RMSD <= 3.5, Interface_Residues >= 7, Unbound_Binder_pLDDT >= 0.7, i_pAE <= 0.35, i_pTM >= 0.7, pTM >= 0.55 results results/pdl1 | 3_Ranked/!_Ranked.csv rewritten as each design is accepted | summary.csv written when the campaign ends ...
[user@cn0231 ~]$ exit salloc.exe: Relinquishing job allocation 46116226 [user@biowulf ~]$
Create a batch script file (e.g. bindcraft2.sh). For example:
#!/bin/bash module load bindcraft2 cp $BINDCRAFT2_TEST_DATA/pdl1.json . bindcraft design pdl1.json
Submit this job using the Slurm sbatch command.
sbatch --partition=gpu --time=24:00:00 --cpus-per-task=16 --mem=24g --gres=gpu:l40:1,lscratch:10 bindcraft2.sh