Class CECalculator
java.lang.Object
org.biojava.nbio.structure.align.ce.CECalculator
This is based on the original Combinatorial Extension (CE) source code from 2003 or 2004 (CE version 2.3),
as has been originally developed by I. Shindyalov and P.Bourne (1998).
The original CE paper is available from here: http://peds.oxfordjournals.org/cgi/content/short/11/9/739.
This class is a pretty much exact 1:1 port from C, where I cared about exact reproduce of the CE results
and not about Java style.
- Author:
- Andreas Prlic
-
Field Summary
Modifier and TypeFieldDescriptionprotected int[]
protected int[]
protected int[][]
protected int[][]
protected double
protected int[]
protected double[]
protected static final boolean
protected double[][]
protected int
protected int
protected static final int
protected int
protected int
protected CeParameters
protected int[]
protected int[]
protected static final double
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
double
superimpose and get rmsddouble
Deprecated.void
convertAfpChain
(AFPChain afpChain, Atom[] ca1, Atom[] ca2) copy data from this class into AFPChain container object.protected int
doIter0
(int newBestTrace, double traceTotalScore, double bestTracesMax) extractFragments
(AFPChain afpChain, Atom[] ca1, Atom[] ca2) int[]
int[]
double[][]
getDist1()
double[][]
getDist2()
int
getLcmp()
double[][]
Caution: this matrix is overwriten with very different data at several points in the alignment algorithm.int
getnAtom()
Gets the rotation matrix from the last call tocalc_rmsd
.protected double
getScore2
(int jse1, int jse2, double[][] traceScore, int traceIndex_, int[] traceIndex, int winSizeComb1, int winSizeComb2, double score0, double score1) protected double
getScoreFromDistanceMatrices
(int mse1, int mse2, int winSize) getShift()
Gets the shift from the last call tocalc_rmsd
.double[][]
initSumOfDistances
(int nse1, int nse2, int winSize, int winSizeComb1, Atom[] ca1, Atom[] ca2) void
void
setAlign_se1
(int[] alignSe1) void
setAlign_se2
(int[] alignSe2) void
setDist1
(double[][] dist1) void
setDist2
(double[][] dist2) void
setLcmp
(int lcmp) void
setMatMatrix
(double[][] matrix) void
setnAtom
(int nAtom) void
traceFragmentMatrix
(AFPChain afpChain, Atom[] ca1, Atom[] ca2) static double[][]
updateMatrixWithSequenceConservation
(double[][] max, Atom[] ca1, Atom[] ca2, CeParameters params) Modifies an alignment matrix by favoring the alignment of similar and identical amino acids and penalizing the alignment of unrelated ones.protected double
zStrAlign
(int winSize, int nTrace, double score, int nGaps)
-
Field Details
-
isPrint
protected static final boolean isPrint- See Also:
-
mat
protected double[][] mat -
bestTrace1
protected int[] bestTrace1 -
bestTrace2
protected int[] bestTrace2 -
bestTraces1
protected int[][] bestTraces1 -
bestTraces2
protected int[][] bestTraces2 -
nBestTrace
protected int nBestTrace -
nBestTraces
protected int nBestTraces -
bestTracesN
protected int[] bestTracesN -
bestTraceScore
protected double bestTraceScore -
nTrace
protected int nTrace -
bestTracesScores
protected double[] bestTracesScores -
trace1
protected int[] trace1 -
trace2
protected int[] trace2 -
zThr
protected static final double zThr- See Also:
-
nTraces
protected int nTraces -
params
-
nIter
protected static final int nIter- See Also:
-
-
Constructor Details
-
CECalculator
-
-
Method Details
-
extractFragments
public AFPChain extractFragments(AFPChain afpChain, Atom[] ca1, Atom[] ca2) throws StructureException - Parameters:
afpChain
- A new AFPChain, which will be filled in by this functionca1
-ca2
-- Returns:
- afpChain
- Throws:
StructureException
-
initSumOfDistances
-
traceFragmentMatrix
-
getScore2
protected double getScore2(int jse1, int jse2, double[][] traceScore, int traceIndex_, int[] traceIndex, int winSizeComb1, int winSizeComb2, double score0, double score1) -
doIter0
protected int doIter0(int newBestTrace, double traceTotalScore, double bestTracesMax) -
getScoreFromDistanceMatrices
protected double getScoreFromDistanceMatrices(int mse1, int mse2, int winSize) -
nextStep
- Throws:
StructureException
-
updateMatrixWithSequenceConservation
public static double[][] updateMatrixWithSequenceConservation(double[][] max, Atom[] ca1, Atom[] ca2, CeParameters params) Modifies an alignment matrix by favoring the alignment of similar and identical amino acids and penalizing the alignment of unrelated ones.- Parameters:
max
- alignment matrixca1
- Atoms for protein 1ca2
- Atoms for Protein 2params
- alignment parameters- Returns:
- modified alignment matrix
-
addMatrixListener
-
calc_rmsd
@Deprecated public double calc_rmsd(Atom[] pro1, Atom[] pro2, int strLen, boolean storeTransform, boolean show) throws StructureException Deprecated.Usecalc_rmsd(Atom[],Atom[],int,boolean)
insteadsuperimpose and get rmsd- Parameters:
pro1
-pro2
-strLen
-storeTransform
-show
- Ignored. Formerly displayed the superposition with jmol.- Returns:
- RMSD
- Throws:
StructureException
-
calc_rmsd
public double calc_rmsd(Atom[] pro1, Atom[] pro2, int strLen, boolean storeTransform) throws StructureException superimpose and get rmsd- Parameters:
pro1
-pro2
-strLen
- Number of atoms from pro1 and pro2 to usestoreTransform
- Store rotation and shift matrices locally- Returns:
- RMSD
- Throws:
StructureException
-
zStrAlign
protected double zStrAlign(int winSize, int nTrace, double score, int nGaps) -
convertAfpChain
copy data from this class into AFPChain container object.- Parameters:
afpChain
-ca1
-ca2
-
-
getnAtom
public int getnAtom() -
setnAtom
public void setnAtom(int nAtom) -
getLcmp
public int getLcmp() -
setLcmp
public void setLcmp(int lcmp) -
getAlign_se1
public int[] getAlign_se1() -
setAlign_se1
public void setAlign_se1(int[] alignSe1) -
getAlign_se2
public int[] getAlign_se2() -
setAlign_se2
public void setAlign_se2(int[] alignSe2) -
getMatMatrix
public double[][] getMatMatrix()Caution: this matrix is overwriten with very different data at several points in the alignment algorithm. AfterinitSumOfDistances
is run, this will hold the distance matrix between AFPs.- Returns:
- mat
-
setMatMatrix
public void setMatMatrix(double[][] matrix) -
getRotationMatrix
Gets the rotation matrix from the last call tocalc_rmsd
.- Returns:
- The rotatiokn matrix
-
getShift
Gets the shift from the last call tocalc_rmsd
.- Returns:
- The shift
-
getDist1
public double[][] getDist1() -
setDist1
public void setDist1(double[][] dist1) -
getDist2
public double[][] getDist2() -
setDist2
public void setDist2(double[][] dist2)
-
calc_rmsd(Atom[],Atom[],int,boolean)
instead