meshi.geometry.rotamers
Class DunbrackLib

java.lang.Object
  extended by meshi.geometry.rotamers.DunbrackLib
All Implemented Interfaces:
KeyWords

public class DunbrackLib
extends java.lang.Object
implements KeyWords

Reading and working with Dunbrack's backbone dependent rotamer library. The rotamers in this class are sorted in a decreasing order of probability. Note: ----- The library file name should be given in line 19. The library phi/psi resolution is given in line 20. (Dunbrack uses 10 deg) See the constructor comments to learn how to create the class. All the angles are in radians. Torsion angles are in the range [-PI,PI]. Residue types are numbered 0-19 (ALA,CYS,ASP,GLU,PHE,GLY...)


Field Summary
private  int[] maxchi
           
 int nbins
           
private  java.lang.String parametersFileName
           
private  double[][][][] prob
           
 double res
           
private  double[][][][][] rot
           
 
Fields inherited from interface meshi.util.KeyWords
AA_SEQUENCE, ACCESIBILITY_SEQUENCE, ALINMENT_FILE_PATH, ALL_CA, ALPHA_ANGLE_ENERGY, ALPHA_TORSION_ENERGY, ANGLE_ENERGY, ANGLE_X, ANGLE_Z, ATOMIC_PAIRWISE_PMF_SUMMA_ENERGY, BEAUTIFY_PROBLEMATIC_RANGE, BFGS, BOND_ENERGY, BUFFER_SIZE, CA_CLASH_DISTANCE, CA_LONG_DISTANCE, CA_MODEL, CA_SHORT_DISTANCE, CA_TETHER_ENERGY, CALPHA_HYDROGEN_BONDS, CALPHA_HYDROGEN_BONDS_PLANE, CASP_GROUP, CG, CHECK_INTERLOOP_DISTANCE, CLASH_DISTANCE, COMPOSITE_PROPENSITY_ENERGY, CONSENSUS_ENERGY, CONSTRICT, COOPERATIVE_ATOMIC_PAIRWISE_PMF_SUMMA_ENERGY, COOPERATIVE_ATOMIC_PAIRWISE_PMF_SUMMA_FILENAME, COOPERATIVE_PERATOM_SUMMA_ENERGY, COOPERATIVE_PERATOM_SUMMA_FILENAME, COOPERATIVE_PROPENSITY_ENERGY, COOPERATIVE_PROPENSITY_FILENAME, COOPERATIVE_RAMACHANDRAN_ENERGY, COOPERATIVE_RAMACHANDRAN_FILENAME, COOPERATIVE_Z_PROPENSITY_ENERGY, COOPERATIVE_Z_PROPENSITY_FILENAME, COOPERATIVE_Z_RAMACHANDRAN_ENERGY, COOPERATIVE_Z_RAMACHANDRAN_FILENAME, COOPERATIVE_Z_SUMMA_ENERGY, COOPERATIVE_Z_SUMMA_FILENAME, CORPUS_FILE_NAME, CSAonly_FILES_LOCATION_PATH, CUTOFF, CYLINDER_ENERGY, DICTIONARY_KEY, DIELECTRIC_CONSTANT, DISTANCE_CONSTRAINT_PCA, DISTANCE_CONSTRAINTS_ENERGY, DISTANCE_CONSTRAINTS_MASK, DISTANCE_FROM_CENTROID_ENERGY, DRESSER_FRAGMENTS, EDM_ENERGY, EDM_ENERGY_FILE_NAME, ELECTROSTATICS, END, EXCLUDED_VOL, FINAL_TEMPERATURE, FIX_C_TERMINAL, FIX_N_TERMINAL, FLAT_RAMACH_ENERGY, FREE_FINAL_MINIMIZATION, GRID_EDGE, HYDROGEN_BONDS, HYDROGEN_BONDS_ANGLES, HYDROGEN_BONDS_PAIRS, HYDROGEN_BONDS_PLANE, INFLATE_ENERGY, INITIAL_TEMPERATURE, INPUT_FILE, INTER_SEGMENT_FACTOR, INTER_SEGMENT_TOLERANCE, INTRA_SEGMENT_FACTOR, INTRA_SEGMENT_TOLERANCE, ITERATIONS_ALLATOM, ITERATIONS_BACKBONE, ITERATIONS_CA, KEY_KEY, KOEHL_FILE, LBFGS, LENNARD_JONES, LENNARD_JONES_CA, LINEAR_RG, LOOP1, LOOP2, LOOSEN_EDGE_LENGTH, MAX_ANGLE, MAX_CLASHES, MAX_DISTANCE, MAX_RUN_TIME, MAX_STEPS, MAX_WIDTH_OF_HAIRPIN, MCM, MCM_PERTURBATION, MESHILOG_KEY, METHOD, MIN_WIDTH_OF_HAIRPIN, MINIMIZATION_LOOP, MINIMIZE, MODE, MODEL, MODEL_DSSP, MODEL_NUMBER, N_ATOMS, N_TRIES, NON_FROZEN_BOND_DEPTH, NON_FROZEN_RADIUS, NONE, NUMBER, NUMBER_OF_CA_ITERATIONS, NUMBER_OF_CHAINS, NUMBER_OF_MODELS, NUMBER_OF_RUNS, OFF, ON, OPTIMIZER, OUT_OFPLANE_ENERGY, OUTPUT_FILE_NAME, OUTPUT_FILE_PATH, PARAMETERS_DIRECTORY, PDB_FILE, PLANE_ENERGY, PROPENSITY_TORSION_ENERGY, R_MAX, RAMACHANDRAN_SIDECHAIN_ENERGY, REFERENCE, RELAX, REPORT_EVERY, RESTART_EVERY, RMS_TARGET, ROTAMER_LIBRARY, SATURATION, SECONDARY_STRUCTURE, SEED, SEQUENCE, SHOTGUN_MODEL, SMOOTH_ROTAMER_LIBRARY_ENERGY, SOLVATE_ENERGY, SS_NAME, SS_SEQUENCE, STEEPEST_DECENT, STEPS, STRICT_CLASHES, STRUCTURE_NAMES, SUPERIMPOSE, SYMMETRY_ENERGY, TARGET_FILE_PATH, TARGET_NAME, TARGET_SEQUENCE, TEMPLATE_DISTANCE_CONSTRAINTS, TEMPLATE_DSSP, TEMPLATE_ENERGY, TEMPLATE_FILE_PATH, TEMPLATE_NAME, TEMPLATE_STRUCTURE, TEMPLATE_TARGET_ALIGNMENT, TETHER_ENERGY, TOLERANCE, TOPOLOGY_MAP, TWO_TORSIONS_ENERGY, UN_WARP_ENERGY, UNSATISFIED_CUTTOF, UP_TO_CUTOFF, USE_FAST_ARCCOS, VALUE_KEY, VOLUME_CONSTRAINT, WARP_ENERGY, WARP_STEP_SIZE, WARP_THRESHOLD, WEIGHT, WIDTH_OF_HAIRPIN
 
Constructor Summary
DunbrackLib(CommandList commands)
          The default constructor reads up to 15 rotamers or until they cover 98% of the cases.
DunbrackLib(CommandList commands, double minprob, int maxn)
          The constructors needs 2 parameters to decide how many rotamers to load from the library.
DunbrackLib(java.lang.String parametersFileName)
           
 
Method Summary
private  int findInd(double phi)
           
 int getChiMax(int resnum)
          Gives the number of Chi torsion for a specific residue type (parameter #1).
 double getCummSum(int resnum, double phi, double psi)
          Gives the coverage of the rotamers available for a specific residue type (parameter #1) at a certain phi/psi (parameters #2,3).
 double[] getRotamer(int resnum, double phi, double psi, int rotNum)
          Gives the array of a rotamer Chi angle for a specific residue type (parameter #1) at a certain phi/psi (parameters #2,3).
 int getRotamerNum(int resnum, double phi, double psi)
          Gives the number of rotamers available for a specific residue type (parameter #1) at a certain phi/psi (parameters #2,3)
 double getRotamerProb(int resnum, double phi, double psi, int rotNum)
          Gives the probablity for a certain rotamer (whose index is given as parameter #4) for a specific residue type (parameter #1) at a certain phi/psi (parameters #2,3).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

parametersFileName

private java.lang.String parametersFileName

res

public final double res
See Also:
Constant Field Values

nbins

public final int nbins

maxchi

private final int[] maxchi

prob

private double[][][][] prob

rot

private double[][][][][] rot
Constructor Detail

DunbrackLib

public DunbrackLib(CommandList commands)
The default constructor reads up to 15 rotamers or until they cover 98% of the cases.


DunbrackLib

public DunbrackLib(CommandList commands,
                   double minprob,
                   int maxn)
The constructors needs 2 parameters to decide how many rotamers to load from the library. This is neccessary because (for example) Lysine has 81 rotamers most of whom of negligebale probability. The first parameter is the coverage you need from the rotamers. if you put 0.9, the most probable rotamers that cover at least 90% of the cases will be available. The second parameter is the maximal number of rotamer to read (regardless of their coverage).


DunbrackLib

public DunbrackLib(java.lang.String parametersFileName)
Method Detail

findInd

private int findInd(double phi)

getRotamerNum

public int getRotamerNum(int resnum,
                         double phi,
                         double psi)
Gives the number of rotamers available for a specific residue type (parameter #1) at a certain phi/psi (parameters #2,3)


getChiMax

public int getChiMax(int resnum)
Gives the number of Chi torsion for a specific residue type (parameter #1). For example LYS is 4. ASP is 2.


getCummSum

public double getCummSum(int resnum,
                         double phi,
                         double psi)
Gives the coverage of the rotamers available for a specific residue type (parameter #1) at a certain phi/psi (parameters #2,3). If for example the rotamers cover only 94% of the cases the result will be 0.94


getRotamer

public double[] getRotamer(int resnum,
                           double phi,
                           double psi,
                           int rotNum)
Gives the array of a rotamer Chi angle for a specific residue type (parameter #1) at a certain phi/psi (parameters #2,3). The rotamer index is given as parameter #4. The rotamers in a certain phi/psi bin are sorted in decreasing order of probabilty, and are indexed starting from 0 (for the most probable one). For example getRotamer(2,-140/180.0*Math.PI,130/180.0*Math.PI,1) will return an array of two doubles of the Chi1,Chi2 of ASP at that phi/psi location for the second most probable rotamer.


getRotamerProb

public double getRotamerProb(int resnum,
                             double phi,
                             double psi,
                             int rotNum)
Gives the probablity for a certain rotamer (whose index is given as parameter #4) for a specific residue type (parameter #1) at a certain phi/psi (parameters #2,3). The rotamers in a certain phi/psi bin are sorted in decreasing order of probabilty, and are indexed starting from 0 (for the most probable one).