public class SymmetryTools extends Object
Modifier and Type | Method and Description |
---|---|
static boolean[][] |
blankOutBreakFlag(AFPChain afpChain,
Atom[] ca2,
int rows,
int cols,
CECalculator calculator,
boolean[][] breakFlag,
int blankWindowSize) |
static Matrix |
blankOutCEOrig(Atom[] ca2,
int rows,
int cols,
CECalculator calculator,
Matrix origM,
int blankWindowSize) |
static Matrix |
blankOutPreviousAlignment(AFPChain afpChain,
Atom[] ca2,
int rows,
int cols,
CECalculator calculator,
Matrix max,
int blankWindowSize) |
static org.jgrapht.Graph<Integer,org.jgrapht.graph.DefaultEdge> |
buildSymmetryGraph(AFPChain selfAlignment)
Converts a self alignment into a directed jGraphT of aligned residues,
where each vertex is a residue and each edge means the equivalence
between the two residues in the self-alignment.
|
static List<List<Integer>> |
buildSymmetryGraph(List<AFPChain> afps,
Atom[] atoms,
boolean undirected)
Converts a set of AFP alignments into a Graph of aligned residues, where
each vertex is a residue and each edge means the connection between the
two residues in one of the alignments.
|
static List<Structure> |
divideStructure(CeSymmResult symmetry)
Method that converts the symmetric units of a structure into different
structures, so that they can be individually visualized.
|
static MultipleAlignment |
fromAFP(AFPChain symm,
Atom[] atoms)
Converts a refined symmetry AFPChain alignment into the standard
representation of symmetry in a MultipleAlignment, that contains the
entire Atom array of the strcuture and the symmetric repeats are orgaized
in different rows in a single Block.
|
static double |
getAngle(AFPChain afpChain,
Atom[] ca1,
Atom[] ca2)
Returns the magnitude of the angle between the first and second
blocks of
afpChain , measured in degrees. |
Matrix |
getDkMatrix(Atom[] ca1,
Atom[] ca2,
int fragmentLength,
double[] dist1,
double[] dist2,
int rows,
int cols) |
static Matrix |
getDkMatrix(Atom[] ca1,
Atom[] ca2,
int k,
int fragmentLength) |
static List<Group> |
getGroups(Atom[] rAtoms)
Returns the List of Groups of the corresponding representative Atom
array.
|
static QuatSymmetryResults |
getQuaternarySymmetry(CeSymmResult result)
Given a symmetry result, it calculates the overall global symmetry,
factoring out the alignment and detection steps of
QuatSymmetryDetector algorithm. |
static Atom[] |
getRepresentativeAtoms(Structure structure)
Returns the representative Atom Array of the first model, if the
structure is NMR, or the Array for each model, if it is a biological
assembly with multiple models.
|
static List<Integer> |
getValidFolds(List<Integer> stoichiometry)
Find valid symmetry orders for a given stoichiometry.
|
static Matrix |
grayOutCEOrig(Atom[] ca2,
int rows,
int cols,
CECalculator calculator,
Matrix origM,
int blankWindowSize,
double[] gradientPolyCoeff,
double gradientExpCoeff)
Grays out the main diagonal of a duplicated distance matrix.
|
static Matrix |
grayOutPreviousAlignment(AFPChain afpChain,
Atom[] ca2,
int rows,
int cols,
CECalculator calculator,
Matrix max,
int blankWindowSize,
double[] gradientPolyCoeff,
double gradientExpCoeff) |
static MultipleAlignment |
toFullAlignment(CeSymmResult symm)
Method that converts a repeats symmetric alignment into an alignment of
whole structures.
|
static MultipleAlignment |
toRepeatsAlignment(CeSymmResult result)
Method that converts a symmetry alignment into an alignment of the
repeats only, as new independent structures.
|
static void |
updateSymmetryScores(MultipleAlignment symm)
Update the scores (TM-score and RMSD) of a symmetry multiple alignment.
|
static void |
updateSymmetryTransformation(SymmetryAxes axes,
MultipleAlignment msa)
Calculates the set of symmetry operation Matrices (transformations) of
the new alignment, based on the symmetry relations in the SymmetryAxes
object.
|
public static Matrix grayOutCEOrig(Atom[] ca2, int rows, int cols, CECalculator calculator, Matrix origM, int blankWindowSize, double[] gradientPolyCoeff, double gradientExpCoeff)
ca2
- rows
- Number of rowscols
- Number of original columnscalculator
- Used to get the matrix if origM is nullorigM
- starting matrix. If null, uses
CECalculator.getMatMatrix()
blankWindowSize
- Width of section to gray outgradientPolyCoeff
- gradientExpCoeff
- public static Matrix grayOutPreviousAlignment(AFPChain afpChain, Atom[] ca2, int rows, int cols, CECalculator calculator, Matrix max, int blankWindowSize, double[] gradientPolyCoeff, double gradientExpCoeff)
public Matrix getDkMatrix(Atom[] ca1, Atom[] ca2, int fragmentLength, double[] dist1, double[] dist2, int rows, int cols)
public static Matrix blankOutPreviousAlignment(AFPChain afpChain, Atom[] ca2, int rows, int cols, CECalculator calculator, Matrix max, int blankWindowSize)
public static Matrix blankOutCEOrig(Atom[] ca2, int rows, int cols, CECalculator calculator, Matrix origM, int blankWindowSize)
public static Matrix getDkMatrix(Atom[] ca1, Atom[] ca2, int k, int fragmentLength)
public static boolean[][] blankOutBreakFlag(AFPChain afpChain, Atom[] ca2, int rows, int cols, CECalculator calculator, boolean[][] breakFlag, int blankWindowSize)
public static double getAngle(AFPChain afpChain, Atom[] ca1, Atom[] ca2)
afpChain
, measured in degrees. This is always a
positive value (unsigned).afpChain
- ca1
- ca2
- public static List<List<Integer>> buildSymmetryGraph(List<AFPChain> afps, Atom[] atoms, boolean undirected)
afps
- List of AFPChainsatoms
- Atom array of the symmetric structureundirected
- if true, the graph is undirectedpublic static org.jgrapht.Graph<Integer,org.jgrapht.graph.DefaultEdge> buildSymmetryGraph(AFPChain selfAlignment)
selfAlignment
- AFPChainpublic static List<Structure> divideStructure(CeSymmResult symmetry) throws StructureException
symmetry
- CeSymmResultStructureException
public static MultipleAlignment toFullAlignment(CeSymmResult symm)
Example: if the structure has repeats A,B and C, the original alignment is A-B-C, and the returned alignment is ABC-BCA-CAB.
symm
- CeSymmResultpublic static MultipleAlignment toRepeatsAlignment(CeSymmResult result) throws StructureException
This method changes the structure identifiers, the Atom arrays and re-scles the aligned residues in the Blocks corresponding to those changes.
Application: display superimposed repeats in Jmol.
result
- CeSymmResult of symmetryStructureException
public static MultipleAlignment fromAFP(AFPChain symm, Atom[] atoms) throws StructureException
symm
- AFPChain created with a symmetry algorithm and refinedatoms
- Atom array of the entire structureStructureException
public static QuatSymmetryResults getQuaternarySymmetry(CeSymmResult result) throws StructureException
QuatSymmetryDetector
algorithm.result
- symmetry resultStructureException
public static List<Group> getGroups(Atom[] rAtoms)
rAtoms
- array of representative Atoms (CA, P, etc).public static void updateSymmetryTransformation(SymmetryAxes axes, MultipleAlignment msa) throws StructureException
This method also sets the scores (RMSD and TM-score) after the new superposition has been updated.
axes
- SymmetryAxes object. It will be modified.msa
- MultipleAlignment. It will be modified.StructureException
public static void updateSymmetryScores(MultipleAlignment symm) throws StructureException
symm
- Symmetry Multiple Alignment of RepeatsStructureException
public static Atom[] getRepresentativeAtoms(Structure structure)
structure
- public static List<Integer> getValidFolds(List<Integer> stoichiometry)
stoichiometry
- List giving the number of copies in each Subunit clusterCopyright © 2000–2019 BioJava. All rights reserved.