/** * Guesses the order of symmetry in an alignment * * <p>Uses {@link #getSymmetryOrder(Map alignment, Map identity, int, float)} to determine the the * symmetry order. For the identity alignment, sorts the aligned residues of each protein * sequentially, then defines the ith residues of each protein to be equivalent. */ public static int getSymmetryOrder(AFPChain afpChain, int maxSymmetry, float minimumMetricChange) throws StructureException { // alignment comes from the afpChain alignment Map<Integer, Integer> alignment = AlignmentTools.alignmentAsMap(afpChain); // Now construct identity to map aligned residues in sequential order Map<Integer, Integer> identity = guessSequentialAlignment(alignment, true); return AlignmentTools.getSymmetryOrder(alignment, identity, maxSymmetry, minimumMetricChange); }