add coverage for hyracks graph building
diff --git a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/NodeWritable.java b/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/NodeWritable.java
index f69f122..5eeea48 100644
--- a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/NodeWritable.java
+++ b/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/NodeWritable.java
@@ -296,7 +296,8 @@
sbuilder.append(forwardReverseList.toString()).append('\t');
sbuilder.append(reverseForwardList.toString()).append('\t');
sbuilder.append(reverseReverseList.toString()).append('\t');
- sbuilder.append(kmer.toString()).append('}');
+ sbuilder.append(kmer.toString()).append('\t');
+ sbuilder.append(averageCoverage).append('x').append('}');
return sbuilder.toString();
}
diff --git a/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/hyracks/newgraph/dataflow/ReadsKeyValueParserFactory.java b/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/hyracks/newgraph/dataflow/ReadsKeyValueParserFactory.java
index f29c51b..572fb96 100644
--- a/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/hyracks/newgraph/dataflow/ReadsKeyValueParserFactory.java
+++ b/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/hyracks/newgraph/dataflow/ReadsKeyValueParserFactory.java
@@ -124,8 +124,8 @@
curKmerDir = curForwardKmer.compareTo(curReverseKmer) <= 0 ? KmerDir.FORWARD : KmerDir.REVERSE;
nextForwardKmer.setAsCopy(curForwardKmer);
nextKmerDir = setNextKmer(nextForwardKmer, nextReverseKmer, array[kmerSize]);
- setnodeId(curNode, mateId, readID, 0);
- setnodeId(nextNode, mateId, readID, 0);
+ setNodeBasicInfo(curNode, mateId, readID, 0, 1);
+ setNodeBasicInfo(nextNode, mateId, readID, 0, 1);
setEdgeListForCurAndNextKmer(curKmerDir, curNode, nextKmerDir, nextNode);
writeToFrame(curForwardKmer, curReverseKmer, curKmerDir, curNode, writer);
@@ -138,7 +138,7 @@
curNode.set(nextNode);
nextNode.reset();
nextKmerDir = setNextKmer(nextForwardKmer, nextReverseKmer, array[i]);
- setnodeId(nextNode, mateId, readID, 0);
+ setNodeBasicInfo(nextNode, mateId, readID, 0, 1);
setEdgeListForCurAndNextKmer(curKmerDir, curNode, nextKmerDir, nextNode);
writeToFrame(curForwardKmer, curReverseKmer, curKmerDir, curNode, writer);
}
@@ -147,11 +147,12 @@
writeToFrame(nextForwardKmer, nextReverseKmer, nextKmerDir, nextNode, writer);
}
- public void setnodeId(NodeWritable node, byte mateId, long readID, int posId) {
+ public void setNodeBasicInfo(NodeWritable node, byte mateId, long readID, int posId, int iniCovergage) {
nodeId.set(mateId, readID, posId);
nodeIdList.reset();
nodeIdList.append(nodeId);
node.setNodeIdList(nodeIdList);
+ node.setAvgCoverage(iniCovergage);
}
public KmerDir setNextKmer(KmerBytesWritable forwardKmer, KmerBytesWritable ReverseKmer,
diff --git a/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/hyracks/newgraph/dataflow/aggregators/AggregateKmerAggregateFactory.java b/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/hyracks/newgraph/dataflow/aggregators/AggregateKmerAggregateFactory.java
index 03b220e..efb7609 100644
--- a/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/hyracks/newgraph/dataflow/aggregators/AggregateKmerAggregateFactory.java
+++ b/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/hyracks/newgraph/dataflow/aggregators/AggregateKmerAggregateFactory.java
@@ -75,16 +75,15 @@
AggregateState state) throws HyracksDataException {
NodeWritable localUniNode = (NodeWritable) state.state;
localUniNode.reset();
-// readKeyKmer.setAsReference(accessor.getBuffer().array(), getOffSet(accessor, tIndex, 0));
readNode.setAsReference(accessor.getBuffer().array(), getOffSet(accessor, tIndex, 1));
localUniNode.getNodeIdList().appendList(readNode.getNodeIdList());
localUniNode.getFFList().appendList(readNode.getFFList());
localUniNode.getFRList().appendList(readNode.getFRList());
localUniNode.getRFList().appendList(readNode.getRFList());
localUniNode.getRRList().appendList(readNode.getRRList());
-
+ localUniNode.addCoverage(readNode);
// make an empty field
- tupleBuilder.addFieldEndOffset();// mark question?
+// tupleBuilder.addFieldEndOffset();// mark question?
}
@Override
@@ -97,6 +96,7 @@
localUniNode.getFRList().appendList(readNode.getFRList());
localUniNode.getRFList().appendList(readNode.getRFList());
localUniNode.getRRList().appendList(readNode.getRRList());
+ localUniNode.addCoverage(readNode);
}
@Override
diff --git a/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/hyracks/newgraph/dataflow/aggregators/MergeKmerAggregateFactory.java b/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/hyracks/newgraph/dataflow/aggregators/MergeKmerAggregateFactory.java
index 47ae084..f83bc4b 100644
--- a/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/hyracks/newgraph/dataflow/aggregators/MergeKmerAggregateFactory.java
+++ b/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/hyracks/newgraph/dataflow/aggregators/MergeKmerAggregateFactory.java
@@ -75,9 +75,9 @@
localUniNode.getFRList().unionUpdate(readNode.getFRList());
localUniNode.getRFList().unionUpdate(readNode.getRFList());
localUniNode.getRRList().unionUpdate(readNode.getRRList());
-
+ localUniNode.addCoverage(readNode);
//make a fake feild to cheat caller
- tupleBuilder.addFieldEndOffset();
+ // tupleBuilder.addFieldEndOffset();
}
@Override
@@ -95,6 +95,7 @@
localUniNode.getFRList().unionUpdate(readNode.getFRList());
localUniNode.getRFList().unionUpdate(readNode.getRFList());
localUniNode.getRRList().unionUpdate(readNode.getRRList());
+ localUniNode.addCoverage(readNode);
}
@Override
diff --git a/genomix/genomix-hyracks/src/test/java/edu/uci/ics/genomix/hyracks/newgraph/test/JobRun.java b/genomix/genomix-hyracks/src/test/java/edu/uci/ics/genomix/hyracks/newgraph/test/JobRun.java
index 1ade3a9..3861ac9 100644
--- a/genomix/genomix-hyracks/src/test/java/edu/uci/ics/genomix/hyracks/newgraph/test/JobRun.java
+++ b/genomix/genomix-hyracks/src/test/java/edu/uci/ics/genomix/hyracks/newgraph/test/JobRun.java
@@ -32,11 +32,11 @@
@SuppressWarnings("deprecation")
public class JobRun {
private static final int KmerSize = 3;
- private static final int ReadLength = 7;
+ private static final int ReadLength = 5;
private static final String ACTUAL_RESULT_DIR = "actual";
private static final String PATH_TO_HADOOP_CONF = "src/test/resources/hadoop/conf";
- private static final String DATA_INPUT_PATH = "src/test/resources/data/lastesttest/HighSplitRepeat.txt";
+ private static final String DATA_INPUT_PATH = "src/test/resources/data/lastesttest/LowSplitRepeat.txt";
private static final String HDFS_INPUT_PATH = "/webmap";
private static final String HDFS_OUTPUT_PATH = "/webmap_result";