X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FAlignmentView.java;h=e089a113eda39f9c2055b1777095ce51f1e28abb;hb=47bbb25ec91be3ee864d7ee5393bcf7a19688f87;hp=a6f43104247eeb7843d8d9c64113b547190f3d9f;hpb=7173f016824ca1dfa0ad0c9ee0e5b2cb46143d2f;p=jalview.git diff --git a/src/jalview/datamodel/AlignmentView.java b/src/jalview/datamodel/AlignmentView.java index a6f4310..e089a11 100644 --- a/src/jalview/datamodel/AlignmentView.java +++ b/src/jalview/datamodel/AlignmentView.java @@ -474,12 +474,8 @@ public class AlignmentView for (int i = 0, j = sequences.length; i < j; i++) { aln[i] = sequences[i].getSeq(c); - } - // Remove hidden regions from sequence objects. - String seqs[] = getSequenceStrings(c); - for (int i = 0, j = aln.length; i < j; i++) - { - aln[i].setSequence(seqs[i]); + // Remove hidden regions from sequence + aln[i].setSequence(getASequenceString(c, i)); } return aln; } @@ -515,8 +511,38 @@ public class AlignmentView } /** + * build a string excluding hidden regions from a particular sequence in the + * view + * + * @param c + * @param n + * @return + */ + private String getASequenceString(char c, int n) + { + String sqn; + String fullseq = sequences[n].getSequenceString(c); + if (contigs != null) + { + sqn = ""; + int p = 0; + for (int h = 0; h < contigs.length; h += 3) + { + sqn += fullseq.substring(p, contigs[h + 1]); + p = contigs[h + 1] + contigs[h + 2]; + } + sqn += fullseq.substring(p); + } + else + { + sqn = fullseq; + } + return sqn; + } + + /** * get an array of visible sequence strings for a view on an alignment using - * the given gap character + * the given gap character uses getASequenceString * * @param c * char @@ -527,22 +553,7 @@ public class AlignmentView String[] seqs = new String[sequences.length]; for (int n = 0; n < sequences.length; n++) { - String fullseq = sequences[n].getSequenceString(c); - if (contigs != null) - { - seqs[n] = ""; - int p = 0; - for (int h = 0; h < contigs.length; h += 3) - { - seqs[n] += fullseq.substring(p, contigs[h + 1]); - p = contigs[h + 1] + contigs[h + 2]; - } - seqs[n] += fullseq.substring(p); - } - else - { - seqs[n] = fullseq; - } + seqs[n] = getASequenceString(c, n); } return seqs; }