git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
JAL-3397 impl.IntervalStore and nonc.IntervalStore unified api
[jalview.git]
/
src
/
jalview
/
datamodel
/
Alignment.java
diff --git
a/src/jalview/datamodel/Alignment.java
b/src/jalview/datamodel/Alignment.java
index
b214934
..
22d23bc
100755
(executable)
--- a/
src/jalview/datamodel/Alignment.java
+++ b/
src/jalview/datamodel/Alignment.java
@@
-59,6
+59,15
@@
public class Alignment implements AlignmentI
private boolean nucleotide = true;
private boolean nucleotide = true;
+ private List<AlignedCodonFrame> codonFrameList;
+
+ private static final SequenceGroup[] noGroups = new SequenceGroup[0];
+
+ /*
+ * persistent object to hold result of findAllGroups(SequenceI)
+ */
+ private List<SequenceGroup> groupsForSequence = new ArrayList<>();
+
public boolean hasRNAStructure = false;
public AlignmentAnnotation[] annotations;
public boolean hasRNAStructure = false;
public AlignmentAnnotation[] annotations;
@@
-69,8
+78,6
@@
public class Alignment implements AlignmentI
public Hashtable alignmentProperties;
public Hashtable alignmentProperties;
- private List<AlignedCodonFrame> codonFrameList;
-
private void initAlignment(SequenceI[] seqs)
{
groups = Collections.synchronizedList(new ArrayList<SequenceGroup>());
private void initAlignment(SequenceI[] seqs)
{
groups = Collections.synchronizedList(new ArrayList<SequenceGroup>());
@@
-407,11
+414,14
@@
public class Alignment implements AlignmentI
@Override
public SequenceGroup[] findAllGroups(SequenceI s)
{
@Override
public SequenceGroup[] findAllGroups(SequenceI s)
{
- ArrayList<SequenceGroup> temp = new ArrayList<>();
-
synchronized (groups)
{
int gSize = groups.size();
synchronized (groups)
{
int gSize = groups.size();
+ if (gSize == 0)
+ {
+ return noGroups;
+ }
+ groupsForSequence.clear();
for (int i = 0; i < gSize; i++)
{
SequenceGroup sg = groups.get(i);
for (int i = 0; i < gSize; i++)
{
SequenceGroup sg = groups.get(i);
@@
-424,12
+434,12
@@
public class Alignment implements AlignmentI
if (sg.getSequences().contains(s))
{
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);
}
/** */
}
/** */
@@
-2026,4
+2036,17
@@
public class Alignment implements AlignmentI
}
}
}
}
+ @Override
+ public void resetColors()
+ {
+ for (int i = getHeight(); --i >= 0;)
+ {
+ sequences.get(i).resetColors();
+ }
+ // if (dataset != null)
+ // {
+ // dataset.resetColors();
+ // }
+ }
+
}
}