import java.util.TreeMap;
import java.util.Vector;
-import intervalstore.api.IntervalI;
-
/**
* A class that models a single contiguous feature on a sequence. If flag
* 'contactFeature' is true, the start and end positions are interpreted instead
@Override
public boolean equals(Object o)
{
- return (o != null && (o instanceof SequenceFeature)
- && equalsInterval((SequenceFeature) o));
+ return equals(o, false);
}
/**
- * Having determined that this is in fact a SequenceFeature, now check it for
- * equivalence. Overridden in CrossRef; used by IntervalStore (possibly).
- */
- @Override
- public boolean equalsInterval(IntervalI sf)
- {
- return equals((SequenceFeature) sf, false);
- }
- /**
* Overloaded method allows the equality test to optionally ignore the
* 'Parent' attribute of a feature. This supports avoiding adding many
* superficially duplicate 'exon' or CDS features to genomic or protein
* @param ignoreParent
* @return
*/
- public boolean equals(SequenceFeature sf, boolean ignoreParent)
+ public boolean equals(Object o, boolean ignoreParent)
{
+ if (o == null || !(o instanceof SequenceFeature))
+ {
+ return false;
+ }
+
+ SequenceFeature sf = (SequenceFeature) o;
boolean sameScore = Float.isNaN(score) ? Float.isNaN(sf.score)
: score == sf.score;
if (begin != sf.begin || end != sf.end || !sameScore)
{
source = theSource;
}
-
-
}
class SFSortByEnd implements Comparator<SequenceFeature>