X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FAlignment.java;h=7b97d491d2a97d5b85f9c0cdfd0d12ee41cd4151;hb=933ef8cbe299bfcbe146835d789932d66b0827ea;hp=98510e39524e0b415780f424ca6f323ba53ca583;hpb=4435c731351c802772dd1355fdb5747cfacd7838;p=jalview.git diff --git a/src/jalview/datamodel/Alignment.java b/src/jalview/datamodel/Alignment.java index 98510e3..7b97d49 100755 --- a/src/jalview/datamodel/Alignment.java +++ b/src/jalview/datamodel/Alignment.java @@ -42,13 +42,13 @@ import java.util.Vector; /** * Data structure to hold and manipulate a multiple sequence alignment - */ -/** - * @author JimP * + * @author JimP */ public class Alignment implements AlignmentI { + private static final SequenceGroup[] NO_GROUPS = new SequenceGroup[0]; + private Alignment dataset; private List sequences; @@ -59,6 +59,13 @@ public class Alignment implements AlignmentI private boolean nucleotide = true; + private List codonFrameList; + + /* + * persistent object to hold result of findAllGroups(SequenceI) + */ + private List groupsForSequence = new ArrayList<>(); + public boolean hasRNAStructure = false; public AlignmentAnnotation[] annotations; @@ -69,8 +76,6 @@ public class Alignment implements AlignmentI public Hashtable alignmentProperties; - private List codonFrameList; - private void initAlignment(SequenceI[] seqs) { groups = Collections.synchronizedList(new ArrayList()); @@ -398,10 +403,6 @@ public class Alignment implements AlignmentI return null; } - private static final SequenceGroup[] noGroups = new SequenceGroup[0]; - - private ArrayList temp = new ArrayList<>(); - /* * (non-Javadoc) * @@ -411,15 +412,14 @@ public class Alignment implements AlignmentI @Override public SequenceGroup[] findAllGroups(SequenceI s) { - synchronized (groups) { int gSize = groups.size(); if (gSize == 0) { - return noGroups; + return NO_GROUPS; } - temp.clear(); + groupsForSequence.clear(); for (int i = 0; i < gSize; i++) { SequenceGroup sg = groups.get(i); @@ -432,12 +432,12 @@ public class Alignment implements AlignmentI if (sg.getSequences().contains(s)) { - temp.add(sg); + groupsForSequence.add(sg); } } } - SequenceGroup[] ret = new SequenceGroup[temp.size()]; - return temp.toArray(ret); + SequenceGroup[] ret = new SequenceGroup[groupsForSequence.size()]; + return groupsForSequence.toArray(ret); } /** */ @@ -2034,17 +2034,4 @@ public class Alignment implements AlignmentI } } - @Override - public void resetColors() - { - for (int i = getHeight(); --i >= 0;) - { - sequences.get(i).resetColors(); - } - // if (dataset != null) - // { - // dataset.resetColors(); - // } - } - }