Make output type identical to the bustard parser so the values can be easily swapped for one another.

git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@348 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
kiran 2009-04-09 20:49:34 +00:00
parent d0ce56e018
commit 6cdad10dd1
2 changed files with 8 additions and 26 deletions

View File

@ -27,27 +27,18 @@ public class FirecrestFileParser extends AbstractFirecrestFileParser {
private BasicTextFileParser parser;
private final FormatUtil formatter = new FormatUtil();
private final File[] intensityFiles;
private int cycle_start = -1;
private int cycle_stop = -1;
/**
* Constructor
*
* @param firecrestDirectory directory where the Firecrest files can be located
* @param lane the lane to parse
* @param lane the lane to parse
*/
public FirecrestFileParser(final File firecrestDirectory, final int lane) {
super(firecrestDirectory, lane);
intensityFiles = getFilesMatchingRegexp("s_" + lane + "_\\d{4}_int.txt(.gz)?");
}
public FirecrestFileParser(final File firecrestDirectory, final int lane, final int cycle_start, final int cycle_stop) {
super(firecrestDirectory, lane);
intensityFiles = getFilesMatchingRegexp("s_" + lane + "_\\d{4}_int.txt(.gz)?");
this.cycle_start = cycle_start;
this.cycle_stop = cycle_stop;
}
@Override
public boolean isValidFirecrestDirectory() {
return (intensityFiles.length > 0);
@ -56,7 +47,6 @@ public class FirecrestFileParser extends AbstractFirecrestFileParser {
/**
* Sorts the relevant files in the firecrestDirectory. Does some basic sanity checking to ensure that some files
* are found and that they are the expected multiple for paired-end or not.
*
*/
@Override
protected void prepareToIterate() {
@ -88,24 +78,16 @@ public class FirecrestFileParser extends AbstractFirecrestFileParser {
int intensityOffset = 4;
int numIntensities = (data.length - 4)/4;
FourIntensity[] intensities = new FourIntensity[numIntensities];
double[][] intensities = new double[numIntensities][4];
for (int cycle = 0, index = intensityOffset; cycle < numIntensities; cycle++) {
float[] fIntensities = new float[4];
for (int channel = 0; channel < 4; channel++, index++) {
fIntensities[channel] = formatter.parseFloat(data[index]);
intensities[cycle][channel] = formatter.parseFloat(data[index]);
}
intensities[cycle] = new FourIntensity(fIntensities);
}
FourIntensity[] intensities2 = new FourIntensity[(cycle_start > 0 && cycle_stop > 0 && cycle_stop > cycle_start) ? (cycle_stop - cycle_start) : numIntensities];
for (int cycle = 0, offset = (cycle_start >= 0 ? cycle_start : 0); cycle < intensities2.length; cycle++) {
intensities2[cycle] = intensities[offset + cycle];
}
return new FirecrestReadData(lane, tile, x, y, intensities2);
return new FirecrestReadData(lane, tile, x, y, intensities);
}
/**

View File

@ -19,7 +19,7 @@ public class FirecrestReadData {
final private int tileNumber;
final private int xCoordinate;
final private int yCoordinate;
final private FourIntensity[] intensities;
final private double[][] intensities;
/**
@ -31,7 +31,7 @@ public class FirecrestReadData {
* @param yCoordinate
* @param intensities
*/
public FirecrestReadData(int laneNumber, int tileNumber, int xCoordinate, int yCoordinate, FourIntensity[] intensities) {
public FirecrestReadData(int laneNumber, int tileNumber, int xCoordinate, int yCoordinate, double[][] intensities) {
this.laneNumber = laneNumber;
this.tileNumber = tileNumber;
this.xCoordinate = xCoordinate;
@ -52,6 +52,6 @@ public class FirecrestReadData {
public int getTileNumber() { return tileNumber; }
public int getXCoordinate() { return xCoordinate; }
public int getYCoordinate() { return yCoordinate; }
public FourIntensity[] getIntensities() { return intensities; }
public double[][] getIntensities() { return intensities; }
}