Class LoopClosure

java.lang.Object
ffx.potential.utils.LoopClosure

public class LoopClosure extends Object
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

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    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.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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 - a double array.
      r_a1 - a double array.
      r_a3 - a double array.
      r_c3 - a double array.
    • getPolyCoeff

      public void getPolyCoeff(double[] polyCoeff)
      Get Polynomial Coefficient.
      Parameters:
      polyCoeff - a double array.
    • polyMul1

      public void polyMul1(double[] u1, double[] u2, int p1, int p2, double[] u3, int[] p3)
      Polynomial multiply 1.
      Parameters:
      u1 - a double array.
      u2 - a double array.
      p1 - an int.
      p2 - an int.
      u3 - a double array.
      p3 - an int array.
    • polyMul2

      public void polyMul2(double[][] u1, double[][] u2, int[] p1, int[] p2, double[][] u3, int[] p3)
      Polynomial multiplication 2.
      Parameters:
      u1 - a double array.
      u2 - a double array.
      p1 - an int array.
      p2 - an int array.
      u3 - a double array.
      p3 - an int array.
    • 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 - a double array.
      u2 - a double array.
      u3 - a double array.
      u4 - a double array.
      p1 - an int.
      p2 - an int.
      p3 - an int.
      p4 - an int.
      u5 - a double array.
      p5 - an int array.
    • 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 - a double array.
      u2 - a double array.
      u3 - a double array.
      u4 - a double array.
      p1 - an int array.
      p2 - an int array.
      p3 - an int array.
      p4 - an int array.
      u5 - a double array.
      p5 - an int array.
    • polySub1

      public void polySub1(double[] u1, double[] u2, int[] p1, int[] p2, double[] u3, int[] p3)
      Polynomial subtraction 1.
      Parameters:
      u1 - a double array.
      u2 - a double array.
      p1 - an int array.
      p2 - an int array.
      u3 - a double array.
      p3 - an int array.
    • polySub2

      public void polySub2(double[][] u1, double[][] u2, int[] p1, int[] p2, double[][] u3, int[] p3)
      Polynomial subtraction 2.
      Parameters:
      u1 - a double array.
      u2 - a double array.
      p1 - an int array.
      p2 - an int array.
      u3 - a double array.
      p3 - an int array.
    • 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 - a double array.
      r_a1 - a double array.
      r_a3 - a double array.
      r_c3 - a double array.
      r_soln_n - a double array.
      r_soln_a - a double array.
      r_soln_c - a double array.