new code for bi-direction graph build
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/format/LogAlgorithmForPathMergeInputFormat.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/format/LogAlgorithmForPathMergeInputFormat.java
index 3fe04ff..0b0055b 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/format/LogAlgorithmForPathMergeInputFormat.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/format/LogAlgorithmForPathMergeInputFormat.java
@@ -66,8 +66,10 @@
/**
* set the vertex value
*/
- vertexValue.setIncomingList(node.getIncomingList());
- vertexValue.setOutgoingList(node.getOutgoingList());
+ vertexValue.setFFList(node.getFFList());
+ vertexValue.setFRList(node.getFRList());
+ vertexValue.setRFList(node.getRFList());
+ vertexValue.setRRList(node.getRRList());
vertexValue.setMergeChain(node.getKmer());
vertexValue.setState(State.NON_VERTEX);
vertex.setVertexValue(vertexValue);
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/format/NaiveAlgorithmForPathMergeInputFormat.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/format/NaiveAlgorithmForPathMergeInputFormat.java
index 4011838..91634d8 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/format/NaiveAlgorithmForPathMergeInputFormat.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/format/NaiveAlgorithmForPathMergeInputFormat.java
@@ -69,8 +69,10 @@
/**
* set the vertex value
*/
- vertexValue.setIncomingList(node.getIncomingList());
- vertexValue.setOutgoingList(node.getOutgoingList());
+ vertexValue.setFFList(node.getFFList());
+ vertexValue.setFRList(node.getFRList());
+ vertexValue.setRFList(node.getRFList());
+ vertexValue.setRRList(node.getRRList());
vertexValue.setMergeChain(node.getKmer());
vertexValue.setState(State.NON_VERTEX);
vertex.setVertexValue(vertexValue);
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/AdjacencyListWritable.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/AdjacencyListWritable.java
new file mode 100644
index 0000000..fae1970
--- /dev/null
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/AdjacencyListWritable.java
@@ -0,0 +1,62 @@
+package edu.uci.ics.genomix.pregelix.io;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.hadoop.io.WritableComparable;
+
+import edu.uci.ics.genomix.type.PositionListWritable;
+
+public class AdjacencyListWritable implements WritableComparable<AdjacencyListWritable>{
+ private PositionListWritable forwardList;
+ private PositionListWritable reverseList;
+
+ public AdjacencyListWritable(){
+ forwardList = new PositionListWritable();
+ reverseList = new PositionListWritable();
+ }
+
+ public void set(AdjacencyListWritable adjacencyList){
+ forwardList.set(adjacencyList.getForwardList());
+ reverseList.set(adjacencyList.getReverseList());
+ }
+
+ public void reset(){
+ forwardList.reset();
+ reverseList.reset();
+ }
+
+ public PositionListWritable getForwardList() {
+ return forwardList;
+ }
+
+ public void setForwardList(PositionListWritable forwardList) {
+ this.forwardList = forwardList;
+ }
+
+ public PositionListWritable getReverseList() {
+ return reverseList;
+ }
+
+ public void setReverseList(PositionListWritable reverseList) {
+ this.reverseList = reverseList;
+ }
+
+ @Override
+ public void readFields(DataInput in) throws IOException {
+ forwardList.readFields(in);
+ reverseList.readFields(in);
+ }
+
+ @Override
+ public void write(DataOutput out) throws IOException {
+ forwardList.write(out);
+ reverseList.write(out);
+ }
+
+ @Override
+ public int compareTo(AdjacencyListWritable o) {
+ return 0;
+ }
+}
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/IncomingListWritable.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/IncomingListWritable.java
new file mode 100644
index 0000000..8dec857
--- /dev/null
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/IncomingListWritable.java
@@ -0,0 +1,56 @@
+package edu.uci.ics.genomix.pregelix.io;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.hadoop.io.WritableComparable;
+
+import edu.uci.ics.genomix.type.PositionListWritable;
+
+public class IncomingListWritable implements WritableComparable<IncomingListWritable>{
+ private PositionListWritable reverseForwardList;
+ private PositionListWritable reverseReverseList;
+
+ public IncomingListWritable(){
+ reverseForwardList = new PositionListWritable();
+ reverseReverseList = new PositionListWritable();
+ }
+
+ public PositionListWritable getReverseForwardList() {
+ return reverseForwardList;
+ }
+
+ public void setReverseForwardList(PositionListWritable reverseForwardList) {
+ this.reverseForwardList = reverseForwardList;
+ }
+
+ public PositionListWritable getReverseReverseList() {
+ return reverseReverseList;
+ }
+
+ public void setReverseReverseList(PositionListWritable reverseReverseList) {
+ this.reverseReverseList = reverseReverseList;
+ }
+
+ @Override
+ public void readFields(DataInput in) throws IOException {
+ reverseForwardList.readFields(in);
+ reverseReverseList.readFields(in);
+ }
+
+ @Override
+ public void write(DataOutput out) throws IOException {
+ reverseForwardList.write(out);
+ reverseReverseList.write(out);
+ }
+
+ @Override
+ public int compareTo(IncomingListWritable o) {
+ return 0;
+ }
+
+ public int inDegree(){
+ return reverseReverseList.getCountOfPosition() + reverseForwardList.getCountOfPosition();
+ }
+}
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/MessageWritable.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/MessageWritable.java
index 31d313d..f0a6b58 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/MessageWritable.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/MessageWritable.java
@@ -9,7 +9,6 @@
import edu.uci.ics.genomix.pregelix.type.CheckMessage;
import edu.uci.ics.genomix.pregelix.type.Message;
import edu.uci.ics.genomix.type.KmerBytesWritable;
-import edu.uci.ics.genomix.type.PositionListWritable;
import edu.uci.ics.genomix.type.PositionWritable;
public class MessageWritable implements WritableComparable<MessageWritable> {
@@ -20,7 +19,7 @@
*/
private PositionWritable sourceVertexId;
private KmerBytesWritable chainVertexId;
- private PositionListWritable neighberNode; //incoming or outgoing
+ private AdjacencyListWritable neighberNode; //incoming or outgoing
private byte message;
private byte checkMessage;
@@ -28,12 +27,12 @@
public MessageWritable() {
sourceVertexId = new PositionWritable();
chainVertexId = new KmerBytesWritable(0);
- neighberNode = new PositionListWritable();
+ neighberNode = new AdjacencyListWritable();
message = Message.NON;
checkMessage = (byte) 0;
}
- public void set(PositionWritable sourceVertexId, KmerBytesWritable chainVertexId, PositionListWritable neighberNode, byte message) {
+ public void set(PositionWritable sourceVertexId, KmerBytesWritable chainVertexId, AdjacencyListWritable neighberNode, byte message) {
checkMessage = 0;
if (sourceVertexId != null) {
checkMessage |= CheckMessage.SOURCE;
@@ -79,11 +78,11 @@
}
}
- public PositionListWritable getNeighberNode() {
+ public AdjacencyListWritable getNeighberNode() {
return neighberNode;
}
- public void setNeighberNode(PositionListWritable neighberNode) {
+ public void setNeighberNode(AdjacencyListWritable neighberNode) {
if(neighberNode != null){
checkMessage |= CheckMessage.NEIGHBER;
this.neighberNode.set(neighberNode);
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/OutgoingListWritable.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/OutgoingListWritable.java
new file mode 100644
index 0000000..275954d
--- /dev/null
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/OutgoingListWritable.java
@@ -0,0 +1,56 @@
+package edu.uci.ics.genomix.pregelix.io;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.hadoop.io.WritableComparable;
+
+import edu.uci.ics.genomix.type.PositionListWritable;
+
+public class OutgoingListWritable implements WritableComparable<OutgoingListWritable>{
+ private PositionListWritable forwardForwardList;
+ private PositionListWritable forwardReverseList;
+
+ public OutgoingListWritable(){
+ forwardForwardList = new PositionListWritable();
+ forwardReverseList = new PositionListWritable();
+ }
+
+ public PositionListWritable getForwardForwardList() {
+ return forwardForwardList;
+ }
+
+ public void setForwardForwardList(PositionListWritable forwardForwardList) {
+ this.forwardForwardList = forwardForwardList;
+ }
+
+ public PositionListWritable getForwardReverseList() {
+ return forwardReverseList;
+ }
+
+ public void setForwardReverseList(PositionListWritable forwardReverseList) {
+ this.forwardReverseList = forwardReverseList;
+ }
+
+ @Override
+ public void readFields(DataInput in) throws IOException {
+ forwardForwardList.readFields(in);
+ forwardReverseList.readFields(in);
+ }
+
+ @Override
+ public void write(DataOutput out) throws IOException {
+ forwardForwardList.write(out);
+ forwardReverseList.write(out);
+ }
+
+ @Override
+ public int compareTo(OutgoingListWritable o) {
+ return 0;
+ }
+
+ public int outDegree(){
+ return forwardForwardList.getCountOfPosition() + forwardReverseList.getCountOfPosition();
+ }
+}
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/ValueStateWritable.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/ValueStateWritable.java
index 2554c8e..985c2ac 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/ValueStateWritable.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/ValueStateWritable.java
@@ -10,44 +10,82 @@
public class ValueStateWritable implements WritableComparable<ValueStateWritable> {
- private PositionListWritable incomingList;
- private PositionListWritable outgoingList;
+ private AdjacencyListWritable incomingList;
+ private AdjacencyListWritable outgoingList;
private byte state;
private KmerBytesWritable mergeChain;
public ValueStateWritable() {
- incomingList = new PositionListWritable();
- outgoingList = new PositionListWritable();
+ incomingList = new AdjacencyListWritable();
+ outgoingList = new AdjacencyListWritable();
state = State.NON_VERTEX;
mergeChain = new KmerBytesWritable(0);
}
- public ValueStateWritable(PositionListWritable incomingList, PositionListWritable outgoingList,
+ public ValueStateWritable(PositionListWritable forwardForwardList, PositionListWritable forwardReverseList,
+ PositionListWritable reverseForwardList, PositionListWritable reverseReverseList,
byte state, KmerBytesWritable mergeChain) {
- set(incomingList, outgoingList, state, mergeChain);
+ set(forwardForwardList, forwardReverseList,
+ reverseForwardList, reverseReverseList,
+ state, mergeChain);
}
- public void set(PositionListWritable incomingList, PositionListWritable outgoingList,
+ public void set(PositionListWritable forwardForwardList, PositionListWritable forwardReverseList,
+ PositionListWritable reverseForwardList, PositionListWritable reverseReverseList,
byte state, KmerBytesWritable mergeChain) {
- this.incomingList.set(incomingList);
- this.outgoingList.set(outgoingList);
+ this.incomingList.setForwardList(reverseForwardList);
+ this.incomingList.setReverseList(reverseReverseList);
+ this.outgoingList.setForwardList(forwardForwardList);
+ this.outgoingList.setReverseList(forwardReverseList);
this.state = state;
this.mergeChain.set(mergeChain);
}
- public PositionListWritable getIncomingList() {
+ public PositionListWritable getFFList() {
+ return outgoingList.getForwardList();
+ }
+
+ public PositionListWritable getFRList() {
+ return outgoingList.getReverseList();
+ }
+
+ public PositionListWritable getRFList() {
+ return incomingList.getForwardList();
+ }
+
+ public PositionListWritable getRRList() {
+ return incomingList.getReverseList();
+ }
+
+ public void setFFList(PositionListWritable forwardForwardList){
+ outgoingList.setForwardList(forwardForwardList);
+ }
+
+ public void setFRList(PositionListWritable forwardReverseList){
+ outgoingList.setReverseList(forwardReverseList);
+ }
+
+ public void setRFList(PositionListWritable reverseForwardList){
+ incomingList.setForwardList(reverseForwardList);
+ }
+
+ public void setRRList(PositionListWritable reverseReverseList){
+ incomingList.setReverseList(reverseReverseList);
+ }
+
+ public AdjacencyListWritable getIncomingList() {
return incomingList;
}
- public void setIncomingList(PositionListWritable incomingList) {
+ public void setIncomingList(AdjacencyListWritable incomingList) {
this.incomingList = incomingList;
}
- public PositionListWritable getOutgoingList() {
+ public AdjacencyListWritable getOutgoingList() {
return outgoingList;
}
- public void setOutgoingList(PositionListWritable outgoingList) {
+ public void setOutgoingList(AdjacencyListWritable outgoingList) {
this.outgoingList = outgoingList;
}
@@ -94,14 +132,21 @@
@Override
public String toString() {
- return state + "\t" + getLengthOfMergeChain() + "\t" + mergeChain.toString();
+ StringBuilder sbuilder = new StringBuilder();
+ sbuilder.append('(');
+ sbuilder.append(outgoingList.getForwardList().toString()).append('\t');
+ sbuilder.append(outgoingList.getReverseList().toString()).append('\t');
+ sbuilder.append(incomingList.getForwardList().toString()).append('\t');
+ sbuilder.append(incomingList.getReverseList().toString()).append('\t');
+ sbuilder.append(mergeChain.toString()).append(')');
+ return sbuilder.toString();
}
- public int inDegree() {
- return incomingList.getCountOfPosition();
+ public int inDegree(){
+ return incomingList.getForwardList().getCountOfPosition() + incomingList.getReverseList().getCountOfPosition();
}
-
- public int outDegree() {
- return outgoingList.getCountOfPosition();
+
+ public int outDegree(){
+ return outgoingList.getForwardList().getCountOfPosition() + outgoingList.getReverseList().getCountOfPosition();
}
}
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/LogAlgorithmForPathMergeVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/LogAlgorithmForPathMergeVertex.java
index 6be0eee..c3bb663 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/LogAlgorithmForPathMergeVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/LogAlgorithmForPathMergeVertex.java
@@ -75,12 +75,18 @@
* get destination vertex
*/
public PositionWritable getNextDestVertexId(ValueStateWritable value) {
- posIterator = value.getOutgoingList().iterator();
+ if(value.getFFList().getCountOfPosition() > 0) // #FFList() > 0
+ posIterator = value.getFFList().iterator();
+ else // #FRList() > 0
+ posIterator = value.getFRList().iterator();
return posIterator.next();
}
public PositionWritable getPreDestVertexId(ValueStateWritable value) {
- posIterator = value.getIncomingList().iterator();
+ if(value.getRFList().getCountOfPosition() > 0) // #RFList() > 0
+ posIterator = value.getRFList().iterator();
+ else // #RRList() > 0
+ posIterator = value.getRRList().iterator();
return posIterator.next();
}
@@ -88,7 +94,12 @@
* head send message to all next nodes
*/
public void sendMsgToAllNextNodes(ValueStateWritable value) {
- posIterator = value.getOutgoingList().iterator();
+ posIterator = value.getFFList().iterator(); // FFList
+ while(posIterator.hasNext()){
+ destVertexId.set(posIterator.next());
+ sendMsg(destVertexId, outgoingMsg);
+ }
+ posIterator = value.getFRList().iterator(); // FRList
while(posIterator.hasNext()){
destVertexId.set(posIterator.next());
sendMsg(destVertexId, outgoingMsg);
@@ -99,7 +110,12 @@
* head send message to all previous nodes
*/
public void sendMsgToAllPreviousNodes(ValueStateWritable value) {
- posIterator = value.getIncomingList().iterator();
+ posIterator = value.getRFList().iterator(); // RFList
+ while(posIterator.hasNext()){
+ destVertexId.set(posIterator.next());
+ sendMsg(destVertexId, outgoingMsg);
+ }
+ posIterator = value.getRRList().iterator(); // RRList
while(posIterator.hasNext()){
destVertexId.set(posIterator.next());
sendMsg(destVertexId, outgoingMsg);
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/NaiveAlgorithmForPathMergeVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/NaiveAlgorithmForPathMergeVertex.java
index af38072..4fcc09e 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/NaiveAlgorithmForPathMergeVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/NaiveAlgorithmForPathMergeVertex.java
@@ -80,12 +80,18 @@
* get destination vertex
*/
public PositionWritable getNextDestVertexId(ValueStateWritable value) {
- posIterator = value.getOutgoingList().iterator();
+ if(value.getFFList().getCountOfPosition() > 0) // #FFList() > 0
+ posIterator = value.getFFList().iterator();
+ else // #FRList() > 0
+ posIterator = value.getFRList().iterator();
return posIterator.next();
}
public PositionWritable getPreDestVertexId(ValueStateWritable value) {
- posIterator = value.getIncomingList().iterator();
+ if(value.getRFList().getCountOfPosition() > 0) // #RFList() > 0
+ posIterator = value.getRFList().iterator();
+ else // #RRList() > 0
+ posIterator = value.getRRList().iterator();
return posIterator.next();
}
@@ -93,7 +99,12 @@
* head send message to all next nodes
*/
public void sendMsgToAllNextNodes(ValueStateWritable value) {
- posIterator = value.getOutgoingList().iterator();
+ posIterator = value.getFFList().iterator(); // FFList
+ while(posIterator.hasNext()){
+ destVertexId.set(posIterator.next());
+ sendMsg(destVertexId, outgoingMsg);
+ }
+ posIterator = value.getFRList().iterator(); // FRList
while(posIterator.hasNext()){
destVertexId.set(posIterator.next());
sendMsg(destVertexId, outgoingMsg);
@@ -104,7 +115,12 @@
* head send message to all previous nodes
*/
public void sendMsgToAllPreviousNodes(ValueStateWritable value) {
- posIterator = value.getIncomingList().iterator();
+ posIterator = value.getRFList().iterator(); // RFList
+ while(posIterator.hasNext()){
+ destVertexId.set(posIterator.next());
+ sendMsg(destVertexId, outgoingMsg);
+ }
+ posIterator = value.getRRList().iterator(); // RRList
while(posIterator.hasNext()){
destVertexId.set(posIterator.next());
sendMsg(destVertexId, outgoingMsg);
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/P3ForPathMergeVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/P3ForPathMergeVertex.java
index 6f4354a..8a03aa7 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/P3ForPathMergeVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/P3ForPathMergeVertex.java
@@ -87,12 +87,18 @@
* get destination vertex
*/
public PositionWritable getNextDestVertexId(ValueStateWritable value) {
- posIterator = value.getOutgoingList().iterator();
+ if(value.getFFList().getCountOfPosition() > 0) // #FFList() > 0
+ posIterator = value.getFFList().iterator();
+ else // #FRList() > 0
+ posIterator = value.getFRList().iterator();
return posIterator.next();
}
public PositionWritable getPreDestVertexId(ValueStateWritable value) {
- posIterator = value.getIncomingList().iterator();
+ if(value.getRFList().getCountOfPosition() > 0) // #RFList() > 0
+ posIterator = value.getRFList().iterator();
+ else // #RRList() > 0
+ posIterator = value.getRRList().iterator();
return posIterator.next();
}
@@ -100,7 +106,12 @@
* head send message to all next nodes
*/
public void sendMsgToAllNextNodes(ValueStateWritable value) {
- posIterator = value.getOutgoingList().iterator();
+ posIterator = value.getFFList().iterator(); // FFList
+ while(posIterator.hasNext()){
+ destVertexId.set(posIterator.next());
+ sendMsg(destVertexId, outgoingMsg);
+ }
+ posIterator = value.getFRList().iterator(); // FRList
while(posIterator.hasNext()){
destVertexId.set(posIterator.next());
sendMsg(destVertexId, outgoingMsg);
@@ -111,7 +122,12 @@
* head send message to all previous nodes
*/
public void sendMsgToAllPreviousNodes(ValueStateWritable value) {
- posIterator = value.getIncomingList().iterator();
+ posIterator = value.getRFList().iterator(); // RFList
+ while(posIterator.hasNext()){
+ destVertexId.set(posIterator.next());
+ sendMsg(destVertexId, outgoingMsg);
+ }
+ posIterator = value.getRRList().iterator(); // RRList
while(posIterator.hasNext()){
destVertexId.set(posIterator.next());
sendMsg(destVertexId, outgoingMsg);
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/util/VertexUtil.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/util/VertexUtil.java
index f2a61be..1740744 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/util/VertexUtil.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/util/VertexUtil.java
@@ -10,9 +10,7 @@
* @param vertexValue
*/
public static boolean isPathVertex(ValueStateWritable value) {
- if (value.inDegree() == 1 && value.outDegree() == 1)
- return true;
- return false;
+ return value.inDegree() == 1 && value.outDegree() == 1;
}
/**
@@ -21,9 +19,7 @@
* @param vertexValue
*/
public static boolean isHeadVertex(ValueStateWritable value) {
- if (value.outDegree() > 0 && !isPathVertex(value))
- return true;
- return false;
+ return value.outDegree() > 0 && !isPathVertex(value);
}
/**
@@ -32,9 +28,7 @@
* @param vertexValue
*/
public static boolean isRearVertex(ValueStateWritable value) {
- if (value.inDegree() > 0 && !isPathVertex(value))
- return true;
- return false;
+ return value.inDegree() > 0 && !isPathVertex(value);
}
/**
@@ -42,9 +36,7 @@
*/
public static boolean isCycle(KmerBytesWritable kmer, KmerBytesWritable mergeChain, int kmerSize) {
String chain = mergeChain.toString().substring(1);
- if (chain.contains(kmer.toString()))
- return true;
- return false;
+ return chain.contains(kmer.toString());
/*subKmer.set(vertexId);
for(int istart = 1; istart < mergeChain.getKmerLength() - kmerSize + 1; istart++){