make genomix-hyracks pass the test
diff --git a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/KmerBytesWritable.java b/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/KmerBytesWritable.java
index ded9f36..59159e9 100644
--- a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/KmerBytesWritable.java
+++ b/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/KmerBytesWritable.java
@@ -14,9 +14,11 @@
*/
package edu.uci.ics.genomix.type;
-import java.io.IOException;
import java.io.DataInput;
import java.io.DataOutput;
+import java.io.IOException;
+import java.io.Serializable;
+
import org.apache.hadoop.io.BinaryComparable;
import org.apache.hadoop.io.WritableComparable;
import org.apache.hadoop.io.WritableComparator;
@@ -26,8 +28,12 @@
* It was used to generate the graph in which phase the kmer length doesn't change.
* Thus the size of bytes doesn't change either.
*/
-public class KmerBytesWritable extends BinaryComparable implements WritableComparable<BinaryComparable> {
- protected int size;
+public class KmerBytesWritable extends BinaryComparable implements Serializable, WritableComparable<BinaryComparable> {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ protected int size;
protected byte[] bytes;
protected int kmerlength;
diff --git a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/VKmerBytesWritable.java b/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/VKmerBytesWritable.java
index 6c02468..3319cad 100644
--- a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/VKmerBytesWritable.java
+++ b/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/VKmerBytesWritable.java
@@ -3,12 +3,16 @@
import org.apache.hadoop.io.WritableComparator;
public class VKmerBytesWritable extends KmerBytesWritable {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
public static final int DEFAULT_KMER_LENGTH = 21;
-
- public VKmerBytesWritable(){
+
+ public VKmerBytesWritable() {
this(DEFAULT_KMER_LENGTH);
}
-
+
public VKmerBytesWritable(int k) {
super(k);
}
diff --git a/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/dataflow/KMerSequenceWriterFactory.java b/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/dataflow/KMerSequenceWriterFactory.java
index 46e162c..413c73b 100644
--- a/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/dataflow/KMerSequenceWriterFactory.java
+++ b/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/dataflow/KMerSequenceWriterFactory.java
@@ -58,8 +58,6 @@
reEnterCount.set(bitmap, count);
reEnterKey.set(kmer, keyStart, keyLength);
writer.append(reEnterKey, reEnterCount);
- // @mark: this method can not used for read in hadoop 0.20.2.
- // writer.appendRaw(kmer, keyStart, keyLength, reEnterCount);
} catch (IOException e) {
throw new HyracksDataException(e);
}
diff --git a/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/dataflow/ReadsKeyValueParserFactory.java b/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/dataflow/ReadsKeyValueParserFactory.java
index d4b88ba..79ad195 100644
--- a/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/dataflow/ReadsKeyValueParserFactory.java
+++ b/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/dataflow/ReadsKeyValueParserFactory.java
@@ -74,7 +74,7 @@
if (bReversed) {
/** first kmer */
- kmer.setByRead(array, 0);
+ kmer.setByReadReverse(array, 0);
next = 0;
pre = GeneCode.getAdjBit(array[k]);
InsertToFrame(kmer, pre, next, writer);
diff --git a/genomix/genomix-hyracks/src/test/java/edu/uci/ics/genomix/example/jobrun/JobRunTest.java b/genomix/genomix-hyracks/src/test/java/edu/uci/ics/genomix/example/jobrun/JobRunTest.java
index 3eb4347..bef13b5 100644
--- a/genomix/genomix-hyracks/src/test/java/edu/uci/ics/genomix/example/jobrun/JobRunTest.java
+++ b/genomix/genomix-hyracks/src/test/java/edu/uci/ics/genomix/example/jobrun/JobRunTest.java
@@ -15,7 +15,6 @@
import org.apache.hadoop.fs.FileUtil;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hdfs.MiniDFSCluster;
-import org.apache.hadoop.io.BytesWritable;
import org.apache.hadoop.io.SequenceFile;
import org.apache.hadoop.mapred.FileInputFormat;
import org.apache.hadoop.mapred.FileOutputFormat;
@@ -196,10 +195,10 @@
}
SequenceFile.Reader reader = new SequenceFile.Reader(dfs, path, conf);
- KmerBytesWritable key = (KmerBytesWritable) ReflectionUtils.newInstance(reader.getKeyClass(), conf);
+// KmerBytesWritable key = (KmerBytesWritable) ReflectionUtils.newInstance(reader.getKeyClass(), conf);
+ KmerBytesWritable key = new KmerBytesWritable(conf.getInt(GenomixJob.KMER_LENGTH, GenomixJob.DEFAULT_KMER));
KmerCountValue value = (KmerCountValue) ReflectionUtils.newInstance(reader.getValueClass(), conf);
- int k = conf.getInt(GenomixJob.KMER_LENGTH, 25);
while (reader.next(key, value)) {
if (key == null || value == null) {
break;