diff --git a/pom.xml b/pom.xml index 1c5669f..dd175c4 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ com.milaboratory mitools - 1.0 + 1.0.1 jar MiTools http://milaboratory.com/ @@ -94,12 +94,12 @@ com.milaboratory milib - 1.0 + 1.0.1 com.milaboratory milib - 1.0 + 1.0.1 test-jar test diff --git a/src/main/java/com/milaboratory/mitools/merger/MergerParameters.java b/src/main/java/com/milaboratory/mitools/merger/MergerParameters.java index 2aec315..ce8e78c 100644 --- a/src/main/java/com/milaboratory/mitools/merger/MergerParameters.java +++ b/src/main/java/com/milaboratory/mitools/merger/MergerParameters.java @@ -27,7 +27,7 @@ @JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, isGetterVisibility = JsonAutoDetect.Visibility.NONE, getterVisibility = JsonAutoDetect.Visibility.NONE) @Serializable(asJson = true) -public final class MergerParameters { +public final class MergerParameters implements java.io.Serializable{ final int minimalOverlap; final double minimalIdentity; diff --git a/src/main/java/com/milaboratory/mitools/merger/MismatchOnlyPairedReadMerger.java b/src/main/java/com/milaboratory/mitools/merger/MismatchOnlyPairedReadMerger.java index 821228c..207e273 100644 --- a/src/main/java/com/milaboratory/mitools/merger/MismatchOnlyPairedReadMerger.java +++ b/src/main/java/com/milaboratory/mitools/merger/MismatchOnlyPairedReadMerger.java @@ -29,7 +29,8 @@ import static com.milaboratory.core.sequence.SequencesUtils.mismatchCount; import static java.lang.Math.*; -public final class MismatchOnlyPairedReadMerger implements Processor { +public final class MismatchOnlyPairedReadMerger implements Processor, + java.io.Serializable { public static final int DEFAULT_MAX_SCORE_VALUE = 45; final int minOverlap; final double maxMismatchesPart; diff --git a/src/main/java/com/milaboratory/mitools/merger/PairedReadMergingResult.java b/src/main/java/com/milaboratory/mitools/merger/PairedReadMergingResult.java index 4db739b..c262d63 100644 --- a/src/main/java/com/milaboratory/mitools/merger/PairedReadMergingResult.java +++ b/src/main/java/com/milaboratory/mitools/merger/PairedReadMergingResult.java @@ -18,7 +18,7 @@ import com.milaboratory.core.io.sequence.PairedRead; import com.milaboratory.core.sequence.NSequenceWithQuality; -public class PairedReadMergingResult { +public class PairedReadMergingResult implements java.io.Serializable { private static final int MATCH_SCORE = 2; private static final int MISMATCH_SCORE = -5; @@ -78,4 +78,37 @@ public int getErrors() { int score() { return (overlap - errors) * MATCH_SCORE + errors * MISMATCH_SCORE; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + PairedReadMergingResult that = (PairedReadMergingResult) o; + + if (overlap != that.overlap) return false; + if (errors != that.errors) return false; + if (!originalRead.equals(that.originalRead)) return false; + return overlappedSequence.equals(that.overlappedSequence); + + } + + @Override + public int hashCode() { + int result = originalRead.hashCode(); + result = 31 * result + overlappedSequence.hashCode(); + result = 31 * result + overlap; + result = 31 * result + errors; + return result; + } + + @Override + public String toString() { + return "PairedReadMergingResult{" + + "originalRead=" + originalRead + + ", overlappedSequence=" + overlappedSequence + + ", overlap=" + overlap + + ", errors=" + errors + + '}'; + } } diff --git a/src/main/java/com/milaboratory/mitools/trimmer/ReadLengthFilter.java b/src/main/java/com/milaboratory/mitools/trimmer/ReadLengthFilter.java index d4b49df..1ee8d1c 100644 --- a/src/main/java/com/milaboratory/mitools/trimmer/ReadLengthFilter.java +++ b/src/main/java/com/milaboratory/mitools/trimmer/ReadLengthFilter.java @@ -18,7 +18,7 @@ import cc.redberry.primitives.Filter; import com.milaboratory.core.io.sequence.SingleRead; -public class ReadLengthFilter implements Filter { +public class ReadLengthFilter implements Filter, java.io.Serializable { final int minLength; public ReadLengthFilter(int minLength) { diff --git a/src/main/java/com/milaboratory/mitools/trimmer/SequenceTrimmer.java b/src/main/java/com/milaboratory/mitools/trimmer/SequenceTrimmer.java index a5b966c..9a0cd29 100644 --- a/src/main/java/com/milaboratory/mitools/trimmer/SequenceTrimmer.java +++ b/src/main/java/com/milaboratory/mitools/trimmer/SequenceTrimmer.java @@ -22,7 +22,7 @@ import java.util.concurrent.atomic.AtomicLong; -public final class SequenceTrimmer implements Processor { +public final class SequenceTrimmer implements Processor, java.io.Serializable { final int qualityToTrimm; final boolean trimmLeft, trimmRight; final AtomicLong trimmedNucleotidesLeft = new AtomicLong(), diff --git a/src/test/java/com/milaboratory/mitools/merger/PairedReadMergingResultTest.java b/src/test/java/com/milaboratory/mitools/merger/PairedReadMergingResultTest.java new file mode 100644 index 0000000..a26104c --- /dev/null +++ b/src/test/java/com/milaboratory/mitools/merger/PairedReadMergingResultTest.java @@ -0,0 +1,23 @@ +package com.milaboratory.mitools.merger; + +import com.milaboratory.core.io.sequence.PairedRead; +import com.milaboratory.core.io.sequence.SingleReadImpl; +import com.milaboratory.core.io.util.TestUtil; +import com.milaboratory.core.sequence.NSequenceWithQuality; +import com.milaboratory.core.sequence.NucleotideSequence; +import com.milaboratory.core.sequence.SequenceQuality; +import org.junit.Test; + +/** + * Created by poslavsky on 15/04/15. + */ +public class PairedReadMergingResultTest { + @Test + public void test1() throws Exception { + PairedReadMergingResult se = new PairedReadMergingResult(new PairedRead( + new SingleReadImpl(12, new NSequenceWithQuality(new NucleotideSequence("atgc"), new SequenceQuality("++++")), "x"), + new SingleReadImpl(12, new NSequenceWithQuality(new NucleotideSequence("atgc"), new SequenceQuality("++++")), "x")), + new NSequenceWithQuality(new NucleotideSequence("atgc"), new SequenceQuality("++++")), 12, 3); + TestUtil.assertJavaSerialization(se); + } +} \ No newline at end of file