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, params
newline
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, setParameters
printHelp
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
printHelp
public 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()
StructureAlignment
getAlgorithmName
in interface StructureAlignment
getAlgorithmName
in class CeMain
public java.lang.String getVersion()
StructureAlignment
getVersion
in interface StructureAlignment
getVersion
in class CeMain
public 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 StructureAlignment
align
in class CeMain
ca1
- ca2
- param
- StructureException
public 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 afpChainStructureException
public 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.StructureException
public static AFPChain filterDuplicateAFPs(AFPChain afpChain, CECalculator ceCalc, Atom[] ca1, Atom[] ca2duplicated, int minCPlength) throws StructureException
StructureException
protected 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.