Package ffx.potential.utils
Class LoopClosure
java.lang.Object
ffx.potential.utils.LoopClosure
LoopClosure class. The program can be used to find loop structures involving six backbone torsion angles given the
position of the two atoms before the loop and two atoms after the loop. Possible structures for a three residue gap
in a protein can be found given the coordinates of the N and CA atoms of the first residue and the CA ans C atoms of
the third residue. Multiple conformations are suggested by this algorithm when multiple solutions exist.
- Since:
- 1.0
- Author:
- Mallory R. Tollefson
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiondouble
calcT1
(double t0, double t2) Calculate T1.double
calcT2
(double t0) Calculate T2.boolean
getInputAngles
(double[] r_n1, double[] r_a1, double[] r_a3, double[] r_c3) Get the input angles.void
getPolyCoeff
(double[] polyCoeff) Get Polynomial Coefficient.void
polyMul1
(double[] u1, double[] u2, int p1, int p2, double[] u3, int[] p3) Polynomial multiply 1.void
polyMul2
(double[][] u1, double[][] u2, int[] p1, int[] p2, double[][] u3, int[] p3) Polynomial multiplication 2.void
polyMulSub1
(double[] u1, double[] u2, double[] u3, double[] u4, int p1, int p2, int p3, int p4, double[] u5, int[] p5) Polynomial multiply subtraction 1.void
polyMulSub2
(double[][] u1, double[][] u2, double[][] u3, double[][] u4, int[] p1, int[] p2, int[] p3, int[] p4, double[][] u5, int[] p5) Polynomial multiplication subtraction 2.void
polySub1
(double[] u1, double[] u2, int[] p1, int[] p2, double[] u3, int[] p3) Polynomial subtraction 1.void
polySub2
(double[][] u1, double[][] u2, int[] p1, int[] p2, double[][] u3, int[] p3) Polynomial subtraction 2.int
solve3PepPoly
(double[] r_n1, double[] r_a1, double[] r_a3, double[] r_c3, double[][][] r_soln_n, double[][][] r_soln_a, double[][][] r_soln_c) Close a 3-residue loop by filling in the backbone atom coordinates and return the possible solution set.
-
Constructor Details
-
LoopClosure
public LoopClosure()
-
-
Method Details
-
calcT1
public double calcT1(double t0, double t2) Calculate T1.- Parameters:
t0
- a double.t2
- a double.- Returns:
- return a double T1.
-
calcT2
public double calcT2(double t0) Calculate T2.- Parameters:
t0
- a double.- Returns:
- a double T2.
-
getInputAngles
public boolean getInputAngles(double[] r_n1, double[] r_a1, double[] r_a3, double[] r_c3) Get the input angles.- Parameters:
r_n1
- an array ofinvalid reference
double
r_a1
- an array ofinvalid reference
double
r_a3
- an array ofinvalid reference
double
r_c3
- an array ofinvalid reference
double
-
getPolyCoeff
public void getPolyCoeff(double[] polyCoeff) Get Polynomial Coefficient.- Parameters:
polyCoeff
- an array ofinvalid reference
double
-
polyMul1
public void polyMul1(double[] u1, double[] u2, int p1, int p2, double[] u3, int[] p3) Polynomial multiply 1.- Parameters:
u1
- an array ofinvalid reference
double
u2
- an array ofinvalid reference
double
p1
- an int.p2
- an int.u3
- an array ofinvalid reference
double
p3
- an array ofinvalid reference
int
-
polyMul2
public void polyMul2(double[][] u1, double[][] u2, int[] p1, int[] p2, double[][] u3, int[] p3) Polynomial multiplication 2.- Parameters:
u1
- an array ofinvalid reference
double
u2
- an array ofinvalid reference
double
p1
- an array ofinvalid reference
int
p2
- an array ofinvalid reference
int
u3
- an array ofinvalid reference
double
p3
- an array ofinvalid reference
int
-
polyMulSub1
public void polyMulSub1(double[] u1, double[] u2, double[] u3, double[] u4, int p1, int p2, int p3, int p4, double[] u5, int[] p5) Polynomial multiply subtraction 1.- Parameters:
u1
- an array ofinvalid reference
double
u2
- an array ofinvalid reference
double
u3
- an array ofinvalid reference
double
u4
- an array ofinvalid reference
double
p1
- an int.p2
- an int.p3
- an int.p4
- an int.u5
- an array ofinvalid reference
double
p5
- an array ofinvalid reference
int
-
polyMulSub2
public void polyMulSub2(double[][] u1, double[][] u2, double[][] u3, double[][] u4, int[] p1, int[] p2, int[] p3, int[] p4, double[][] u5, int[] p5) Polynomial multiplication subtraction 2.- Parameters:
u1
- an array ofinvalid reference
double
u2
- an array ofinvalid reference
double
u3
- an array ofinvalid reference
double
u4
- an array ofinvalid reference
double
p1
- an array ofinvalid reference
int
p2
- an array ofinvalid reference
int
p3
- an array ofinvalid reference
int
p4
- an array ofinvalid reference
int
u5
- an array ofinvalid reference
double
p5
- an array ofinvalid reference
int
-
polySub1
public void polySub1(double[] u1, double[] u2, int[] p1, int[] p2, double[] u3, int[] p3) Polynomial subtraction 1.- Parameters:
u1
- an array ofinvalid reference
double
u2
- an array ofinvalid reference
double
p1
- an array ofinvalid reference
int
p2
- an array ofinvalid reference
int
u3
- an array ofinvalid reference
double
p3
- an array ofinvalid reference
int
-
polySub2
public void polySub2(double[][] u1, double[][] u2, int[] p1, int[] p2, double[][] u3, int[] p3) Polynomial subtraction 2.- Parameters:
u1
- an array ofinvalid reference
double
u2
- an array ofinvalid reference
double
p1
- an array ofinvalid reference
int
p2
- an array ofinvalid reference
int
u3
- an array ofinvalid reference
double
p3
- an array ofinvalid reference
int
-
solve3PepPoly
public int solve3PepPoly(double[] r_n1, double[] r_a1, double[] r_a3, double[] r_c3, double[][][] r_soln_n, double[][][] r_soln_a, double[][][] r_soln_c) Close a 3-residue loop by filling in the backbone atom coordinates and return the possible solution set. This can include up to 16 solutions.- Parameters:
r_n1
- an array ofinvalid reference
double
r_a1
- an array ofinvalid reference
double
r_a3
- an array ofinvalid reference
double
r_c3
- an array ofinvalid reference
double
r_soln_n
- an array ofinvalid reference
double
r_soln_a
- an array ofinvalid reference
double
r_soln_c
- an array ofinvalid reference
double
-