/**
*
*/
package de.tutorials;
import java.util.HashSet;
import java.util.Set;
/**
* @author Tom
*
*/
public class DNASequenceCountExample {
/**
* @param args
*/
public static void main(String[] args) {
Set<DNASequencePair> dnaSequencePairs = new HashSet<DNASequencePair>();
dnaSequencePairs.add(new DNASequencePair("gtta", 60));
dnaSequencePairs.add(new DNASequencePair("aaaa", 45));
dnaSequencePairs.add(new DNASequencePair("taac", 45));
dnaSequencePairs.add(new DNASequencePair("atag", 30));
dnaSequencePairs.add(new DNASequencePair("ctag", 24));
dnaSequencePairs.add(new DNASequencePair("tttt", 24));
dnaSequencePairs.add(new DNASequencePair("attt", 23));
dnaSequencePairs.add(new DNASequencePair("ctta", 19));
dnaSequencePairs.add(new DNASequencePair("aaat", 15));
dnaSequencePairs.add(new DNASequencePair("aatt", 12));
dnaSequencePairs.add(new DNASequencePair("atat", 9));
dnaSequencePairs.add(new DNASequencePair("taag", 9));
dnaSequencePairs.add(new DNASequencePair("tatt", 5));
dnaSequencePairs.add(new DNASequencePair("ttag", 1));
Range range = new Range(1, 10);
for (DNASequencePair dnaSequencePair : dnaSequencePairs) {
if (range.containts(dnaSequencePair.value)) {
System.out.println(dnaSequencePair);
}
}
}
static class Range {
int startValue;
int endValue;
public Range(int startValue, int endValue) {
this.startValue = startValue;
this.endValue = endValue;
}
public boolean containts(int value) {
return value >= this.startValue && value <= this.endValue;
}
}
static class DNASequencePair {
String dnaSequence;
int value;
/**
* @param dnaSequence
* @param value
*/
public DNASequencePair(String dnaSequence, int value) {
super();
this.dnaSequence = dnaSequence;
this.value = value;
}
public String getDnaSequence() {
return dnaSequence;
}
public int getValue() {
return value;
}
@Override
public int hashCode() {
final int PRIME = 31;
int result = 1;
result = PRIME * result + ((dnaSequence == null) ? 0 : dnaSequence.hashCode());
result = PRIME * result + value;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
final DNASequencePair other = (DNASequencePair) obj;
if (dnaSequence == null) {
if (other.dnaSequence != null)
return false;
} else if (!dnaSequence.equals(other.dnaSequence))
return false;
if (value != other.value)
return false;
return true;
}
public String toString() {
return this.dnaSequence + ": " + this.value;
}
}
}