Skip to content

Helper scripts for FRET-restrained MD simulations. Generate AMBER restraint files (DISANG).

License

Notifications You must be signed in to change notification settings

Fluorescence-Tools/FRETrest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FRETrest

FRETrest is a set of helper scripts for generating FRET-restraints for Molecular Dynamics (MD) simulations performed with AMBER Software Suite. FRETrest saves restraints in DISANG format, which is also used by AMBER Software Suite for NMR-based restraints (see section 25.1 of AMBER manual). FRETrest implements FRET restraints for implicit dyes represented by pseudo atoms. Each pseudo atom represents the statistical mean position of the fluorescent dye as determined by Accessible Volume simulations (Kalinin2012, LabelLib). These pseudo atoms are restrained with respect to the backbone atoms of the labeled residue and, optionally, adjacent residues. FRETrest can be used to incorporate experimental data obtained from different types of FRET experiments (Dimura2020, Kalinin2012) with various organic dyes and linkers. For MD simulations with explicit (as opposed to implicit) dyes see section 3.10 of AMBER manual.

Adding FRET restraints to an MD simulation, takes two steps: (1) add pseudo atoms to the topology file, (2) tether pseudo atoms to the corresponding backbone residues and apply FRET restraints between pseudo atoms. These two steps are performed by two scripts: placeAVmp.py and FRETrest.py correspondingly.

First, this command will add dummy atoms to a PDB file of T4 lysozyme protein (PDB ID 148L) and save it to 148l_PA.pdb:

python3 placeAVmp.py -p 148l_noH.pdb -o 148l_PA.pdb -j t4l.fps.json --chi2 'C3 χ²'

For the script to work, an input PDB file (148l_noH.pdb) and a FRET configuration file (t4l.fps.json) must be provided. FRET configuration file can be generated by Olga software Dimura2020. C3 χ² is the name of the relevant χ² evaluator from t4l.fps.json. Labeling positions, that are present in the t4l.fps.json, but are not relevant to the specified χ² will be omitted from the resulting PDB.

Second, this command will generate the AMBER restraint (DISANG) file:

python3 FRETrest.py \
  -t 148l_watio_hmr.prmtop \
  -r Equil/26_md_nvt_red_pme_11.restrt \
  -j t4l.fps.json --chi2 'C3 χ²' \
  --fout prod_0001.f --restout prod_0000.restrt \
  --force 50 --resoffset -1

It will also generate an updated restart file, so that if there are any inconsistencies between the conformation of the macromolecule and dummy atom positions, positions of the dummy atoms are adjusted accordingly. Here 148l_watio_hmr.prmtop is an AMBER topology file, 26_md_nvt_red_pme_11.restrt is an input restart file, prod_0001.f is the path to the resulting restraints file, prod_0000.restrt is the path to the resulting adjusted restart file. --force 50 stands for the maximum inter-dummy force of 50 piconewtons. --resoffset -1 option should be provided if the residue numbering in t4l.fps.json is shifted by one residue compared to the .prmtop file. This can happen if e.g. residue numbering starts from "1" in the t4l.fps.json, but in the .prmtop it starts from "0", as is usual. The offset can be any integer number, positive or negative.

Comprehensive step by step usage examples are available at examples/T4L/t4l.sh and examples/hGBP1/hGBP1.sh. To use the scripts you would need a working installation of AmberTools, and python libraries LabelLib and mdtraj.

Citation

If you have used FRETrest in a scientific publication, we would appreciate citation to the following paper Dimura et all 2020:

Dimura, M., Peulen, T., Sanabria, H., Rodnin, D., Hemmen, K., Hanke, C., Seidel, C. A. M., and Gohlke, H. Automated and optimally FRET-assisted structural modeling. Nat. Commun. 11 (2020); doi: 10.1038/s41467-020-19023-1

About

Helper scripts for FRET-restrained MD simulations. Generate AMBER restraint files (DISANG).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages