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
|
package structures;
/**
* Object holding a String and numbers, for tracking the number of read and base hits per scaffold.
* Used by BBDuk and Seal.
*/
public class StringCount implements Comparable<StringCount>{
public StringCount(String name_){
name=name_;
}
public StringCount(String name_, int len_, long reads_, long bases_){
this(name_, len_, reads_, bases_, 0);
}
public StringCount(String name_, int len_, long reads_, long bases_, long ambigReads_){
name=name_;
length=len_;
reads=reads_;
bases=bases_;
ambigReads=ambigReads_;
}
@Override
public final int compareTo(StringCount o){
if(bases!=o.bases){return o.bases>bases ? 1 : -1;}
if(reads!=o.reads){return o.reads>reads ? 1 : -1;}
return name.compareTo(o.name);
}
public final boolean equals(StringCount o){
return compareTo(o)==0;
}
@Override
public final int hashCode(){
return name.hashCode();
}
@Override
public final String toString(){
return name+"\t"+length+"\t"+reads+"\t"+bases;
}
/*--------------------------------------------------------------*/
public final String name;
public int length;
public long reads, bases, ambigReads;
}
|