p4 pass test
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/VertexValueWritable.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/VertexValueWritable.java
index c6a2c9a..5d06234 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/VertexValueWritable.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/VertexValueWritable.java
@@ -284,15 +284,19 @@
switch (neighborToDeleteDir & MessageFlag.DIR_MASK) {
case MessageFlag.DIR_FF:
this.getFFList().remove(nodeToDelete); //set(null);
+ this.getKmer().mergeWithFFKmer(kmerSize, kmer);
break;
case MessageFlag.DIR_FR:
this.getFRList().remove(nodeToDelete);
+ this.getKmer().mergeWithFRKmer(kmerSize, kmer);
break;
case MessageFlag.DIR_RF:
this.getRFList().remove(nodeToDelete);
+ this.getKmer().mergeWithRFKmer(kmerSize, kmer);
break;
case MessageFlag.DIR_RR:
this.getRRList().remove(nodeToDelete);
+ this.getKmer().mergeWithRRKmer(kmerSize, kmer);
break;
}
// TODO: remove switch below and replace with general direction merge
@@ -300,19 +304,15 @@
switch (neighborToMergeDir & MessageFlag.DIR_MASK) {
case MessageFlag.DIR_FF:
- this.getKmer().mergeWithFFKmer(kmerSize, kmer);
this.getFFList().append(nodeToAdd);
break;
case MessageFlag.DIR_FR:
- this.getKmer().mergeWithFRKmer(kmerSize, kmer);
this.getFRList().append(nodeToAdd);
break;
case MessageFlag.DIR_RF:
- this.getKmer().mergeWithRFKmer(kmerSize, kmer);
this.getRFList().append(nodeToAdd);
break;
case MessageFlag.DIR_RR:
- this.getKmer().mergeWithRRKmer(kmerSize, kmer);
this.getRRList().append(nodeToAdd);
break;
}
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/BasicPathMergeVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/BasicPathMergeVertex.java
index c44fb53..937fa42 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/BasicPathMergeVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/BasicPathMergeVertex.java
@@ -365,6 +365,8 @@
setSuccessorAdjMsg();
if(ifFlipWithPredecessor())
outgoingMsg.setFlip(true);
+ else
+ outgoingMsg.setFlip(false);
outgoingMsg.setFlag(outFlag);
outgoingMsg.setNeighberNode(getVertexValue().getIncomingList());
outgoingMsg.setSourceVertexId(getVertexId());
@@ -376,6 +378,8 @@
setPredecessorAdjMsg();
if(ifFilpWithSuccessor())
outgoingMsg.setFlip(true);
+ else
+ outgoingMsg.setFlip(false);
outgoingMsg.setFlag(outFlag);
outgoingMsg.setNeighberNode(getVertexValue().getOutgoingList());
outgoingMsg.setSourceVertexId(getVertexId());
@@ -397,6 +401,8 @@
setSuccessorAdjMsg();
if(ifFlipWithPredecessor())
outgoingMsg.setFlip(true);
+ else
+ outgoingMsg.setFlip(false);
outgoingMsg.setFlag(outFlag);
outgoingMsg.setNeighberNode(getVertexValue().getIncomingList());
outgoingMsg.setSourceVertexId(getVertexId());
@@ -408,6 +414,8 @@
setPredecessorAdjMsg();
if(ifFilpWithSuccessor())
outgoingMsg.setFlip(true);
+ else
+ outgoingMsg.setFlip(false);
outgoingMsg.setFlag(outFlag);
outgoingMsg.setNeighberNode(getVertexValue().getOutgoingList());
outgoingMsg.setSourceVertexId(getVertexId());
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/P4ForPathMergeVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/P4ForPathMergeVertex.java
index 6768db6..94428ca 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/P4ForPathMergeVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/P4ForPathMergeVertex.java
@@ -175,7 +175,7 @@
sendUpdateMsgToSuccessor();
}
}
- }else {
+ else {
// I'm a tail
if (hasNext && hasPrev) {
if ((!nextHead && !prevHead) && (curKmer.compareTo(nextKmer) < 0 && curKmer.compareTo(prevKmer) < 0)) {
@@ -197,6 +197,7 @@
}
}
}
+ }
}
else if (getSuperstep() % 4 == 0){
//update neighber
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/sequencefile/GenerateTextFile.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/sequencefile/GenerateTextFile.java
index e151123..bc08600 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/sequencefile/GenerateTextFile.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/sequencefile/GenerateTextFile.java
@@ -12,7 +12,6 @@
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.SequenceFile;
-import edu.uci.ics.genomix.oldtype.PositionWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable.State;
import edu.uci.ics.genomix.type.KmerBytesWritable;
@@ -28,16 +27,14 @@
File srcPath = new File(strSrcDir);
for (File f : srcPath.listFiles((FilenameFilter) (new WildcardFileFilter("part*")))) {
SequenceFile.Reader reader = new SequenceFile.Reader(fileSys, new Path(f.getAbsolutePath()), conf);
- //NodeWritable key = new NodeWritable(kmerSize);
- //NullWritable value = NullWritable.get();
- PositionWritable key = new PositionWritable();
+ KmerBytesWritable key = new KmerBytesWritable();
VertexValueWritable value = new VertexValueWritable();
while (reader.next(key, value)) {
if (key == null) {
break;
}
- bw.write(key.toString() + value.toString());
+ bw.write(key.toString() + "\t" + value.toString());
System.out.println(key.toString());
bw.newLine();
}
diff --git a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobGen/JobGenerator.java b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobGen/JobGenerator.java
index d2d3969..0e798fe 100644
--- a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobGen/JobGenerator.java
+++ b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobGen/JobGenerator.java
@@ -4,7 +4,6 @@
import java.io.FileOutputStream;
import java.io.IOException;
-import edu.uci.ics.genomix.oldtype.PositionWritable;
import edu.uci.ics.genomix.pregelix.format.GraphCleanInputFormat;
import edu.uci.ics.genomix.pregelix.format.GraphCleanOutputFormat;
import edu.uci.ics.genomix.pregelix.format.InitialGraphCleanInputFormat;
@@ -19,6 +18,7 @@
import edu.uci.ics.genomix.pregelix.operator.pathmerge.P4ForPathMergeVertex;
import edu.uci.ics.genomix.pregelix.operator.tipremove.TipAddVertex;
import edu.uci.ics.genomix.pregelix.operator.tipremove.TipRemoveVertex;
+import edu.uci.ics.genomix.type.KmerBytesWritable;
import edu.uci.ics.pregelix.api.job.PregelixJob;
public class JobGenerator {
@@ -83,7 +83,7 @@
job.setVertexInputFormatClass(InitialGraphCleanInputFormat.class);
job.setVertexOutputFormatClass(GraphCleanOutputFormat.class);
job.setDynamicVertexValueSize(true);
- job.setOutputKeyClass(PositionWritable.class);
+ job.setOutputKeyClass(KmerBytesWritable.class);
job.setOutputValueClass(VertexValueWritable.class);
job.getConfiguration().setInt(P4ForPathMergeVertex.KMER_SIZE, 3);
job.getConfiguration().writeXml(new FileOutputStream(new File(outputPath)));
diff --git a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/PathMergeSmallTestSuite.java b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/PathMergeSmallTestSuite.java
index 2e67da2..5aedeb7 100644
--- a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/PathMergeSmallTestSuite.java
+++ b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/PathMergeSmallTestSuite.java
@@ -45,20 +45,14 @@
public static final String PreFix = "data/PathMergeTestSet"; //"graphbuildresult";
public static final String[] TestDir = { PreFix + File.separator
- + "8"};
- //+ "tipremove/TipRemoveGraph/bin/fr_with_tip"};
- //+ "graphs/pathmerge/singleread"};
- //+ "bridgeadd/BridgeAddGraph/bin/tworeads"};
- /*+ "2", PreFix + File.separator
- + "3", PreFix + File.separator
- + "4", PreFix + File.separator
- + "5", PreFix + File.separator
- + "6", PreFix + File.separator
- + "7", PreFix + File.separator
- + "8", PreFix + File.separator
- + "9", PreFix + File.separator
- + "tworeads3", PreFix + File.separator
- + "tworeads_6"};*/
+// + "2", PreFix + File.separator
+// + "3", PreFix + File.separator
+// + "4", PreFix + File.separator
+// + "5", PreFix + File.separator
+// + "6", PreFix + File.separator
+// + "7", PreFix + File.separator
+// + "8", PreFix + File.separator
+ + "4"};
private static final String ACTUAL_RESULT_DIR = "data/actual/pathmerge";
private static final String PATH_TO_HADOOP_CONF = "src/test/resources/hadoop/conf";
private static final String PATH_TO_CLUSTER_STORE = "src/test/resources/cluster/stores.properties";
diff --git a/genomix/genomix-pregelix/src/test/resources/jobs/P4ForMergeGraph.xml b/genomix/genomix-pregelix/src/test/resources/jobs/P4ForMergeGraph.xml
index f20a863..597e5c3 100644
--- a/genomix/genomix-pregelix/src/test/resources/jobs/P4ForMergeGraph.xml
+++ b/genomix/genomix-pregelix/src/test/resources/jobs/P4ForMergeGraph.xml
@@ -58,7 +58,7 @@
<property><name>mapred.job.tracker.persist.jobstatus.hours</name><value>0</value></property>
<property><name>fs.s3.sleepTimeSeconds</name><value>10</value></property>
<property><name>fs.default.name</name><value>file:///</value></property>
-<property><name>mapred.output.key.class</name><value>edu.uci.ics.genomix.oldtype.PositionWritable</value></property>
+<property><name>mapred.output.key.class</name><value>edu.uci.ics.genomix.type.KmerBytesWritable</value></property>
<property><name>tasktracker.http.threads</name><value>40</value></property>
<property><name>mapred.tasktracker.taskmemorymanager.monitoring-interval</name><value>5000</value></property>
<property><name>hadoop.rpc.socket.factory.class.default</name><value>org.apache.hadoop.net.StandardSocketFactory</value></property>