public class CeCPMain extends CeMain
CeMain which sets default parameters to be appropriate for finding
circular permutations.
A circular permutation consists of a single cleavage point and rearrangement between two structures, for example:
ABCDEFG DEFGABC
| Modifier and Type | Class and Description |
|---|---|
protected static class |
CeCPMain.CPRange
Tiny wrapper for the disallowed regions of an alignment.
|
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
algorithmName |
static int |
DEFAULT_MIN_CP_LENGTH |
static java.lang.String |
version
version history:
1.3 - Short CPs are now discarded
1.2 - now supports check AlignmentTools.isSequentialAlignment.
|
calculator, paramsnewline| Constructor and Description |
|---|
CeCPMain() |
| Modifier and Type | Method and Description |
|---|---|
AFPChain |
align(Atom[] ca1,
Atom[] ca2,
java.lang.Object param)
Aligns ca1 and ca2 using a heuristic to check for CPs.
|
protected static CeCPMain.CPRange |
calculateMinCP(int[] block,
int blockLen,
int ca2len,
int minCPlength)
Finds the alignment index of the residues minCPlength before and after
the duplication.
|
static AFPChain |
filterDuplicateAFPs(AFPChain afpChain,
CECalculator ceCalc,
Atom[] ca1,
Atom[] ca2duplicated)
Takes as input an AFPChain where ca2 has been artificially duplicated.
|
static AFPChain |
filterDuplicateAFPs(AFPChain afpChain,
CECalculator ceCalc,
Atom[] ca1,
Atom[] ca2duplicated,
int minCPlength) |
java.lang.String |
getAlgorithmName()
Get the name of the Algorithm
|
java.lang.String |
getVersion()
Get the Version information for this Algorithm.
|
static void |
main(java.lang.String[] args) |
static AFPChain |
postProcessAlignment(AFPChain afpChain,
Atom[] ca1,
Atom[] ca2m,
CECalculator calculator)
Circular permutation specific code to be run after the standard CE alignment
|
align, getCECalculator, getParameters, setParametersprintHelpclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitprintHelppublic static final java.lang.String algorithmName
public static final int DEFAULT_MIN_CP_LENGTH
public static final java.lang.String version
public java.lang.String getAlgorithmName()
StructureAlignmentgetAlgorithmName in interface StructureAlignmentgetAlgorithmName in class CeMainpublic java.lang.String getVersion()
StructureAlignmentgetVersion in interface StructureAlignmentgetVersion in class CeMainpublic static void main(java.lang.String[] args)
public AFPChain align(Atom[] ca1, Atom[] ca2, java.lang.Object param) throws StructureException
Aligns ca1 against a doubled ca2, then cleans up the alignment.
align in interface StructureAlignmentalign in class CeMainca1 - ca2 - param - StructureExceptionpublic static AFPChain postProcessAlignment(AFPChain afpChain, Atom[] ca1, Atom[] ca2m, CECalculator calculator) throws StructureException
afpChain - The finished alignmentca1 - CA atoms of the first proteinca2m - A duplicated copy of the second proteincalculator - The CECalculator used to create afpChainStructureExceptionpublic static AFPChain filterDuplicateAFPs(AFPChain afpChain, CECalculator ceCalc, Atom[] ca1, Atom[] ca2duplicated) throws StructureException
The current version chooses a CP site such that the length of the alignment is maximized.
This method does not update scores to reflect the filtered alignment. It does update the RMSD and superposition.
afpChain - The alignment between ca1 and ca2-ca2. Blindly assumes
that ca2 has been duplicated.StructureExceptionpublic static AFPChain filterDuplicateAFPs(AFPChain afpChain, CECalculator ceCalc, Atom[] ca1, Atom[] ca2duplicated, int minCPlength) throws StructureException
StructureExceptionprotected static CeCPMain.CPRange calculateMinCP(int[] block, int blockLen, int ca2len, int minCPlength)
block - The permuted block being considered, generally optAln[0][1]blockLen - The length of the block (in case extra memory was allocated in block)ca2len - The length, in residues, of the protein specified by blockminCPlength - The minimum number of residues allowed for a CPblock of the residue such that
minCPlength residues remain to the end of ca2len,
or -1 if no residue fits that criterium.ca2len.minCPlength-th residue after ca2len,
or ca2len*2 if no residue fits that criterium.