fix HashSet in SplitRepeat
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/splitrepeat/SplitRepeatVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/splitrepeat/SplitRepeatVertex.java
index f019fb0..158104f 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/splitrepeat/SplitRepeatVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/splitrepeat/SplitRepeatVertex.java
@@ -91,7 +91,7 @@
{"FR", "RR"}
};
public static Set<String> existKmerString = new HashSet<String>();
- private Set<Long> readIdSet = new HashSet<Long>();
+ private Set<Long> readIdSet;
private Set<Long> incomingReadIdSet = new HashSet<Long>();
private Set<Long> outgoingReadIdSet = new HashSet<Long>();
private Set<Long> selfReadIdSet = new HashSet<Long>();
@@ -172,7 +172,7 @@
createdVertexSet.clear();
while(msgIterator.hasNext()){
incomingMsg = msgIterator.next();
- readIdSet.clear();
+ readIdSet = new HashSet<Long>();
for(PositionWritable nodeId : incomingMsg.getNodeIdList()){
readIdSet.add(nodeId.getReadId());
}
@@ -210,15 +210,15 @@
incomingReadIdSet = kmerMap.get(incomingEdge);
//set all neighberEdge readId intersection
- neighborEdgeIntersection = selfReadIdSet;
+ neighborEdgeIntersection.addAll(selfReadIdSet);
neighborEdgeIntersection.retainAll(outgoingReadIdSet);
neighborEdgeIntersection.retainAll(incomingReadIdSet);
//set outgoingEdge readId intersection
- outgoingEdgeIntersection = selfReadIdSet;
+ outgoingEdgeIntersection.addAll(selfReadIdSet);
outgoingEdgeIntersection.retainAll(outgoingReadIdSet);
outgoingEdgeIntersection.removeAll(neighborEdgeIntersection);
//set incomingEdge readId intersection
- incomingEdgeIntersection = selfReadIdSet;
+ incomingEdgeIntersection.addAll(selfReadIdSet);
incomingEdgeIntersection.retainAll(incomingReadIdSet);
incomingEdgeIntersection.removeAll(neighborEdgeIntersection);
@@ -274,7 +274,9 @@
while(msgIterator.hasNext()){
incomingMsg = msgIterator.next();
/** update edgelist to new/created vertex **/
- switch(incomingMsg.getFlag()){
+ byte meToNeighborDir = incomingMsg.getFlag();
+ byte neighborToMeDir = mirrorDirection(meToNeighborDir);
+ switch(neighborToMeDir){
case MessageFlag.DIR_FF:
getVertexValue().getFFList().remove(incomingMsg.getSourceVertexId());
getVertexValue().getFFList().append(incomingMsg.getCreatedVertexId());
@@ -317,6 +319,7 @@
vertex.setVertexId(v.getCreatedVertexId());
vertex.setVertexValue(vertexValue);
}
+ createdVertexSet.clear();
}
}
}
diff --git a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/SplitRepeatmallTestSuite.java b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/SplitRepeatSmallTestSuite.java
similarity index 97%
rename from genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/SplitRepeatmallTestSuite.java
rename to genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/SplitRepeatSmallTestSuite.java
index d87281d..21ffe34 100644
--- a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/SplitRepeatmallTestSuite.java
+++ b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/SplitRepeatSmallTestSuite.java
@@ -40,8 +40,8 @@
import edu.uci.ics.pregelix.core.util.PregelixHyracksIntegrationUtil;
@SuppressWarnings("deprecation")
-public class SplitRepeatmallTestSuite extends TestSuite {
- private static final Logger LOGGER = Logger.getLogger(SplitRepeatmallTestSuite.class.getName());
+public class SplitRepeatSmallTestSuite extends TestSuite {
+ private static final Logger LOGGER = Logger.getLogger(SplitRepeatSmallTestSuite.class.getName());
//P4ForMergeGraph/bin/read
public static final String PreFix = "data/SplitRepeat"; //"graphbuildresult";
public static final String[] TestDir = { PreFix + File.separator
@@ -123,7 +123,7 @@
List<String> onlys = getFileList(PATH_TO_ONLY);
File testData = new File(PATH_TO_JOBS);
File[] queries = testData.listFiles();
- SplitRepeatmallTestSuite testSuite = new SplitRepeatmallTestSuite();
+ SplitRepeatSmallTestSuite testSuite = new SplitRepeatSmallTestSuite();
testSuite.setUp();
boolean onlyEnabled = false;
FileSystem dfs = FileSystem.get(testSuite.conf);
diff --git a/genomix/genomix-pregelix/src/test/resources/only_splitrepeat.txt b/genomix/genomix-pregelix/src/test/resources/only_splitrepeat.txt
new file mode 100644
index 0000000..41cba34
--- /dev/null
+++ b/genomix/genomix-pregelix/src/test/resources/only_splitrepeat.txt
@@ -0,0 +1 @@
+SplitRepeatGraph.xml
\ No newline at end of file