delete the genomic.data.experiments
diff --git a/genomix/genomix-data/.classpath b/genomix/genomix-data/.classpath
deleted file mode 100644
index e43402f..0000000
--- a/genomix/genomix-data/.classpath
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" output="target/classes" path="src/main/java">
- <attributes>
- <attribute name="optional" value="true"/>
- <attribute name="maven.pomderived" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
- <attributes>
- <attribute name="maven.pomderived" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="src" output="target/test-classes" path="src/test/java">
- <attributes>
- <attribute name="optional" value="true"/>
- <attribute name="maven.pomderived" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
- <attributes>
- <attribute name="maven.pomderived" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
- <attributes>
- <attribute name="maven.pomderived" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
- <attributes>
- <attribute name="maven.pomderived" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="output" path="target/classes"/>
-</classpath>
diff --git a/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/.DS_Store b/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/.DS_Store
deleted file mode 100644
index 7880be8..0000000
--- a/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/.DS_Store
+++ /dev/null
Binary files differ
diff --git a/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/valvetgraphbuilding/DeepGraphBuildingMapper.java b/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/valvetgraphbuilding/DeepGraphBuildingMapper.java
new file mode 100644
index 0000000..0905a35
--- /dev/null
+++ b/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/valvetgraphbuilding/DeepGraphBuildingMapper.java
@@ -0,0 +1,21 @@
+package edu.uci.ics.genomix.valvetgraphbuilding;
+
+import java.io.IOException;
+import org.apache.hadoop.io.IntWritable;
+import org.apache.hadoop.mapred.MapReduceBase;
+import org.apache.hadoop.mapred.Mapper;
+import org.apache.hadoop.mapred.OutputCollector;
+import org.apache.hadoop.mapred.Reporter;
+import edu.uci.ics.genomix.type.KmerBytesWritable;
+import edu.uci.ics.genomix.type.PositionListWritable;
+
+@SuppressWarnings("deprecation")
+public class DeepGraphBuildingMapper extends MapReduceBase implements
+ Mapper<KmerBytesWritable, PositionListWritable, IntWritable, LineBasedmappingWritable> {
+ IntWritable numLine = new IntWritable();
+ LineBasedmappingWritable lineBasedWriter = new LineBasedmappingWritable();
+ @Override
+ public void map(KmerBytesWritable key, PositionListWritable value, OutputCollector<IntWritable, LineBasedmappingWritable> output,
+ Reporter reporter) throws IOException {
+ }
+}
diff --git a/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/valvetgraphbuilding/DeepGraphBuildingReducer.java b/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/valvetgraphbuilding/DeepGraphBuildingReducer.java
new file mode 100644
index 0000000..5dac4cd
--- /dev/null
+++ b/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/valvetgraphbuilding/DeepGraphBuildingReducer.java
@@ -0,0 +1,86 @@
+package edu.uci.ics.genomix.valvetgraphbuilding;
+
+import java.io.IOException;
+import java.util.Iterator;
+import org.apache.hadoop.io.IntWritable;
+import org.apache.hadoop.io.NullWritable;
+import org.apache.hadoop.mapred.MapReduceBase;
+import org.apache.hadoop.mapred.OutputCollector;
+import org.apache.hadoop.mapred.Reducer;
+import org.apache.hadoop.mapred.Reporter;
+import edu.uci.ics.genomix.type.KmerBytesWritable;
+import edu.uci.ics.genomix.type.NodeWritable;
+
+@SuppressWarnings("deprecation")
+public class DeepGraphBuildingReducer extends MapReduceBase implements
+ Reducer<IntWritable, LineBasedmappingWritable, NodeWritable, NullWritable> {
+
+/* public ArrayList<LineBasedmappingWritable> lineElementsSet = new ArrayList<LineBasedmappingWritable>();
+ public Position outputVerID = new Position();
+ public VertexAdjacentWritable outputAdjacentList = new VertexAdjacentWritable();
+ public PositionList srcVtexAdjList = new PositionList();
+ public PositionList desVtexAdjList = new PositionList();
+ public VertexIDListWritable srcAdjListWritable = new VertexIDListWritable();
+ public VKmerBytesWritable desKmer = new VKmerBytesWritable(1);
+ public VKmerBytesWritableFactory kmerFactory = new VKmerBytesWritableFactory(1);
+ public VKmerBytesWritable srcKmer = new VKmerBytesWritable(1);*/
+ @Override
+ public void reduce(IntWritable key, Iterator<LineBasedmappingWritable> values,
+ OutputCollector<NodeWritable, NullWritable> output, Reporter reporter) throws IOException {
+/* while (values.hasNext()) {
+ lineElementsSet.add(values.next());
+ }
+ int[] orderLineTable = new int[lineElementsSet.size()];
+ for (int i = 0; i < lineElementsSet.size(); i++) {
+ int posInInvertedIndex = lineElementsSet.get(i).getPosInInvertedIndex();
+ orderLineTable[lineElementsSet.get(i).getAdjVertexList().get().getPosinReadListElement(posInInvertedIndex)] = i;
+ }
+ //the first node in this read
+ int posInInvertedIndex = lineElementsSet.get(orderLineTable[0]).getPosInInvertedIndex();
+ outputVerID.set(
+ lineElementsSet.get(orderLineTable[0]).getAdjVertexList().get().getReadListElement(posInInvertedIndex),
+ (byte) 0);
+ desVtexAdjList.set(lineElementsSet.get(orderLineTable[1]).getAdjVertexList().get());
+ for (int i = 0; i < desVtexAdjList.getUsedSize(); i++) {
+ if (desVtexAdjList.getPosinReadListElement(i) == (byte) 0) {
+ srcVtexAdjList.addELementToList(desVtexAdjList.getReadListElement(i), (byte) 0);
+ }
+ }
+ srcVtexAdjList.addELementToList(key.get(), (byte) 1);
+ outputVerID.set(
+ lineElementsSet.get(orderLineTable[0]).getAdjVertexList().get().getReadListElement(posInInvertedIndex),
+ (byte) 0);
+ srcAdjListWritable.set(srcVtexAdjList);
+ outputAdjacentList.set(srcAdjListWritable, lineElementsSet.get(orderLineTable[0]).getVkmer());
+ output.collect(outputVerID, outputAdjacentList);
+ //srcVtexAdjList reset!!!!
+
+ for (int i = 1; i < lineElementsSet.size(); i++) {
+ desVtexAdjList.set(lineElementsSet.get(orderLineTable[i + 1]).getAdjVertexList().get());
+ boolean flag = false;
+ for (int j = 0; j < desVtexAdjList.getUsedSize(); j++) {
+ if (desVtexAdjList.getPosinReadListElement(j) == (byte) 0) {
+ srcVtexAdjList.addELementToList(desVtexAdjList.getReadListElement(i), (byte) 0);
+ flag = true;
+ }
+ }
+ if (flag = true) {
+ //doesm't merge
+ srcVtexAdjList.addELementToList(key.get(), (byte) (i + 1));
+ outputVerID.set(
+ lineElementsSet.get(orderLineTable[i]).getAdjVertexList().get()
+ .getReadListElement(posInInvertedIndex), lineElementsSet.get(orderLineTable[i])
+ .getAdjVertexList().get().getPosinReadListElement(posInInvertedIndex));
+ srcAdjListWritable.set(srcVtexAdjList);
+ outputAdjacentList.set(srcAdjListWritable, lineElementsSet.get(orderLineTable[i]).getVkmer());
+ }
+ else {
+ //merge
+ desKmer.set(kmerFactory.getFirstKmerFromChain(1, lineElementsSet.get(orderLineTable[i+1]).getVkmer()));
+ srcKmer.set(lineElementsSet.get(orderLineTable[i]).getVkmer());
+ lineElementsSet.get(orderLineTable[i+1]).getVkmer().set(kmerFactory.mergeTwoKmer(srcKmer, desKmer));
+ orderLineTable[i+1] = orderLineTable[i];
+ }
+ }*/
+ }
+}
diff --git a/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/valvetgraphbuilding/GraphInvertedIndexBuildingMapper.java b/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/valvetgraphbuilding/GraphInvertedIndexBuildingMapper.java
new file mode 100644
index 0000000..f4f95a1
--- /dev/null
+++ b/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/valvetgraphbuilding/GraphInvertedIndexBuildingMapper.java
@@ -0,0 +1,49 @@
+package edu.uci.ics.genomix.valvetgraphbuilding;
+
+import java.io.IOException;
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.io.Text;
+import org.apache.hadoop.mapred.JobConf;
+import org.apache.hadoop.mapred.MapReduceBase;
+import org.apache.hadoop.mapred.Mapper;
+import org.apache.hadoop.mapred.OutputCollector;
+import org.apache.hadoop.mapred.Reporter;
+import edu.uci.ics.genomix.type.GeneCode;
+import edu.uci.ics.genomix.type.KmerBytesWritable;
+import edu.uci.ics.genomix.type.PositionWritable;
+
+@SuppressWarnings("deprecation")
+public class GraphInvertedIndexBuildingMapper extends MapReduceBase implements
+ Mapper<LongWritable, Text, KmerBytesWritable, PositionWritable> {
+
+ public static int KMER_SIZE;
+ public PositionWritable outputVertexID;
+ public KmerBytesWritable outputKmer;
+
+ @Override
+ public void configure(JobConf job) {
+ KMER_SIZE = Integer.parseInt(job.get("sizeKmer"));
+ outputVertexID = new PositionWritable();
+ outputKmer = new KmerBytesWritable(KMER_SIZE);
+ }
+ @Override
+ public void map(LongWritable key, Text value, OutputCollector<KmerBytesWritable, PositionWritable> output,
+ Reporter reporter) throws IOException {
+ String geneLine = value.toString();
+ /** first kmer */
+ byte[] array = geneLine.getBytes();
+ outputKmer.setByRead(array, 0);
+ outputVertexID.set((int)key.get(), (byte)0);
+ output.collect(outputKmer, outputVertexID);
+ /** middle kmer */
+ for (int i = KMER_SIZE; i < array.length - 1; i++) {
+ GeneCode.getBitMapFromGeneCode(outputKmer.shiftKmerWithNextChar(array[i]));
+ outputVertexID.set((int)key.get(), (byte)(i - KMER_SIZE + 1));
+ output.collect(outputKmer, outputVertexID);
+ }
+ /** last kmer */
+ GeneCode.getBitMapFromGeneCode(outputKmer.shiftKmerWithNextChar(array[array.length - 1]));
+ outputVertexID.set((int)key.get(), (byte)(array.length - 1 + 1));
+ output.collect(outputKmer, outputVertexID);
+ }
+}
diff --git a/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/valvetgraphbuilding/GraphInvertedIndexBuildingReducer.java b/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/valvetgraphbuilding/GraphInvertedIndexBuildingReducer.java
new file mode 100644
index 0000000..f734f81
--- /dev/null
+++ b/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/valvetgraphbuilding/GraphInvertedIndexBuildingReducer.java
@@ -0,0 +1,26 @@
+package edu.uci.ics.genomix.valvetgraphbuilding;
+
+import java.io.IOException;
+import java.util.Iterator;
+import org.apache.hadoop.mapred.MapReduceBase;
+import org.apache.hadoop.mapred.Mapper;
+import org.apache.hadoop.mapred.OutputCollector;
+import org.apache.hadoop.mapred.Reducer;
+import org.apache.hadoop.mapred.Reporter;
+import edu.uci.ics.genomix.type.KmerBytesWritable;
+import edu.uci.ics.genomix.type.PositionListWritable;
+import edu.uci.ics.genomix.type.PositionWritable;
+
+@SuppressWarnings({ "deprecation", "unused" })
+public class GraphInvertedIndexBuildingReducer extends MapReduceBase implements
+ Reducer<KmerBytesWritable, PositionWritable, KmerBytesWritable, PositionListWritable> {
+ PositionListWritable outputlist = new PositionListWritable();
+ @Override
+ public void reduce(KmerBytesWritable key, Iterator<PositionWritable> values,
+ OutputCollector<KmerBytesWritable, PositionListWritable> output, Reporter reporter) throws IOException {
+ while (values.hasNext()) {
+ outputlist.append(values.next());
+ }
+ output.collect(key, outputlist);
+ }
+}
diff --git a/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/valvetgraphbuilding/LineBasedmappingWritable.java b/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/valvetgraphbuilding/LineBasedmappingWritable.java
new file mode 100644
index 0000000..c87e5ff
--- /dev/null
+++ b/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/valvetgraphbuilding/LineBasedmappingWritable.java
@@ -0,0 +1,41 @@
+package edu.uci.ics.genomix.valvetgraphbuilding;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+import edu.uci.ics.genomix.type.PositionListWritable;
+
+public class LineBasedmappingWritable extends PositionListWritable{
+ byte posInRead;
+
+ public LineBasedmappingWritable() {
+ super();
+ this.posInRead = -1;
+ }
+
+ public LineBasedmappingWritable(int count, byte [] data, int offset, byte posInRead) {
+ super(count, data, offset);
+ this.posInRead = posInRead;
+ }
+
+ public void set(byte posInRead, PositionListWritable right) {
+ super.set(right);
+ this.posInRead = posInRead;
+ }
+
+ @Override
+ public void readFields(DataInput in) throws IOException {
+ super.readFields(in);
+ this.posInRead = in.readByte();
+ }
+
+ @Override
+ public void write(DataOutput out) throws IOException {
+ super.write(out);
+ out.writeByte(this.posInRead);
+ }
+
+ public int getPosInInvertedIndex() {
+ return this.posInRead;
+ }
+}