Skip to content

Tool for preparing DDGP instance files for the branch-and-prune MDjeep

Notifications You must be signed in to change notification settings

simonheng/BP_ProteinFileReader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This project was created as part of the PhD thesis of Simon Hengeveld, under the supervision of Dr. Antonio Mucherino (https://www.antoniomucherino.it). 

This project allows to user to read various input files that are relevant in the context of distance-based protein structure determination.
The input can be an NMR (STAR) file, a PDB file or a DMDGP file. 
The output can be in two formats.
The first is a distance file (.mr file) that can be read by the open source branch-and-prune solver MDJeep (https://github.com/mucherino/mdjeep).
The second is a .dmdgp file, which is a format associated with the branch-and-prune solver ibp-ng (https://github.com/geekysuavo/ibp-ng).

First of all, the .java source files need to be compiled in a way such that the resulting .class files should be located in the same folder as the input file folders (e.g. PDB_files/). 
This can be achieved for example by running this javac command:

javac -d . -sourcepath src/ src/Main.java

After compiling the .java files, the code can be used by running the main method of the Main class. The syntax looks as follows:

java Main [input type] [options]

There are three possible input types:
- nmr
- pdb
- dmdgp

From each of these three input types, we generate DDGP instances that can then be solved by branch-and-prune solvers (such as MDjeep).

NMR (STAR) files contain resulting data from NMR experiments. These files can describe distance restraints between hydrogen atoms as well as backbone torsion angles that were obtained by a technique such as TALOS+. 
From these files, we generate genuine DDGP instances, where bond lengths, bond angles and improper torsion angles are taken from forcefield parameters. Psi/phi backbone angles are taken from the NMR STAR files and Omega backbone angles are set to 180 degrees (all amino acids are assumed to be trans). Finally, missing phi/psi angles are set to an interval of (-180,180).

For the NMR input type, the following options are available:
     --input | the input STAR file (required). The STAR file should be located in the NMR_files folder.
     --output| the output file name (required). In case the output file ends in .dmdgp, the output will be saved in the .dmdgp format for ibp-ng!
        --ff | the force field used (charmm, amber) for generating certain distances. Default: charmm.
     --hydro | whether or not we include hydrogens (true/false). Default: true.
     --waals | whether or not we include van der Waals restraints in the output DDGP file (true/false). Default: true.
 --sidechain | whether or not we include the sidechain atoms (true/false). Default: false.

An example call is:
java Main nmr --input 2jmy_mr.str --output 2jmy.dmdgp --ff amber --hydro true --sidechain true --waals true

PDB files are from the Protein Databank (https://www.rcsb.org) and describe 3D conformations of proteins. From these files, we can generate DDGP instances that can then be solved by branch-and-prune solvers. Depending on the selected options, the distance types in these instances are generated in different ways. Bond lengths may be taken from a forcefield or directly simulated from the PDB file. Bond angles may be taken from the forcefield, directly from the PDB file, or based on averages of the Ramachandran plot. Phi/psi angles are generated in an interval (the interval size is a parameter). Omega angles are simulated from the PDB. There are no NMR restraints included (generally these instances are related to X-ray crystallography proteins, where no hydrogens are included!).

For the PDB input type, the following options are available:
     --input | the input PDB file (required). The file should be located in the PDB_files folder.
     --output| the output file name (required). In case the output file ends in .dmdgp, the output will be saved in the .dmdgp format for ibp-ng!
        --ff | the force field used (charmm, amber) for generating certain distances. Default: charmm.
     --bonds | the source for the bond length distance (forcefield, pdb). Default: forcefield.
    --angles | the source for the bond angle distances (forcefield, rama, pdb). Default: forcefield.
 --torsrange | the size of the simulated phi/psi intervals. Default: 10.0 degrees.

An example call is:
java Main pdb --input 2jmy.pdb --output 2jmy.mr --ff amber --torsrange 15 --bonds pdb --angles rama

DMDGP files are generated by the branch-and-prune solver ibp-ng (https://github.com/geekysuavo/ibp-ng). These files describe interatomic distances as well as improper and proper dihedral angles. This tool can be used to translate .dmdgp files to .mr files. Note that because MDjeep is a pure distance-based solver, the dihedral angle information will be converted to distances, which is a loss of information (the sign of the angles).

For the DMDGP input type, the following options are available:
     --input | the input DMDGP file (required). The file should be located in the DMDGP_files folder.
     --output| the output file name (required). In case the output file ends in .dmdgp, the output will be saved in the .dmdgp format for ibp-ng!

An example call is:
java Main dmdgp --input 1C4QD.dmdgp --output 1C4QD.mr

About

Tool for preparing DDGP instance files for the branch-and-prune MDjeep

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages