Adding a file genomix-pregelix
git-svn-id: https://hyracks.googlecode.com/svn/branches/fullstack_genomix@2900 123451ca-8445-de46-9d55-352943316053
diff --git a/genomix/genomix-pregelix/.classpath b/genomix/genomix-pregelix/.classpath
new file mode 100644
index 0000000..31cf404
--- /dev/null
+++ b/genomix/genomix-pregelix/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" output="target/classes" path="src/main/java"/>
+ <classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/genomix/genomix-pregelix/.project b/genomix/genomix-pregelix/.project
new file mode 100644
index 0000000..8a64f92
--- /dev/null
+++ b/genomix/genomix-pregelix/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>genomix-pregelix</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.maven.ide.eclipse.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.maven.ide.eclipse.maven2Nature</nature>
+ </natures>
+</projectDescription>
diff --git a/genomix/genomix-pregelix/.settings/org.eclipse.jdt.core.prefs b/genomix/genomix-pregelix/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..60105c1
--- /dev/null
+++ b/genomix/genomix-pregelix/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/genomix/genomix-pregelix/.settings/org.maven.ide.eclipse.prefs b/genomix/genomix-pregelix/.settings/org.maven.ide.eclipse.prefs
new file mode 100644
index 0000000..cfdba58
--- /dev/null
+++ b/genomix/genomix-pregelix/.settings/org.maven.ide.eclipse.prefs
@@ -0,0 +1,7 @@
+activeProfiles=
+eclipse.preferences.version=1
+fullBuildGoals=process-test-resources
+resolveWorkspaceProjects=true
+resourceFilterGoals=process-resources resources\:testResources
+skipCompilerPlugin=true
+version=1
diff --git a/genomix/genomix-pregelix/folder/test.dat b/genomix/genomix-pregelix/folder/test.dat
new file mode 100644
index 0000000..266a4f4
--- /dev/null
+++ b/genomix/genomix-pregelix/folder/test.dat
@@ -0,0 +1,4 @@
+
+ "
+ D
+-
diff --git a/genomix/genomix-pregelix/pom.xml b/genomix/genomix-pregelix/pom.xml
new file mode 100644
index 0000000..28f5e1c
--- /dev/null
+++ b/genomix/genomix-pregelix/pom.xml
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>edu.uci.ics.pregelix</groupId>
+ <artifactId>genomix-pregelix</artifactId>
+ <version>0.2.2</version>
+ <packaging>jar</packaging>
+ <name>genomix-pregelix</name>
+
+ <properties>
+ <jvm.extraargs/>
+ </properties>
+
+ <profiles>
+ <profile>
+ <id>macosx</id>
+ <activation>
+ <os>
+ <name>mac os x</name>
+ </os>
+ <jdk>1.7</jdk>
+ </activation>
+ <properties>
+ <jvm.extraargs>-Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.KQueueSelectorProvider</jvm.extraargs>
+ </properties>
+ </profile>
+ </profiles>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.0.2</version>
+ <configuration>
+ <source>1.6</source>
+ <target>1.6</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <configuration>
+ <descriptorRefs>
+ <descriptorRef>jar-with-dependencies</descriptorRef>
+ </descriptorRefs>
+ </configuration>
+ <executions>
+ <execution>
+ <id>make-my-jar-with-dependencies</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.7.2</version>
+ <configuration>
+ <forkMode>pertest</forkMode>
+ <argLine>-enableassertions -Xmx2047m -Dfile.encoding=UTF-8
+ -Djava.util.logging.config.file=src/test/resources/logging.properties</argLine>
+ <includes>
+ <include>**/*TestSuite.java</include>
+ <include>**/*Test.java</include>
+ </includes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-clean-plugin</artifactId>
+ <configuration>
+ <filesets>
+ <fileset>
+ <directory>.</directory>
+ <includes>
+ <include>teststore*</include>
+ <include>edu*</include>
+ <include>actual*</include>
+ <include>build*</include>
+ <include>expect*</include>
+ <include>ClusterController*</include>
+ <include>edu.uci.*</include>
+ </includes>
+ </fileset>
+ </filesets>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>edu.uci.ics.hyracks</groupId>
+ <artifactId>pregelix-core</artifactId>
+ <version>0.2.2</version>
+ <type>jar</type>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>edu.uci.ics.hyracks</groupId>
+ <artifactId>pregelix-example</artifactId>
+ <version>0.2.2</version>
+ <type>jar</type>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <scm>
+ <connection>scm:svn:https://hyracks.googlecode.com/svn/trunk/fullstack/pregelix</connection>
+ <developerConnection>scm:svn:https://hyracks.googlecode.com/svn/trunk/fullstack/pregelix</developerConnection>
+ <url>http://code.google.com/p/hyracks/source/browse/#svn/trunk/fullstack/pregelix</url>
+ </scm>
+
+ <distributionManagement>
+ <repository>
+ <id>hyracks-releases</id>
+ <url>http://obelix.ics.uci.edu/nexus/content/repositories/hyracks-releases/</url>
+ </repository>
+ <snapshotRepository>
+ <id>hyracks-snapshots</id>
+ <url>http://obelix.ics.uci.edu/nexus/content/repositories/hyracks-snapshots/</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-changelog-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </reporting>
+
+ <repositories>
+ <repository>
+ <id>hyracks-public</id>
+ <url>http://obelix.ics.uci.edu/nexus/content/groups/hyracks-public/</url>
+ </repository>
+ <repository>
+ <id>jboss-public</id>
+ <url>https://repository.jboss.org/nexus/content/groups/public/</url>
+ </repository>
+ </repositories>
+
+ <pluginRepositories>
+ <pluginRepository>
+ <id>hyracks-public</id>
+ <url>http://obelix.ics.uci.edu/nexus/content/groups/hyracks-public/</url>
+ <releases>
+ <updatePolicy>always</updatePolicy>
+ </releases>
+ </pluginRepository>
+ </pluginRepositories>
+</project>
+
+
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/pregelix/LoadGraphVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/pregelix/LoadGraphVertex.java
new file mode 100644
index 0000000..4af68fb
--- /dev/null
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/pregelix/LoadGraphVertex.java
@@ -0,0 +1,109 @@
+package edu.uci.ics.pregelix;
+
+import java.io.IOException;
+import java.util.Iterator;
+
+import org.apache.hadoop.io.ByteWritable;
+import org.apache.hadoop.io.BytesWritable;
+import org.apache.hadoop.io.NullWritable;
+import org.apache.hadoop.io.Text;
+import org.apache.hadoop.mapreduce.RecordWriter;
+import org.apache.hadoop.mapreduce.TaskAttemptContext;
+
+import edu.uci.ics.pregelix.api.graph.Vertex;
+import edu.uci.ics.pregelix.api.io.VertexWriter;
+import edu.uci.ics.pregelix.api.io.text.TextVertexOutputFormat;
+import edu.uci.ics.pregelix.api.io.text.TextVertexOutputFormat.TextVertexWriter;
+import edu.uci.ics.pregelix.api.job.PregelixJob;
+import edu.uci.ics.pregelix.example.client.Client;
+import edu.uci.ics.pregelix.example.io.MessageWritable;
+
+/*
+ * vertexId: BytesWritable
+ * vertexValue: ByteWritable
+ * edgeValue: NullWritable
+ * message: MessageWritable
+ *
+ * DNA:
+ * A: 00
+ * C: 01
+ * G: 10
+ * T: 11
+ *
+ * succeed node
+ * A 00000001 1
+ * G 00000010 2
+ * C 00000100 4
+ * T 00001000 8
+ * precursor node
+ * A 00010000 16
+ * G 00100000 32
+ * C 01000000 64
+ * T 10000000 128
+ *
+ * For example, ONE LINE in input file: 00,01,10 0001,0010,
+ * That means that vertexId is ACG, its succeed node is A and its precursor node is C.
+ * The succeed node and precursor node will be stored in vertexValue and we don't use edgeValue.
+ * The details about message are in edu.uci.ics.pregelix.example.io.MessageWritable.
+ */
+public class LoadGraphVertex extends Vertex<BytesWritable, ByteWritable, NullWritable, MessageWritable>{
+
+ private ByteWritable tmpVertexValue = new ByteWritable();
+
+ /**
+ * For test, in compute method, make each vertexValue shift 1 to left.
+ * It will be modified when going forward to next step.
+ */
+ @Override
+ public void compute(Iterator<MessageWritable> msgIterator) {
+ if(getSuperstep() == 1){
+ tmpVertexValue.set(getVertexValue().get());
+ tmpVertexValue.set((byte) (tmpVertexValue.get() << 1));
+ setVertexValue(tmpVertexValue);
+ }
+ else
+ voteToHalt();
+ }
+
+ /**
+ * Simple VertexWriter that supports {@link SimpleLoadGraphVertex}
+ */
+ public static class SimpleLoadGraphVertexWriter extends
+ TextVertexWriter<BytesWritable, ByteWritable, NullWritable> {
+ public SimpleLoadGraphVertexWriter(RecordWriter<Text, Text> lineRecordWriter) {
+ super(lineRecordWriter);
+ }
+
+ @Override
+ public void writeVertex(Vertex<BytesWritable, ByteWritable, NullWritable, ?> vertex) throws IOException,
+ InterruptedException {
+ getRecordWriter().write(new Text(vertex.getVertexId().toString()),
+ new Text(vertex.getVertexValue().toString()));
+ }
+ }
+
+ /**
+ * Simple VertexOutputFormat that supports {@link SimpleLoadGraphVertex}
+ */
+ public static class SimpleLoadGraphVertexOutputFormat extends
+ TextVertexOutputFormat<BytesWritable, ByteWritable, NullWritable> {
+
+ @Override
+ public VertexWriter<BytesWritable, ByteWritable, NullWritable> createVertexWriter(TaskAttemptContext context)
+ throws IOException, InterruptedException {
+ RecordWriter<Text, Text> recordWriter = textOutputFormat.getRecordWriter(context);
+ return new SimpleLoadGraphVertexWriter(recordWriter);
+ }
+ }
+
+ /**
+ * @param args
+ */
+ public static void main(String[] args) throws Exception {
+ PregelixJob job = new PregelixJob(LoadGraphVertex.class.getSimpleName());
+ job.setVertexClass(LoadGraphVertex.class);
+ job.setVertexInputFormatClass(TextLoadGraphInputFormat.class);
+ job.setVertexOutputFormatClass(SimpleLoadGraphVertexOutputFormat.class);
+ Client.run(args, job);
+ }
+}
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/pregelix/TestLoadGraphVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/pregelix/TestLoadGraphVertex.java
new file mode 100644
index 0000000..529d429
--- /dev/null
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/pregelix/TestLoadGraphVertex.java
@@ -0,0 +1,102 @@
+package edu.uci.ics.pregelix;
+
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.util.StringTokenizer;
+
+import edu.uci.ics.pregelix.LoadGraphVertex.SimpleLoadGraphVertexOutputFormat;
+import edu.uci.ics.pregelix.api.job.PregelixJob;
+import edu.uci.ics.pregelix.example.client.Client;
+
+public class TestLoadGraphVertex {
+
+ /**
+ * If running in different machines, the parameters need to be changed.
+ * Now, this test is not completed.
+ */
+ private static final String EXPECT_RESULT_FILE = "~/workspace/genomix-pregelix/expect/expected_result";
+ private static final String INPUT_PATHS = "~/workspace/genomix-pregelix/folder";
+ private static final String OUTPUT_PATH = "~/workspace/genomix-pregelix/tmp/pg_result"; //result
+ private static final String IP = "169.234.134.212";
+ private static final String PORT = "3099";
+ /**
+ * @param args
+ * @throws Exception
+ */
+ @SuppressWarnings("deprecation")
+ public static void main(String[] args) throws Exception {
+ // TODO Auto-generated method stub
+ //initiate args
+ args = new String[8];
+ args[0] = "-inputpaths";
+ args[1] = INPUT_PATHS;
+ args[2] = "-outputpath";
+ args[3] = OUTPUT_PATH;
+ args[4] = "-ip";
+ args[5] = IP;
+ args[6] = "-port";
+ args[7] = PORT;
+ PregelixJob job = new PregelixJob(LoadGraphVertex.class.getSimpleName());
+ job.setVertexClass(LoadGraphVertex.class);
+ job.setVertexInputFormatClass(TextLoadGraphInputFormat.class);
+ job.setVertexOutputFormatClass(SimpleLoadGraphVertexOutputFormat.class);
+ Client.run(args, job);
+
+ generateExpectBinaryFile();
+
+ //test if the actual file is the same as the expected file
+ DataInputStream actual_dis = new DataInputStream(new FileInputStream(OUTPUT_PATH + "/*"));
+ DataInputStream expected_dis = new DataInputStream(new FileInputStream(EXPECT_RESULT_FILE));
+ String actualLine, expectedLine = null;
+ StringTokenizer actualSt, expectedSt;
+ byte[] actualVertexId, expectedVertexId = null;
+ byte actualVertexValue, expectedVertexValue;
+ byte[] tmp = null;
+ while(((actualLine = actual_dis.readLine()) != null) &&
+ ((expectedLine = expected_dis.readLine()) != null)){
+ actualSt = new StringTokenizer(actualLine, " ");
+ actualVertexId = actualSt.nextToken().getBytes();
+ tmp = actualSt.nextToken().getBytes();
+ actualVertexValue = tmp[0];
+
+ expectedSt = new StringTokenizer(expectedLine," ");
+ expectedVertexId = expectedSt.nextToken().getBytes();
+ tmp = expectedSt.nextToken().getBytes();
+ expectedVertexValue = tmp[0];
+
+ //assertEquals("actualVextexId == expectedVertexId", actualVertexId, expectedVertexId);
+ //assertEquals("actualVertexValue == expectedVertexValue", actualVertexValue, expectedVertexValue);
+ }
+
+ //assertEquals("actualLine should be the end and be equal to null", actualLine, null);
+ //assertEquals("expectedLine should be the end and be equal to null", expectedLine, null);
+ }
+
+ @SuppressWarnings("deprecation")
+ public static void generateExpectBinaryFile() throws Exception{
+ DataInputStream dis = new DataInputStream(new FileInputStream(INPUT_PATHS + "/*"));
+ DataOutputStream dos = new DataOutputStream(new FileOutputStream(EXPECT_RESULT_FILE));
+ String line;
+ byte[] vertexId = null;
+ byte vertexValue;
+ byte[] tmp = null;
+ while((line = dis.readLine()) != null){
+ StringTokenizer st = new StringTokenizer(line, " ");
+ vertexId = st.nextToken().getBytes();
+ tmp = st.nextToken().getBytes();
+ vertexValue = tmp[0];
+
+ vertexValue = (byte) (vertexValue << 1);
+ for(int i = 0; i < vertexId.length; i++)
+ dos.writeByte(vertexId[i]);
+ dos.writeByte((byte)32); //space
+ dos.writeByte(vertexValue);
+ dos.writeByte((byte)10); //line feed
+ }
+
+ dis.close();
+ dos.close();
+ }
+}
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/pregelix/TextLoadGraphInputFormat.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/pregelix/TextLoadGraphInputFormat.java
new file mode 100644
index 0000000..b7fda73
--- /dev/null
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/pregelix/TextLoadGraphInputFormat.java
@@ -0,0 +1,82 @@
+package edu.uci.ics.pregelix;
+
+import java.io.IOException;
+
+import org.apache.hadoop.io.ByteWritable;
+import org.apache.hadoop.io.BytesWritable;
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.io.NullWritable;
+import org.apache.hadoop.io.Text;
+import org.apache.hadoop.mapreduce.InputSplit;
+import org.apache.hadoop.mapreduce.RecordReader;
+import org.apache.hadoop.mapreduce.TaskAttemptContext;
+
+import edu.uci.ics.pregelix.api.graph.Vertex;
+import edu.uci.ics.pregelix.api.io.VertexReader;
+import edu.uci.ics.pregelix.api.io.text.TextVertexInputFormat;
+import edu.uci.ics.pregelix.api.util.BspUtils;
+import edu.uci.ics.pregelix.example.io.MessageWritable;
+
+public class TextLoadGraphInputFormat extends
+ TextVertexInputFormat<BytesWritable, ByteWritable, NullWritable, MessageWritable>{
+
+ /**
+ * Format INPUT
+ */
+ @Override
+ public VertexReader<BytesWritable, ByteWritable, NullWritable, MessageWritable> createVertexReader(
+ InputSplit split, TaskAttemptContext context) throws IOException {
+ return new TextLoadGraphReader(textInputFormat.createRecordReader(split, context));
+ }
+
+ @SuppressWarnings("rawtypes")
+ class TextLoadGraphReader extends
+ TextVertexReader<BytesWritable, ByteWritable, NullWritable, MessageWritable> {
+ private final static String separator = " ";
+ private Vertex vertex;
+ private BytesWritable vertexId = new BytesWritable();
+ private ByteWritable vertexValue = new ByteWritable();
+
+ public TextLoadGraphReader(RecordReader<LongWritable, Text> lineRecordReader) {
+ super(lineRecordReader);
+ }
+
+ @Override
+ public boolean nextVertex() throws IOException, InterruptedException {
+ return getRecordReader().nextKeyValue();
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public Vertex<BytesWritable, ByteWritable, NullWritable, MessageWritable> getCurrentVertex() throws IOException,
+ InterruptedException {
+ if (vertex == null)
+ vertex = (Vertex) BspUtils.createVertex(getContext().getConfiguration());
+
+ vertex.getMsgList().clear();
+ vertex.getEdges().clear();
+ Text line = getRecordReader().getCurrentValue();
+ String[] fields = line.toString().split(separator);
+
+ if (fields.length > 0) {
+ /**
+ * set the src vertex id
+ */
+ BytesWritable src = new BytesWritable(fields[0].getBytes());
+ vertexId.set(src);
+ vertex.setVertexId(vertexId);
+
+
+ /**
+ * set the vertex value
+ */
+ byte[] temp = fields[1].getBytes();
+ vertexValue.set(temp[0]);
+ vertex.setVertexValue(vertexValue);
+
+ }
+ return vertex;
+ }
+ }
+
+}
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/pregelix/example/io/MessageWritable.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/pregelix/example/io/MessageWritable.java
new file mode 100644
index 0000000..0dbd800
--- /dev/null
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/pregelix/example/io/MessageWritable.java
@@ -0,0 +1,89 @@
+package edu.uci.ics.pregelix.example.io;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.File;
+import java.io.IOException;
+
+import org.apache.hadoop.io.WritableComparable;
+
+public class MessageWritable implements WritableComparable<MessageWritable>{
+ /**
+ * bytes stores the chains of connected DNA
+ * file stores the point to the file that stores the chains of connected DNA
+ */
+ private byte[] bytes;
+ private File file;
+
+ public MessageWritable(){
+ }
+
+ public MessageWritable(byte[] bytes, File file){
+ set(bytes,file);
+ }
+
+ public void set(byte[] bytes, File file){
+ this.bytes = bytes;
+ this.file = file;
+ }
+
+ public byte[] getBytes() {
+ return bytes;
+ }
+
+ public File getFile(){
+ return file;
+ }
+
+ @Override
+ public void write(DataOutput out) throws IOException {
+ // TODO Auto-generated method stub
+ out.write(bytes);
+ out.writeUTF(file.getAbsolutePath());
+ }
+
+ @Override
+ public void readFields(DataInput in) throws IOException {
+ // TODO Auto-generated method stub
+ in.readFully(bytes);
+ String absolutePath = in.readUTF();
+ file = new File(absolutePath);
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 0;
+ for(int i = 0; i < bytes.length; i++)
+ hashCode = (int)bytes[i];
+ return hashCode;
+ }
+ @Override
+ public boolean equals(Object o) {
+ if (o instanceof MessageWritable) {
+ MessageWritable tp = (MessageWritable) o;
+ return bytes == tp.bytes && file == tp.file;
+ }
+ return false;
+ }
+ @Override
+ public String toString() {
+ return bytes.toString() + "\t" + file.getAbsolutePath();
+ }
+
+ @Override
+ public int compareTo(MessageWritable tp) {
+ // TODO Auto-generated method stub
+ int cmp;
+ if (bytes == tp.bytes)
+ cmp = 0;
+ else
+ cmp = 1;
+ if (cmp != 0)
+ return cmp;
+ if (file == tp.file)
+ return 0;
+ else
+ return 1;
+ }
+
+}
diff --git a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/pregelix/LoadGraphVertexTest.java b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/pregelix/LoadGraphVertexTest.java
new file mode 100644
index 0000000..e88098d
--- /dev/null
+++ b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/pregelix/LoadGraphVertexTest.java
@@ -0,0 +1,108 @@
+package edu.uci.ics.pregelix;
+
+import static org.junit.Assert.*;
+
+import java.io.BufferedReader;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.StringTokenizer;
+
+import org.junit.Test;
+
+import edu.uci.ics.pregelix.LoadGraphVertex.SimpleLoadGraphVertexOutputFormat;
+import edu.uci.ics.pregelix.api.job.PregelixJob;
+import edu.uci.ics.pregelix.example.client.Client;
+
+public class LoadGraphVertexTest {
+
+ /**
+ * I can't debug in JUnits test so that I can't find my error here. So I leave comments here.
+ * I will figure out as soon as possible.
+ */
+ private static final String EXPECT_RESULT_FILE = "expected_result";
+ private static final String INPUT_PATHS = "folder";
+ private static final String OUTPUT_PATH = "result";
+ private static final String IP = "169.234.134.212";
+ private static final String PORT = "3099";
+
+ @SuppressWarnings("deprecation")
+ @Test
+ public void test() throws Exception {
+ //initiate args
+ /* String[] args = new String[8];
+ args[0] = "-inputpaths";
+ args[1] = INPUT_PATHS;
+ args[2] = "-outputpath";
+ args[3] = OUTPUT_PATH;
+ args[4] = "-ip";
+ args[5] = IP;
+ args[6] = "-port";
+ args[7] = PORT;
+ PregelixJob job = new PregelixJob(LoadGraphVertex.class.getSimpleName());
+ job.setVertexClass(LoadGraphVertex.class);
+ job.setVertexInputFormatClass(TextLoadGraphInputFormat.class);
+ job.setVertexOutputFormatClass(SimpleLoadGraphVertexOutputFormat.class);
+ Client.run(args, job);
+
+ generateExpectBinaryFile();
+
+ //test if the actual file is the same as the expected file
+ DataInputStream actual_dis = new DataInputStream(new FileInputStream(OUTPUT_PATH + "/*"));
+ DataInputStream expected_dis = new DataInputStream(new FileInputStream(EXPECT_RESULT_FILE));
+ String actualLine, expectedLine = null;
+ StringTokenizer actualSt, expectedSt;
+ byte[] actualVertexId, expectedVertexId = null;
+ byte actualVertexValue, expectedVertexValue;
+ byte[] tmp = null;
+ while(((actualLine = actual_dis.readLine()) != null) &&
+ ((expectedLine = expected_dis.readLine()) != null)){
+ actualSt = new StringTokenizer(actualLine, " ");
+ actualVertexId = actualSt.nextToken().getBytes();
+ tmp = actualSt.nextToken().getBytes();
+ actualVertexValue = tmp[0];
+
+ expectedSt = new StringTokenizer(expectedLine," ");
+ expectedVertexId = expectedSt.nextToken().getBytes();
+ tmp = expectedSt.nextToken().getBytes();
+ expectedVertexValue = tmp[0];
+
+ assertEquals("actualVextexId == expectedVertexId", actualVertexId, expectedVertexId);
+ assertEquals("actualVertexValue == expectedVertexValue", actualVertexValue, expectedVertexValue);
+ }
+
+ assertEquals("actualLine should be the end and be equal to null", actualLine, null);
+ assertEquals("expectedLine should be the end and be equal to null", expectedLine, null);*/
+ }
+
+ @SuppressWarnings("deprecation")
+ public void generateExpectBinaryFile() throws Exception{
+ DataInputStream dis = new DataInputStream(new FileInputStream(INPUT_PATHS + "/*"));
+ DataOutputStream dos = new DataOutputStream(new FileOutputStream(EXPECT_RESULT_FILE));
+ String line;
+ byte[] vertexId = null;
+ byte vertexValue;
+ byte[] tmp = null;
+ while((line = dis.readLine()) != null){
+ StringTokenizer st = new StringTokenizer(line, " ");
+ vertexId = st.nextToken().getBytes();
+ tmp = st.nextToken().getBytes();
+ vertexValue = tmp[0];
+
+ vertexValue = (byte) (vertexValue << 1);
+ for(int i = 0; i < vertexId.length; i++)
+ dos.writeByte(vertexId[i]);
+ dos.writeByte((byte)32); //space
+ dos.writeByte(vertexValue);
+ dos.writeByte((byte)10); //line feed
+ }
+
+ dis.close();
+ dos.close();
+ }
+
+}
diff --git a/genomix/genomix-pregelix/target/classes/edu/uci/ics/pregelix/LoadGraphVertex$SimpleLoadGraphVertexOutputFormat.class b/genomix/genomix-pregelix/target/classes/edu/uci/ics/pregelix/LoadGraphVertex$SimpleLoadGraphVertexOutputFormat.class
new file mode 100644
index 0000000..8e69a6e
--- /dev/null
+++ b/genomix/genomix-pregelix/target/classes/edu/uci/ics/pregelix/LoadGraphVertex$SimpleLoadGraphVertexOutputFormat.class
Binary files differ
diff --git a/genomix/genomix-pregelix/target/classes/edu/uci/ics/pregelix/LoadGraphVertex$SimpleLoadGraphVertexWriter.class b/genomix/genomix-pregelix/target/classes/edu/uci/ics/pregelix/LoadGraphVertex$SimpleLoadGraphVertexWriter.class
new file mode 100644
index 0000000..ccbd625
--- /dev/null
+++ b/genomix/genomix-pregelix/target/classes/edu/uci/ics/pregelix/LoadGraphVertex$SimpleLoadGraphVertexWriter.class
Binary files differ
diff --git a/genomix/genomix-pregelix/target/classes/edu/uci/ics/pregelix/LoadGraphVertex.class b/genomix/genomix-pregelix/target/classes/edu/uci/ics/pregelix/LoadGraphVertex.class
new file mode 100644
index 0000000..fc53130
--- /dev/null
+++ b/genomix/genomix-pregelix/target/classes/edu/uci/ics/pregelix/LoadGraphVertex.class
Binary files differ
diff --git a/genomix/genomix-pregelix/target/classes/edu/uci/ics/pregelix/TestLoadGraphVertex.class b/genomix/genomix-pregelix/target/classes/edu/uci/ics/pregelix/TestLoadGraphVertex.class
new file mode 100644
index 0000000..46de7d7
--- /dev/null
+++ b/genomix/genomix-pregelix/target/classes/edu/uci/ics/pregelix/TestLoadGraphVertex.class
Binary files differ
diff --git a/genomix/genomix-pregelix/target/classes/edu/uci/ics/pregelix/TextLoadGraphInputFormat$TextLoadGraphReader.class b/genomix/genomix-pregelix/target/classes/edu/uci/ics/pregelix/TextLoadGraphInputFormat$TextLoadGraphReader.class
new file mode 100644
index 0000000..817cfd9
--- /dev/null
+++ b/genomix/genomix-pregelix/target/classes/edu/uci/ics/pregelix/TextLoadGraphInputFormat$TextLoadGraphReader.class
Binary files differ
diff --git a/genomix/genomix-pregelix/target/classes/edu/uci/ics/pregelix/TextLoadGraphInputFormat.class b/genomix/genomix-pregelix/target/classes/edu/uci/ics/pregelix/TextLoadGraphInputFormat.class
new file mode 100644
index 0000000..230e432
--- /dev/null
+++ b/genomix/genomix-pregelix/target/classes/edu/uci/ics/pregelix/TextLoadGraphInputFormat.class
Binary files differ
diff --git a/genomix/genomix-pregelix/target/classes/edu/uci/ics/pregelix/example/io/MessageWritable.class b/genomix/genomix-pregelix/target/classes/edu/uci/ics/pregelix/example/io/MessageWritable.class
new file mode 100644
index 0000000..9bd5624
--- /dev/null
+++ b/genomix/genomix-pregelix/target/classes/edu/uci/ics/pregelix/example/io/MessageWritable.class
Binary files differ
diff --git a/genomix/genomix-pregelix/target/genomix-pregelix-0.2.2-jar-with-dependencies.jar b/genomix/genomix-pregelix/target/genomix-pregelix-0.2.2-jar-with-dependencies.jar
new file mode 100644
index 0000000..802e6ca
--- /dev/null
+++ b/genomix/genomix-pregelix/target/genomix-pregelix-0.2.2-jar-with-dependencies.jar
Binary files differ
diff --git a/genomix/genomix-pregelix/target/genomix-pregelix-0.2.2.jar b/genomix/genomix-pregelix/target/genomix-pregelix-0.2.2.jar
new file mode 100644
index 0000000..d60398e
--- /dev/null
+++ b/genomix/genomix-pregelix/target/genomix-pregelix-0.2.2.jar
Binary files differ
diff --git a/genomix/genomix-pregelix/target/maven-archiver/pom.properties b/genomix/genomix-pregelix/target/maven-archiver/pom.properties
new file mode 100644
index 0000000..da3f8d5
--- /dev/null
+++ b/genomix/genomix-pregelix/target/maven-archiver/pom.properties
@@ -0,0 +1,5 @@
+#Generated by Maven
+#Mon Feb 11 21:38:21 PST 2013
+version=0.2.2
+groupId=edu.uci.ics.pregelix
+artifactId=genomix-pregelix
diff --git a/genomix/genomix-pregelix/target/surefire-reports/TEST-edu.uci.ics.pregelix.LoadGraphVertexTest.xml b/genomix/genomix-pregelix/target/surefire-reports/TEST-edu.uci.ics.pregelix.LoadGraphVertexTest.xml
new file mode 100644
index 0000000..041909f
--- /dev/null
+++ b/genomix/genomix-pregelix/target/surefire-reports/TEST-edu.uci.ics.pregelix.LoadGraphVertexTest.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<testsuite failures="0" time="0.035" errors="0" skipped="0" tests="1" name="edu.uci.ics.pregelix.LoadGraphVertexTest">
+ <properties>
+ <property name="java.runtime.name" value="OpenJDK Runtime Environment"/>
+ <property name="sun.boot.library.path" value="/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64"/>
+ <property name="java.vm.version" value="20.0-b12"/>
+ <property name="java.vm.vendor" value="Sun Microsystems Inc."/>
+ <property name="java.vendor.url" value="http://java.sun.com/"/>
+ <property name="path.separator" value=":"/>
+ <property name="java.vm.name" value="OpenJDK 64-Bit Server VM"/>
+ <property name="file.encoding.pkg" value="sun.io"/>
+ <property name="java.util.logging.config.file" value="src/test/resources/logging.properties"/>
+ <property name="user.country" value="US"/>
+ <property name="sun.java.launcher" value="SUN_STANDARD"/>
+ <property name="sun.os.patch.level" value="unknown"/>
+ <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+ <property name="user.dir" value="/home/anbangx/workspace/fullstack_genomix/genomix/genomix-pregelix"/>
+ <property name="java.runtime.version" value="1.6.0_24-b24"/>
+ <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+ <property name="basedir" value="/home/anbangx/workspace/fullstack_genomix/genomix/genomix-pregelix"/>
+ <property name="java.endorsed.dirs" value="/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/endorsed"/>
+ <property name="os.arch" value="amd64"/>
+ <property name="java.io.tmpdir" value="/tmp"/>
+ <property name="line.separator" value="
+"/>
+ <property name="java.vm.specification.vendor" value="Sun Microsystems Inc."/>
+ <property name="os.name" value="Linux"/>
+ <property name="sun.jnu.encoding" value="UTF-8"/>
+ <property name="java.library.path" value="/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/server:/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64:/usr/lib/jvm/java-6-openjdk-amd64/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib"/>
+ <property name="surefire.test.class.path" value="/home/anbangx/workspace/fullstack_genomix/genomix/genomix-pregelix/target/test-classes:/home/anbangx/workspace/fullstack_genomix/genomix/genomix-pregelix/target/classes:/home/anbangx/.m2/repository/edu/uci/ics/hyracks/pregelix-core/0.2.2/pregelix-core-0.2.2.jar:/home/anbangx/.m2/repository/edu/uci/ics/hyracks/pregelix-api/0.2.2/pregelix-api-0.2.2.jar:/home/anbangx/.m2/repository/edu/uci/ics/hyracks/pregelix-dataflow-std/0.2.2/pregelix-dataflow-std-0.2.2.jar:/home/anbangx/.m2/repository/edu/uci/ics/hyracks/pregelix-dataflow-std-base/0.2.2/pregelix-dataflow-std-base-0.2.2.jar:/home/anbangx/.m2/repository/edu/uci/ics/hyracks/pregelix-dataflow/0.2.2/pregelix-dataflow-0.2.2.jar:/home/anbangx/.m2/repository/edu/uci/ics/hyracks/hyracks-dataflow-std/0.2.2/hyracks-dataflow-std-0.2.2.jar:/home/anbangx/.m2/repository/edu/uci/ics/hyracks/pregelix-runtime/0.2.2/pregelix-runtime-0.2.2.jar:/home/anbangx/.m2/repository/edu/uci/ics/hyracks/hyracks-api/0.2.2/hyracks-api-0.2.2.jar:/home/anbangx/.m2/repository/org/json/json/20090211/json-20090211.jar:/home/anbangx/.m2/repository/org/apache/httpcomponents/httpclient/4.1-alpha2/httpclient-4.1-alpha2.jar:/home/anbangx/.m2/repository/org/apache/httpcomponents/httpcore/4.1-beta1/httpcore-4.1-beta1.jar:/home/anbangx/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar:/home/anbangx/.m2/repository/args4j/args4j/2.0.12/args4j-2.0.12.jar:/home/anbangx/.m2/repository/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar:/home/anbangx/.m2/repository/edu/uci/ics/hyracks/hyracks-dataflow-common/0.2.2/hyracks-dataflow-common-0.2.2.jar:/home/anbangx/.m2/repository/edu/uci/ics/hyracks/hyracks-data-std/0.2.2/hyracks-data-std-0.2.2.jar:/home/anbangx/.m2/repository/org/apache/hadoop/hadoop-core/0.20.2/hadoop-core-0.20.2.jar:/home/anbangx/.m2/repository/commons-cli/commons-cli/1.2/commons-cli-1.2.jar:/home/anbangx/.m2/repository/xmlenc/xmlenc/0.52/xmlenc-0.52.jar:/home/anbangx/.m2/repository/commons-httpclient/commons-httpclient/3.0.1/commons-httpclient-3.0.1.jar:/home/anbangx/.m2/repository/commons-codec/commons-codec/1.3/commons-codec-1.3.jar:/home/anbangx/.m2/repository/commons-net/commons-net/1.4.1/commons-net-1.4.1.jar:/home/anbangx/.m2/repository/org/mortbay/jetty/jetty/6.1.14/jetty-6.1.14.jar:/home/anbangx/.m2/repository/org/mortbay/jetty/jetty-util/6.1.14/jetty-util-6.1.14.jar:/home/anbangx/.m2/repository/tomcat/jasper-runtime/5.5.12/jasper-runtime-5.5.12.jar:/home/anbangx/.m2/repository/tomcat/jasper-compiler/5.5.12/jasper-compiler-5.5.12.jar:/home/anbangx/.m2/repository/org/mortbay/jetty/jsp-api-2.1/6.1.14/jsp-api-2.1-6.1.14.jar:/home/anbangx/.m2/repository/org/mortbay/jetty/jsp-2.1/6.1.14/jsp-2.1-6.1.14.jar:/home/anbangx/.m2/repository/ant/ant/1.6.5/ant-1.6.5.jar:/home/anbangx/.m2/repository/commons-el/commons-el/1.0/commons-el-1.0.jar:/home/anbangx/.m2/repository/net/java/dev/jets3t/jets3t/0.7.1/jets3t-0.7.1.jar:/home/anbangx/.m2/repository/org/mortbay/jetty/servlet-api-2.5/6.1.14/servlet-api-2.5-6.1.14.jar:/home/anbangx/.m2/repository/net/sf/kosmosfs/kfs/0.3/kfs-0.3.jar:/home/anbangx/.m2/repository/hsqldb/hsqldb/1.8.0.10/hsqldb-1.8.0.10.jar:/home/anbangx/.m2/repository/oro/oro/2.0.8/oro-2.0.8.jar:/home/anbangx/.m2/repository/org/eclipse/jdt/core/3.1.1/core-3.1.1.jar:/home/anbangx/.m2/repository/edu/uci/ics/hyracks/hyracks-storage-am-common/0.2.2/hyracks-storage-am-common-0.2.2.jar:/home/anbangx/.m2/repository/edu/uci/ics/hyracks/hyracks-storage-common/0.2.2/hyracks-storage-common-0.2.2.jar:/home/anbangx/.m2/repository/edu/uci/ics/hyracks/hyracks-storage-am-btree/0.2.2/hyracks-storage-am-btree-0.2.2.jar:/home/anbangx/.m2/repository/edu/uci/ics/hyracks/hyracks-control-cc/0.2.2/hyracks-control-cc-0.2.2.jar:/home/anbangx/.m2/repository/edu/uci/ics/hyracks/hyracks-control-common/0.2.2/hyracks-control-common-0.2.2.jar:/home/anbangx/.m2/repository/commons-io/commons-io/1.4/commons-io-1.4.jar:/home/anbangx/.m2/repository/org/eclipse/jetty/jetty-server/8.0.0.RC0/jetty-server-8.0.0.RC0.jar:/home/anbangx/.m2/repository/org/mortbay/jetty/servlet-api/3.0.20100224/servlet-api-3.0.20100224.jar:/home/anbangx/.m2/repository/org/eclipse/jetty/jetty-continuation/8.0.0.RC0/jetty-continuation-8.0.0.RC0.jar:/home/anbangx/.m2/repository/org/eclipse/jetty/jetty-http/8.0.0.RC0/jetty-http-8.0.0.RC0.jar:/home/anbangx/.m2/repository/org/eclipse/jetty/jetty-io/8.0.0.RC0/jetty-io-8.0.0.RC0.jar:/home/anbangx/.m2/repository/org/eclipse/jetty/jetty-webapp/8.0.0.RC0/jetty-webapp-8.0.0.RC0.jar:/home/anbangx/.m2/repository/org/eclipse/jetty/jetty-xml/8.0.0.RC0/jetty-xml-8.0.0.RC0.jar:/home/anbangx/.m2/repository/org/eclipse/jetty/jetty-util/8.0.0.RC0/jetty-util-8.0.0.RC0.jar:/home/anbangx/.m2/repository/org/eclipse/jetty/jetty-servlet/8.0.0.RC0/jetty-servlet-8.0.0.RC0.jar:/home/anbangx/.m2/repository/org/eclipse/jetty/jetty-security/8.0.0.RC0/jetty-security-8.0.0.RC0.jar:/home/anbangx/.m2/repository/org/apache/wicket/wicket-core/1.5.2/wicket-core-1.5.2.jar:/home/anbangx/.m2/repository/org/apache/wicket/wicket-util/1.5.2/wicket-util-1.5.2.jar:/home/anbangx/.m2/repository/org/apache/wicket/wicket-request/1.5.2/wicket-request-1.5.2.jar:/home/anbangx/.m2/repository/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar:/home/anbangx/.m2/repository/org/slf4j/slf4j-jcl/1.6.3/slf4j-jcl-1.6.3.jar:/home/anbangx/.m2/repository/edu/uci/ics/hyracks/hyracks-control-nc/0.2.2/hyracks-control-nc-0.2.2.jar:/home/anbangx/.m2/repository/edu/uci/ics/dcache/dcache-client/0.0.1/dcache-client-0.0.1.jar:/home/anbangx/.m2/repository/org/eclipse/jetty/jetty-client/8.0.0.M0/jetty-client-8.0.0.M0.jar:/home/anbangx/.m2/repository/edu/uci/ics/hyracks/hyracks-net/0.2.2/hyracks-net-0.2.2.jar:/home/anbangx/.m2/repository/org/apache/hadoop/hadoop-test/0.20.2/hadoop-test-0.20.2.jar:/home/anbangx/.m2/repository/org/apache/ftpserver/ftplet-api/1.0.0/ftplet-api-1.0.0.jar:/home/anbangx/.m2/repository/org/apache/mina/mina-core/2.0.0-M5/mina-core-2.0.0-M5.jar:/home/anbangx/.m2/repository/org/apache/ftpserver/ftpserver-core/1.0.0/ftpserver-core-1.0.0.jar:/home/anbangx/.m2/repository/org/apache/ftpserver/ftpserver-deprecated/1.0.0-M2/ftpserver-deprecated-1.0.0-M2.jar:/home/anbangx/.m2/repository/javax/servlet/javax.servlet-api/3.0.1/javax.servlet-api-3.0.1.jar:/home/anbangx/.m2/repository/edu/uci/ics/hyracks/hyracks-ipc/0.2.2/hyracks-ipc-0.2.2.jar:/home/anbangx/.m2/repository/edu/uci/ics/hyracks/pregelix-example/0.2.2/pregelix-example-0.2.2.jar:/home/anbangx/.m2/repository/com/google/collections/google-collections/1.0/google-collections-1.0.jar:/home/anbangx/.m2/repository/junit/junit/4.8.1/junit-4.8.1.jar:"/>
+ <property name="java.specification.name" value="Java Platform API Specification"/>
+ <property name="java.class.version" value="50.0"/>
+ <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+ <property name="os.version" value="3.2.0-37-generic"/>
+ <property name="user.home" value="/home/anbangx"/>
+ <property name="user.timezone" value=""/>
+ <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+ <property name="file.encoding" value="UTF-8"/>
+ <property name="java.specification.version" value="1.6"/>
+ <property name="user.name" value="anbangx"/>
+ <property name="java.class.path" value="/home/anbangx/workspace/fullstack_genomix/genomix/genomix-pregelix/target/surefire/surefirebooter7566709768436177293.jar"/>
+ <property name="java.vm.specification.version" value="1.0"/>
+ <property name="sun.arch.data.model" value="64"/>
+ <property name="java.home" value="/usr/lib/jvm/java-6-openjdk-amd64/jre"/>
+ <property name="sun.java.command" value="/home/anbangx/workspace/fullstack_genomix/genomix/genomix-pregelix/target/surefire/surefirebooter7566709768436177293.jar /home/anbangx/workspace/fullstack_genomix/genomix/genomix-pregelix/target/surefire/surefire4276252907471684694tmp /home/anbangx/workspace/fullstack_genomix/genomix/genomix-pregelix/target/surefire/surefire4155964393859946558tmp"/>
+ <property name="java.specification.vendor" value="Sun Microsystems Inc."/>
+ <property name="user.language" value="en"/>
+ <property name="java.vm.info" value="mixed mode"/>
+ <property name="java.version" value="1.6.0_24"/>
+ <property name="java.ext.dirs" value="/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/ext:/usr/java/packages/lib/ext"/>
+ <property name="sun.boot.class.path" value="/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/resources.jar:/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/rt.jar:/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/jsse.jar:/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/jce.jar:/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/charsets.jar:/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/netx.jar:/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/plugin.jar:/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/rhino.jar:/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/modules/jdk.boot.jar:/usr/lib/jvm/java-6-openjdk-amd64/jre/classes"/>
+ <property name="java.vendor" value="Sun Microsystems Inc."/>
+ <property name="localRepository" value="/home/anbangx/.m2/repository"/>
+ <property name="file.separator" value="/"/>
+ <property name="java.vendor.url.bug" value="http://java.sun.com/cgi-bin/bugreport.cgi"/>
+ <property name="sun.cpu.endian" value="little"/>
+ <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+ <property name="sun.desktop" value="gnome"/>
+ <property name="sun.cpu.isalist" value=""/>
+ </properties>
+ <testcase time="0.002" classname="edu.uci.ics.pregelix.LoadGraphVertexTest" name="test"/>
+</testsuite>
\ No newline at end of file
diff --git a/genomix/genomix-pregelix/target/surefire-reports/edu.uci.ics.pregelix.LoadGraphVertexTest.txt b/genomix/genomix-pregelix/target/surefire-reports/edu.uci.ics.pregelix.LoadGraphVertexTest.txt
new file mode 100644
index 0000000..e68f6fe
--- /dev/null
+++ b/genomix/genomix-pregelix/target/surefire-reports/edu.uci.ics.pregelix.LoadGraphVertexTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: edu.uci.ics.pregelix.LoadGraphVertexTest
+-------------------------------------------------------------------------------
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.035 sec
diff --git a/genomix/genomix-pregelix/target/test-classes/edu/uci/ics/pregelix/LoadGraphVertexTest.class b/genomix/genomix-pregelix/target/test-classes/edu/uci/ics/pregelix/LoadGraphVertexTest.class
new file mode 100644
index 0000000..a173573
--- /dev/null
+++ b/genomix/genomix-pregelix/target/test-classes/edu/uci/ics/pregelix/LoadGraphVertexTest.class
Binary files differ
diff --git a/genomix/genomix-pregelix/tmp/pg_result/.part-0.crc b/genomix/genomix-pregelix/tmp/pg_result/.part-0.crc
new file mode 100644
index 0000000..1e5bb17
--- /dev/null
+++ b/genomix/genomix-pregelix/tmp/pg_result/.part-0.crc
Binary files differ
diff --git a/genomix/genomix-pregelix/tmp/pg_result/.part-1.crc b/genomix/genomix-pregelix/tmp/pg_result/.part-1.crc
new file mode 100644
index 0000000..40acf8c
--- /dev/null
+++ b/genomix/genomix-pregelix/tmp/pg_result/.part-1.crc
Binary files differ
diff --git a/genomix/genomix-pregelix/tmp/pg_result/part-0 b/genomix/genomix-pregelix/tmp/pg_result/part-0
new file mode 100755
index 0000000..10595bd
--- /dev/null
+++ b/genomix/genomix-pregelix/tmp/pg_result/part-0
@@ -0,0 +1,3 @@
+07 68
+1b -120
+2d -34
diff --git a/genomix/genomix-pregelix/tmp/pg_result/part-1 b/genomix/genomix-pregelix/tmp/pg_result/part-1
new file mode 100755
index 0000000..e00a2e0
--- /dev/null
+++ b/genomix/genomix-pregelix/tmp/pg_result/part-1
@@ -0,0 +1 @@
+06 34