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