fix some bugs of log algorithm and prepare to verify the correctness in big data
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/LogAlgorithmForMergeGraphVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/LogAlgorithmForMergeGraphVertex.java
index 9947d1c..d55e64e 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/LogAlgorithmForMergeGraphVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/LogAlgorithmForMergeGraphVertex.java
@@ -162,7 +162,7 @@
 							tmpVal.getLengthOfMergeChain(),
 							tmpVal.getMergeChain(),
 							0, tmpVal.getMergeChain().length);
-					if(Kmer.GENE_CODE.getGeneCodeFromBitMap((byte)(tmpVal.getValue() & 0x0F)) == -1)
+					if(Kmer.GENE_CODE.getGeneCodeFromBitMap((byte)(tmpVal.getValue() & 0x0F)) == -1 || lastKmer == null)
 						voteToHalt();
 					else{
 						tmpDestVertexId = KmerUtil.shiftKmerWithNextCode(kmerSize, lastKmer, 
@@ -220,15 +220,20 @@
 				//voteToHalt();
 			}
 			else{
-				if(getVertexValue().getState() != State.START_VERTEX
+				if(getVertexValue().getState() != State.START_VERTEX && getVertexValue().getState() != State.NON_EXIST
 						&& getVertexValue().getState() != State.END_VERTEX && getVertexValue().getState() != State.FINAL_DELETE){
+					tmpVal.setState(State.NON_EXIST);
+					setVertexValue(tmpVal);
 					deleteVertex(getVertexId()); //killSelf because it doesn't receive any message
 				}
 			}
 		}
 		else if(getSuperstep()%3 == 2 && getSuperstep() <= maxIteration){
-			if(tmpVal.getState() == State.TODELETE)
+			if(tmpVal.getState() == State.TODELETE && getVertexValue().getState() != State.NON_EXIST){
+				tmpVal.setState(State.NON_EXIST);
+				setVertexValue(tmpVal);
 				deleteVertex(getVertexId()); //killSelf
+			}
 			else{
 				if(msgIterator.hasNext()){
 					tmpMsg = msgIterator.next();
@@ -269,7 +274,7 @@
 						sendMsg(getVertexId(),tmpMsg);
 					}
 				}
-				if(tmpVal.getState() == State.END_VERTEX || tmpVal.getState() == State.FINAL_DELETE)
+				if(tmpVal.getState() == State.END_VERTEX || tmpVal.getState() == State.FINAL_DELETE || tmpVal.getState() == State.NON_EXIST)
 					voteToHalt();
 				if(tmpVal.getState() == State.FINAL_VERTEX){
 					//String source = Kmer.recoverKmerFrom(tmpVal.getLengthOfMergeChain(), tmpVal.getMergeChain(), 0, tmpVal.getMergeChain().length);
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/LogAlgorithmMessageWritable.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/LogAlgorithmMessageWritable.java
index 42f1269..3d07c5b 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/LogAlgorithmMessageWritable.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/LogAlgorithmMessageWritable.java
@@ -122,7 +122,7 @@
 	public void readFields(DataInput in) throws IOException {
 		// TODO Auto-generated method stub
 		lengthOfChain = in.readInt();
-		if(lengthOfChain != 0){
+		if(lengthOfChain > 0){
 			chainVertexId = new byte[(lengthOfChain-1)/4 + 1];
 			in.readFully(chainVertexId);
 		}
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 2976c87..3872514 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
@@ -113,7 +113,7 @@
 	public void readFields(DataInput in) throws IOException {
 		// TODO Auto-generated method stub
 		lengthOfChain = in.readInt();
-		if(lengthOfChain != 0){
+		if(lengthOfChain > 0){
 			chainVertexId = new byte[(lengthOfChain-1)/4 + 1];
 			in.readFully(chainVertexId);
 		}
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/sequencefile/generateSmallFile.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/sequencefile/generateSmallFile.java
deleted file mode 100644
index 45329d0..0000000
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/sequencefile/generateSmallFile.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package edu.uci.ics.genomix.pregelix.sequencefile;
-
-import java.io.IOException;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.io.BytesWritable;
-import org.apache.hadoop.io.SequenceFile;
-import org.apache.hadoop.io.SequenceFile.CompressionType;
-
-import edu.uci.ics.genomix.type.KmerCountValue;
-
-public class generateSmallFile {
-
-	public static void generateNumOfLinesFromBigFile(Path inFile, Path outFile, int numOfLines) throws IOException{
-		Configuration conf = new Configuration();
-		FileSystem fileSys = FileSystem.get(conf);
-
-		SequenceFile.Reader reader = new SequenceFile.Reader(fileSys, inFile, conf);
-	    SequenceFile.Writer writer = SequenceFile.createWriter(fileSys, conf,
-	         outFile, BytesWritable.class, KmerCountValue.class, 
-	         CompressionType.NONE);
-	    BytesWritable outKey = new BytesWritable();
-	    KmerCountValue outValue = new KmerCountValue();
-	    int i = 0;
-	    
-	    for(i = 0; i < numOfLines; i++){
-	    	 //System.out.println(i);
-	    	 reader.next(outKey, outValue);
-	    	 writer.append(outKey, outValue);
-	    }
-	    writer.close();
-	    reader.close();
-	}
-	/**
-	 * @param args
-	 * @throws IOException 
-	 */
-	public static void main(String[] args) throws IOException {
-		// TODO Auto-generated method stub
-		Path dir = new Path("data/webmap");
-		Path inFile = new Path(dir, "part-2");
-		Path outFile = new Path(dir, "part-2-out-20000");
-		generateNumOfLinesFromBigFile(inFile,outFile,20000);
-	}
-
-}
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/testcase/GenerateTestInput.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/testcase/GenerateTestInput.java
index 8ff5589..6d81b74 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/testcase/GenerateTestInput.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/testcase/GenerateTestInput.java
@@ -61,15 +61,15 @@
 			writer = new OutputStreamWriter(new FileOutputStream("graph/55/SimplePath_55"));
 			writer.write(simplePath(55,60,3));
 			writer.close();
-			/*writer = new OutputStreamWriter(new FileOutputStream("TreePath"));
-			writer.write(treePath(5, 5, 5, 3));
+			writer = new OutputStreamWriter(new FileOutputStream("graph/55/TreePath"));
+			writer.write(treePath(55, 5, 5, 3));
 			writer.close();
-			writer = new OutputStreamWriter(new FileOutputStream("CyclePath"));
-			writer.write(cyclePath(5,10));
+			writer = new OutputStreamWriter(new FileOutputStream("graph/55/CyclePath"));
+			writer.write(cyclePath(55,60));
 			writer.close();
-			writer = new OutputStreamWriter(new FileOutputStream("BridgePath"));
-			writer.write(bridgePath(5,2));
-			writer.close();*/
+			writer = new OutputStreamWriter(new FileOutputStream("graph/55/BridgePath"));
+			writer.write(bridgePath(55,2));
+			writer.close();
 		} catch (IOException e) {
 			e.printStackTrace();
 		}
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/type/State.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/type/State.java
index 5447d26..999b431 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/type/State.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/type/State.java
@@ -8,6 +8,7 @@
 	public static final int TODELETE = 4;
 	public static final int FINAL_VERTEX = 5;
 	public static final int FINAL_DELETE = 6;
+	public static final int NON_EXIST = 7;
 	
 	public final static class STATE_CONTENT{
 
@@ -35,6 +36,9 @@
 			case FINAL_DELETE:
 				r = "FINAL_DELETE";
 				break;
+			case NON_EXIST:
+				r = "NON_EXIST";
+				break;
 			}
 			return r;
 		}
diff --git a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/RunJobTestSuite.java b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/RunJobTestSuite.java
index 8d08f2b..ffc1a25 100644
--- a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/RunJobTestSuite.java
+++ b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/RunJobTestSuite.java
@@ -40,7 +40,7 @@
 	private static final String PATH_TO_ONLY = "src/test/resources/only.txt";
 	private static final String FILE_EXTENSION_OF_RESULTS = "result";
 
-	private static final String DATA_PATH = "data/result/BridgePath";// sequenceShortFileMergeTest
+	private static final String DATA_PATH = "data/result/TreePath";// sequenceShortFileMergeTest
 	private static final String HDFS_PATH = "/webmap/";
 
 	private static final String HYRACKS_APP_NAME = "pregelix";
diff --git a/genomix/genomix-pregelix/src/test/resources/hadoop/conf/hdfs-site.xml b/genomix/genomix-pregelix/src/test/resources/hadoop/conf/hdfs-site.xml
index 8d29b1d..a36b6d7 100644
--- a/genomix/genomix-pregelix/src/test/resources/hadoop/conf/hdfs-site.xml
+++ b/genomix/genomix-pregelix/src/test/resources/hadoop/conf/hdfs-site.xml
@@ -12,7 +12,7 @@
 
 <property>
 	<name>dfs.block.size</name>
-	<value>65536</value>
+	<value>655360</value>
 </property>
 
 </configuration>