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 - CeSymmResultStructureExceptionpublic 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 symmetryStructureExceptionpublic static MultipleAlignment fromAFP(AFPChain symm, Atom[] atoms) throws StructureException
symm - AFPChain created with a symmetry algorithm and refinedatoms - Atom array of the entire structureStructureExceptionpublic static QuatSymmetryResults getQuaternarySymmetry(CeSymmResult result) throws StructureException
QuatSymmetryDetector algorithm.result - symmetry resultStructureExceptionpublic 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.StructureExceptionpublic static void updateSymmetryScores(MultipleAlignment symm) throws StructureException
symm - Symmetry Multiple Alignment of RepeatsStructureExceptionpublic 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.