From victor
Jump to: navigation, search

Lobo is a Loop Modeling software that uses pre-calculated Look-Up Tables (LUTs) that represent loop fragments of various sizes to speed up calculation. LUTs can be generated once and stored, only requiring loading during loop modeling.

Conformations are produced by recursively dividing the segment until the backbone coordinates can be derived analytically.


Look-Up Tables (LUT)

How to create a LUT

The construction of the LUTs is separated from modelling and has to be executed only once. LoboLUT is a program necessary to create a look-up table of a specific length. To create a LUT to model loops of length N, first is necessary to create LUTs from size 2 to N/2.

./loboLUT -A 1 -B 1 -O aa2.lt --table <destination path> 
./loboLUT -A aa2.lt -B 1 -O aa3.lt --table <destination path> 
./loboLUT -A aa2.lt -B aa2.lt -O aa4.lt --table <destination path> 

N.B. Remember you set the VICTOR_ROOT path to select a convenient destination path.

How to create a LUT for a fragment of size N

LoboLUT_all is a perl script used to automatically generate all the necessary LUTs for modelling a fragment of length N. For example, to create LUTs for a fragment of length 5 you can run the following command:

./loboLUT_all -c 5 

this will create LUTs for fragments of length 2, 3 and 5.

Check the content of a LUT

The LUT standard format is binary both for performance and space efficiency reasons. LoopTablePlot is a different application necessary to see or plot the LUT content. For example, to see the LUT aa5.lt (created previously):

./LoopTablePlot -i aa5.lt  -o <plot output file> -s l 

The output file contains the list of possible loop angles. The s option allows to define the numerical precision (small=s, medium=m, large=l) of course strongly affecting the storage size.

Loop modelling

How to identify loops in PDBs

CreateLoopTestset is a program that allows you to model a single loop. It gives the user full flexibility about the setting of parameters for ranking and modelling. It finds the starting and ending positions in a single o multiple PDB files. Its output can be used to model the loop with the LoopModelTest application. To obtain the list of starting and ending points:

./createLoopTestset -o listLoops -i ../samples/filelist 

Where the content in filelist is for example:


The output will be:

index1 (-s): 7 index2 (-e) 14 
index1 (-s): 48 index2 (-e) 52 
index1 (-s): 86 index2 (-e) 89 
index1 (-s): 99 index2 (-e) 104 

where the (-s) and (-e) are the starting position and ending position respectively. If many PDBs are evaluated, the application will show all the loops for the first listed PDB and then loops of the following ones.

How to model a loop

LoopModelTest allows to generate possible loop conformations and creates a PDB file for each solution:

./LoopModelTest -i ../samples/<pdb_file.pdb> -c A -s X -e Y

Where X and Y are the start and end positions obtained by CreateLoopTestset and -c A tells the program to work on the chain A of an specific PDB file: Using the information obtained with the app CreateLoopTestset ./LoopModelTest -i ../samples/119L.pdb -c A -s 7 -e 14 Remember to create the lookup table for a 7 length fragment using ./loboLUT_all -c 7

The new pdbs files fill be created in the working path, and in the printed output will be shown the global RMS, end RMS, bond lenght, bond angle and torsion angle

Printed output Results: 1.35 121 180

 0   global RMS=  0.416   ( 0.366)	end-RMS=  0.234	    1.17     126     175 
 1   global RMS=  0.356   ( 0.295)	end-RMS= 0.0822	    1.38     121    -176 

How to obtain a PDB`s torsion angles

Loop2torsion is a c++ program that allows to obtain all the phi and psi angles of all the amino acids in a selected PDB chain .

To obtain the angles a PDB file is needed as input and also the chain should be specified

   ./loop2torsion -i ../samples/2R8O.pdb -c A  

The printed output is the list of the angles and the Bfactor of 1.

  -72.1     157    1.0 
   -165     142    1.0 
    122    -172    1.0 
   -126    98.1    1.0 

How to Clustering data

Using the tor file created in Energy package, ClusterRama, a c++ program clusters the data contained in a Ramachandran distribution file To obtain the clustered data using a cutoff value of 100

   ./ClusterRama -i ../data/tor.par -o outRama -c 100.0 

The output contains the number of the values found the angles values and the corresponding residue 12

-55.07    -44.61   GLY 
 76.11    -172.4   GLY 
-139.2       129   GLY 

How to generate clustered lookup tables

Based in the clustered data the LoopTableTest c++ program generates tables of protein entries for the Lobo algorithm .
   ./LoopTableTest -A 1 -B 1 -O output.lt -R outRama -S s 
To create the Ramachandran input file that contains the clustered data use ClusterRama application. 

The output created is not a plan text file, use the LoopTablePlot application The printed output, includes the corresponding angle values (see figure) Min: EP: -4.126 ED: -1.281 N: -0.9997 MP: -1.582 MD: -0.4919 MN: -0.9949 EP: 2.6 ED: -1.332 N: -1 MP: 1.521 MD: 0.4671 MN: -0.8217 EP: -3.966 ED: -1.289 N: -0.9836 MP: -1.598 MD: -0.7378 MN: -0.5885 Max: EP: 3.437 ED: 1.022 N: 0.6597 MP: 0.9131 MD: 0.5203 MN: 0.8068 EP: 4.856 ED: 0.1761 N: 0.6105 MP: 2.486 MD: 0.9987 MN: 0.6888 EP: 3.592 ED: 1.27 N: 0.9813 MP: 1.307 MD: 0.8342 MN: 0.7185

Entry 0 EP: -2.737 ED: -0.01248 N: -0.02252 MP: -0.8014 MD: 0.2146 MN: 0.6219 EP: 2.699 ED: -1.172 N: 0.5104 MP: 1.879 MD: 0.921 MN: -0.3856 EP: 1.984 ED: -0.6955 N: -0.8596 MP: 1.022 MD: 0.3252 MN: 0.6816

How to generate lookup tables using Ramachandran`s clustered data

Based on a lookup table already created with LoboLUT/loboLUT_all and defining a cutoff value. The ClusterLoopTable program allows you to create the new clustered lookuptable. In this example, a cutoff of 10 is set, and it uses the lookup table for a length of 5.

   ./ClusterLoopTable -I ../data/aa5.lt -O ../data/aa5clustered.lt -C 10.0 

The created output is not a plain text file, to see the content use the LoopTablePlot application

How to analyze the backbone geometry of a PDB

BackboneAnalyzer is an application that allows to analyze a PDB file in terms of bond lengths and bond angles . As input it uses the PDB file and the chain to evaluate

      ./backboneAnalyzer -i ../samples/2R8O.pdb -c A 

The printed output includes the minimum, maximum, average bonds lengths and angles and the corresponding standard deviations.

Bond Lengths Bond Angles Num N->CA CA->C' C'->N N->CA CA->C' C'->N

Min: 1.4450 1.5019 1.3206 116.87 104.83 112.55 Max: 1.4804 1.5479 4.0701 158.03 118.34 158.56

Avg: 1.4636 1.5272 1.3505 121.58 111.71 116.73 SD: 0.0054 0.0067 0.2074 2.45 2.16 1.98