1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
package structures;
import shared.Tools;
public class SeqCountM extends SeqCount {
/*--------------------------------------------------------------*/
/*---------------- Constructors ----------------*/
/*--------------------------------------------------------------*/
public SeqCountM(SeqCount sq) {
super(sq.bases);
count=sq.count();
}
public SeqCountM(byte[] s, int start, int stop) {
super(s, start, stop);
}
public SeqCountM(byte[] s) {
super(s);
}
@Override
public SeqCountM clone() {
synchronized(this) {
SeqCountM clone=(SeqCountM) super.clone();
return clone;
}
}
/*--------------------------------------------------------------*/
/*---------------- Methods ----------------*/
/*--------------------------------------------------------------*/
// @Override
public void add(SeqCount s) {
// assert(equals(s));
count+=s.count();
}
// @Override
public void increment(int x) {
count+=x;
}
@Override
public int count() {return count;}
@Override
public int compareTo(SeqCount s) {
if(count()!=s.count()) {return count()-s.count();}
if(bases.length!=s.bases.length) {return bases.length-s.bases.length;}
if(s.getClass()==SeqCountM.class) {
SeqCountM scm=(SeqCountM)s;
if(score!=scm.score) {return score>scm.score ? 1 : -1;}
}
return Tools.compare(bases, s.bases);
}
/*--------------------------------------------------------------*/
/*---------------- Fields ----------------*/
/*--------------------------------------------------------------*/
public int count=1;
public float score=-1;
}
|