X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FAlignmentAnnotation.java;h=c464af2db4fa8d181219e7455c4ad5bf56f6ac82;hb=be762d8d9c71a7aa3121e845c45911c7192b7827;hp=56bfd74e604ae135c1b7ef5b0e9ba07bdd9fbed2;hpb=d1bb7a31fc091606aedbc255a5766ac79e36fa91;p=jalview.git diff --git a/src/jalview/datamodel/AlignmentAnnotation.java b/src/jalview/datamodel/AlignmentAnnotation.java index 56bfd74..c464af2 100755 --- a/src/jalview/datamodel/AlignmentAnnotation.java +++ b/src/jalview/datamodel/AlignmentAnnotation.java @@ -370,49 +370,25 @@ public class AlignmentAnnotation firstChar = annotations[i].displayCharacter.charAt(0); // check to see if it looks like a sequence or is secondary structure // labelling. - if (annotations[i].secondaryStructure != ' ' - && !hasIcons - && - // Uncomment to only catch case where - // displayCharacter==secondary - // Structure - // to correctly redisplay SS annotation imported from Stockholm, - // exported to JalviewXML and read back in again. - // && - // annotations[i].displayCharacter.charAt(0)==annotations[i].secondaryStructure - firstChar != ' ' - && firstChar != '$' - && firstChar != 0xCE - && firstChar != '(' - && firstChar != '[' - && firstChar != '>' - && firstChar != '{' - && firstChar != 'A' - && firstChar != 'B' - && firstChar != 'C' - && firstChar != 'D' - && firstChar != 'E' - && firstChar != 'F' - && firstChar != 'G' - && firstChar != 'H' - && firstChar != 'I' - && firstChar != 'J' - && firstChar != 'K' - && firstChar != 'L' - && firstChar != 'M' - && firstChar != 'N' - && firstChar != 'O' - && firstChar != 'P' - && firstChar != 'Q' - && firstChar != 'R' - && firstChar != 'S' - && firstChar != 'T' - && firstChar != 'U' - && firstChar != 'V' - && firstChar != 'W' - && firstChar != 'X' - && firstChar != 'Y' - && firstChar != 'Z' + if (annotations[i].secondaryStructure != ' ' && !hasIcons && + // Uncomment to only catch case where + // displayCharacter==secondary + // Structure + // to correctly redisplay SS annotation imported from Stockholm, + // exported to JalviewXML and read back in again. + // && + // annotations[i].displayCharacter.charAt(0)==annotations[i].secondaryStructure + firstChar != ' ' && firstChar != '$' && firstChar != 0xCE + && firstChar != '(' && firstChar != '[' && firstChar != '>' + && firstChar != '{' && firstChar != 'A' && firstChar != 'B' + && firstChar != 'C' && firstChar != 'D' && firstChar != 'E' + && firstChar != 'F' && firstChar != 'G' && firstChar != 'H' + && firstChar != 'I' && firstChar != 'J' && firstChar != 'K' + && firstChar != 'L' && firstChar != 'M' && firstChar != 'N' + && firstChar != 'O' && firstChar != 'P' && firstChar != 'Q' + && firstChar != 'R' && firstChar != 'S' && firstChar != 'T' + && firstChar != 'U' && firstChar != 'V' && firstChar != 'W' + && firstChar != 'X' && firstChar != 'Y' && firstChar != 'Z' && firstChar != '-' && firstChar < jalview.schemes.ResidueProperties.aaIndex.length) { @@ -503,12 +479,17 @@ public class AlignmentAnnotation { return ((index + offset < 0) || (index + offset) >= max || annotations[index + offset] == null - || (annotations[index + offset].secondaryStructure <= ' ') ? ' ' - : annotations[index + offset].displayCharacter == null - || annotations[index + offset].displayCharacter - .length() == 0 ? annotations[index + offset].secondaryStructure - : annotations[index + offset].displayCharacter - .charAt(0)); + || (annotations[index + offset].secondaryStructure <= ' ') + ? ' ' + : annotations[index + offset].displayCharacter == null + || annotations[index + + offset].displayCharacter + .length() == 0 + ? annotations[index + + offset].secondaryStructure + : annotations[index + + offset].displayCharacter + .charAt(0)); } @Override @@ -519,10 +500,15 @@ public class AlignmentAnnotation for (int i = offset; i < mx; i++) { - string[i] = (annotations[i] == null || (annotations[i].secondaryStructure <= 32)) ? ' ' - : (annotations[i].displayCharacter == null - || annotations[i].displayCharacter.length() == 0 ? annotations[i].secondaryStructure - : annotations[i].displayCharacter.charAt(0)); + string[i] = (annotations[i] == null + || (annotations[i].secondaryStructure <= 32)) + ? ' ' + : (annotations[i].displayCharacter == null + || annotations[i].displayCharacter + .length() == 0 + ? annotations[i].secondaryStructure + : annotations[i].displayCharacter + .charAt(0)); } return new String(string); } @@ -798,8 +784,8 @@ public class AlignmentAnnotation Annotation[] temp = new Annotation[endRes - startRes + 1]; if (startRes < annotations.length) { - System.arraycopy(annotations, startRes, temp, 0, endRes - startRes - + 1); + System.arraycopy(annotations, startRes, temp, 0, + endRes - startRes + 1); } if (sequenceRef != null) { @@ -1019,8 +1005,8 @@ public class AlignmentAnnotation { if (i + 1 < iSize) { - System.arraycopy(annotations, i + 1, annotations, i, iSize - i - - 1); + System.arraycopy(annotations, i + 1, annotations, i, + iSize - i - 1); } iSize--; } @@ -1052,14 +1038,16 @@ public class AlignmentAnnotation { if (sequenceRef != null) { - boolean rIsDs = sequenceRef.getDatasetSequence() == null, tIsDs = sequenceI - .getDatasetSequence() == null; + boolean rIsDs = sequenceRef.getDatasetSequence() == null, + tIsDs = sequenceI.getDatasetSequence() == null; if (sequenceRef != sequenceI - && (rIsDs && !tIsDs && sequenceRef != sequenceI - .getDatasetSequence()) - && (!rIsDs && tIsDs && sequenceRef.getDatasetSequence() != sequenceI) - && (!rIsDs && !tIsDs && sequenceRef.getDatasetSequence() != sequenceI - .getDatasetSequence()) + && (rIsDs && !tIsDs + && sequenceRef != sequenceI.getDatasetSequence()) + && (!rIsDs && tIsDs + && sequenceRef.getDatasetSequence() != sequenceI) + && (!rIsDs && !tIsDs + && sequenceRef.getDatasetSequence() != sequenceI + .getDatasetSequence()) && !sequenceRef.equals(sequenceI)) { // if sequenceRef isn't intersecting with sequenceI @@ -1254,8 +1242,10 @@ public class AlignmentAnnotation throw new Error( "liftOver currently not implemented for transfer of annotation between different types of seqeunce"); } - boolean mapIsTo = (sp2sq != null) ? (sp2sq.getTo() == sq || sp2sq - .getTo() == sq.getDatasetSequence()) : false; + boolean mapIsTo = (sp2sq != null) + ? (sp2sq.getTo() == sq + || sp2sq.getTo() == sq.getDatasetSequence()) + : false; // TODO build a better annotation element map and get rid of annotations[] Map mapForsq = new HashMap(); @@ -1265,9 +1255,9 @@ public class AlignmentAnnotation { for (Entry ie : sequenceMapping.entrySet()) { - Integer mpos = Integer.valueOf(mapIsTo ? sp2sq - .getMappedPosition(ie.getKey()) : sp2sq.getPosition(ie - .getKey())); + Integer mpos = Integer + .valueOf(mapIsTo ? sp2sq.getMappedPosition(ie.getKey()) + : sp2sq.getPosition(ie.getKey())); if (mpos >= sq.getStart() && mpos <= sq.getEnd()) { mapForsq.put(mpos, ie.getValue()); @@ -1454,8 +1444,8 @@ public class AlignmentAnnotation * up to and excluding the target column; if the count is less * than 1, the opening bracket is unmatched, so return its match */ - String closer = String.valueOf(Rna - .getMatchingClosingParenthesis(symbol)); + String closer = String + .valueOf(Rna.getMatchingClosingParenthesis(symbol)); String opener = String.valueOf(symbol); int count = 0; for (int j = col + 1; j < column; j++)