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 BasicTextFileParser parser;
private final FormatUtil formatter = new FormatUtil(); private final FormatUtil formatter = new FormatUtil();
private final File[] intensityFiles; private final File[] intensityFiles;
private int cycle_start = -1;
private int cycle_stop = -1;
/** /**
* Constructor * Constructor
* *
* @param firecrestDirectory directory where the Firecrest files can be located * @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) { public FirecrestFileParser(final File firecrestDirectory, final int lane) {
super(firecrestDirectory, lane); super(firecrestDirectory, lane);
intensityFiles = getFilesMatchingRegexp("s_" + lane + "_\\d{4}_int.txt(.gz)?"); 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 @Override
public boolean isValidFirecrestDirectory() { public boolean isValidFirecrestDirectory() {
return (intensityFiles.length > 0); 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 * 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. * are found and that they are the expected multiple for paired-end or not.
*
*/ */
@Override @Override
protected void prepareToIterate() { protected void prepareToIterate() {
@ -88,24 +78,16 @@ public class FirecrestFileParser extends AbstractFirecrestFileParser {
int intensityOffset = 4; int intensityOffset = 4;
int numIntensities = (data.length - 4)/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++) { for (int cycle = 0, index = intensityOffset; cycle < numIntensities; cycle++) {
float[] fIntensities = new float[4];
for (int channel = 0; channel < 4; channel++, index++) { 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]; return new FirecrestReadData(lane, tile, x, y, intensities);
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);
} }
/** /**

View File

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