remove new from KMerSequenceWriter
git-svn-id: https://hyracks.googlecode.com/svn/branches/fullstack_genomix@2970 123451ca-8445-de46-9d55-352943316053
diff --git a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/dataflow/KMerSequenceWriterFactory.java b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/dataflow/KMerSequenceWriterFactory.java
index e25ce40..c8f7e63 100644
--- a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/dataflow/KMerSequenceWriterFactory.java
+++ b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/dataflow/KMerSequenceWriterFactory.java
@@ -35,6 +35,7 @@
ConfFactory cf;
Writer writer = null;
+ KmerCountValue reEnterCount = new KmerCountValue();
/**
* assumption is that output never change source!
*/
@@ -50,8 +51,8 @@
byte[] kmer = tuple.getFieldData(0);
int keyStart = tuple.getFieldStart(0);
int keyLength = tuple.getFieldLength(0);
- writer.appendRaw(kmer, keyStart, keyLength, new KmerCountValue(
- tuple));
+ reEnterCount.reset(tuple);
+ writer.appendRaw(kmer, keyStart, keyLength, reEnterCount);
} catch (IOException e) {
throw new HyracksDataException(e);
}
diff --git a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/driver/Driver.java b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/driver/Driver.java
index f9b2736..e0bd786 100644
--- a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/driver/Driver.java
+++ b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/driver/Driver.java
@@ -7,10 +7,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.mapred.JobConf;
-import org.apache.hadoop.mapreduce.Job;
-import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
-import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.util.GenericOptionsParser;
import edu.uci.ics.genomix.job.GenomixJob;
diff --git a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/type/Kmer.java b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/type/Kmer.java
index 8517432..1fbcc22 100644
--- a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/type/Kmer.java
+++ b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/type/Kmer.java
@@ -75,34 +75,34 @@
public static String getSymbolFromBitMap(byte code) {
int left = (code >> 4) & 0x0F;
int right = code & 0x0F;
- String str = new String();
+ StringBuilder str = new StringBuilder();
for (int i = A; i <= T; i++) {
if ((left & (1 << i)) != 0) {
- str += (char)GENE_SYMBOL[i];
+ str.append((char)GENE_SYMBOL[i]);
}
}
- str += '|';
+ str.append('|');
for (int i = A; i <= T; i++) {
if ((right & (1 << i)) != 0) {
- str += (char)GENE_SYMBOL[i];
+ str.append((char)GENE_SYMBOL[i]);
}
}
- return str;
+ return str.toString();
}
}
public static String recoverKmerFrom(int k, byte[] keyData, int keyStart,
int keyLength) {
- String strKmer = new String();
+ StringBuilder strKmer = new StringBuilder();
int byteId = keyStart + keyLength - 1;
byte currentbyte = keyData[byteId];
for (int geneCount = 0; geneCount < k; geneCount++) {
if (geneCount % 4 == 0 && geneCount > 0) {
currentbyte = keyData[--byteId];
}
- strKmer += (char) GENE_SYMBOL[(currentbyte >> ((geneCount % 4) * 2)) & 0x03];
+ strKmer.append((char) GENE_SYMBOL[(currentbyte >> ((geneCount % 4) * 2)) & 0x03]);
}
- return strKmer;
+ return strKmer.toString();
}
/**
@@ -196,4 +196,5 @@
System.out.println(recoverKmerFrom(k, kmer, 0, kmer.length));
}
+
}
diff --git a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/type/KmerCountValue.java b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/type/KmerCountValue.java
index e943798..6c29209 100644
--- a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/type/KmerCountValue.java
+++ b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/type/KmerCountValue.java
@@ -15,8 +15,12 @@
private byte count;
public KmerCountValue(ITupleReference tuple) {
- adjBitMap = tuple.getFieldData(1)[tuple.getFieldStart(1)];
- count = tuple.getFieldData(2)[tuple.getFieldStart(2)];
+ reset(tuple);
+ }
+
+ public KmerCountValue() {
+ adjBitMap = 0;
+ count = 0;
}
@Override
@@ -55,4 +59,9 @@
return Kmer.GENE_CODE.getSymbolFromBitMap(adjBitMap) + '\t' + String.valueOf(count);
}
+ public void reset(ITupleReference tuple) {
+ adjBitMap = tuple.getFieldData(1)[tuple.getFieldStart(1)];
+ count = tuple.getFieldData(2)[tuple.getFieldStart(2)];
+ }
+
}
\ No newline at end of file