X-Git-Url: http://source.jalview.org/gitweb/?p=jalview.git;a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FAlignmentAnnotation.java;h=e39c0b781610b56f3e2be9fdaac1f516e76c3935;hp=5145a4fe1c2ddec2319475e686bdaf5543715297;hb=0e2054d29bc49351f000d478659dc3c4371b251c;hpb=dbc8ffccfdd7ff6f028ef8496e168219bd49ec8a diff --git a/src/jalview/datamodel/AlignmentAnnotation.java b/src/jalview/datamodel/AlignmentAnnotation.java index 5145a4f..e39c0b7 100755 --- a/src/jalview/datamodel/AlignmentAnnotation.java +++ b/src/jalview/datamodel/AlignmentAnnotation.java @@ -19,11 +19,16 @@ package jalview.datamodel; import jalview.analysis.Rna; +import jalview.analysis.SecStrConsensus.SimpleBP; + import jalview.analysis.WUSSParseException; +import java.util.ArrayList; import java.util.Enumeration; import java.util.Hashtable; +import fr.orsay.lri.varna.models.rna.RNA; + /** * DOCUMENT ME! * @@ -50,7 +55,10 @@ public class AlignmentAnnotation /** DOCUMENT ME!! */ public Annotation[] annotations; + + + public ArrayList bps=null; /** * RNA secondary structure contact positions */ @@ -69,13 +77,15 @@ public class AlignmentAnnotation */ private void _updateRnaSecStr(CharSequence RNAannot) { - try - { - _rnasecstr = Rna.GetBasePairs(RNAannot); - invalidrnastruc = -1; - } catch (WUSSParseException px) + try { + _rnasecstr = Rna.GetBasePairs(RNAannot); + bps = Rna.GetModeleBP(RNAannot); + invalidrnastruc=-1; + } + catch (WUSSParseException px) { - invalidrnastruc = px.getProblemPos(); + // DEBUG System.out.println(px); + invalidrnastruc=px.getProblemPos(); } if (invalidrnastruc > -1) { @@ -193,7 +203,11 @@ public class AlignmentAnnotation return NO_GRAPH; } } - + // JBPNote: what does this do ? + public void ConcenStru(CharSequence RNAannot) throws WUSSParseException + { + bps = Rna.GetModeleBP(RNAannot); + } /** * Creates a new AlignmentAnnotation object. * @@ -241,7 +255,37 @@ public class AlignmentAnnotation else // Check for RNA secondary structure { - if (annotations[i].secondaryStructure == 'S') + //System.out.println(annotations[i].secondaryStructure); + if (annotations[i].secondaryStructure == '(' + || annotations[i].secondaryStructure == '[' + || annotations[i].secondaryStructure == '<' + || annotations[i].secondaryStructure == '{' + || annotations[i].secondaryStructure == 'A' + || annotations[i].secondaryStructure == 'B' + || annotations[i].secondaryStructure == 'C' + || annotations[i].secondaryStructure == 'D' + || annotations[i].secondaryStructure == 'E' + || annotations[i].secondaryStructure == 'F' + || annotations[i].secondaryStructure == 'G' + || annotations[i].secondaryStructure == 'H' + || annotations[i].secondaryStructure == 'I' + || annotations[i].secondaryStructure == 'J' + || annotations[i].secondaryStructure == 'K' + || annotations[i].secondaryStructure == 'L' + || annotations[i].secondaryStructure == 'M' + || annotations[i].secondaryStructure == 'N' + || annotations[i].secondaryStructure == 'O' + || annotations[i].secondaryStructure == 'P' + || annotations[i].secondaryStructure == 'Q' + || annotations[i].secondaryStructure == 'R' + || annotations[i].secondaryStructure == 'S' + || annotations[i].secondaryStructure == 'T' + || annotations[i].secondaryStructure == 'U' + || annotations[i].secondaryStructure == 'V' + || annotations[i].secondaryStructure == 'W' + || annotations[i].secondaryStructure == 'X' + || annotations[i].secondaryStructure == 'Y' + || annotations[i].secondaryStructure == 'Z') { hasIcons |= true; isrna |= true; @@ -272,9 +316,38 @@ public class AlignmentAnnotation // && // annotations[i].displayCharacter.charAt(0)==annotations[i].secondaryStructure firstChar != ' ' - && firstChar != 'H' + && firstChar != '$' + && firstChar != 'ยต' // JBPNote should explicitly express as unicode number to avoid source code translation problems + && 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) { @@ -509,7 +582,7 @@ public class AlignmentAnnotation { if (annotations[i] != null) { - annotations[i].displayCharacter = ""; + annotations[i].displayCharacter = "X"; } } } @@ -974,7 +1047,7 @@ public class AlignmentAnnotation { if (annotations[i] == null) annotations[i] = new Annotation(String.valueOf(gapchar), null, - ' ', 0f); + ' ', 0f,null); else if (annotations[i].displayCharacter == null || annotations[i].displayCharacter.equals(" ")) annotations[i].displayCharacter = String.valueOf(gapchar); @@ -1035,5 +1108,4 @@ public class AlignmentAnnotation { this.calcId = calcId; } - }