|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--AFLPcore.Operation | +--AFLPcore.ImportFilter | +--AFLPcore.CEQLaneFilter
This class reads data from a fragment results text file produced by a Beckman Coulter, Inc. CEQ 2000 DNA Analysis System. The text file contains trace data, size standard peak data, and information about the sample and experimental conditions.
The CEQ 2000 is a capillary system. The data in the file represent the four color traces collected from one capillary during a fragment separation. Genographer, however, displays these data as though they were obtained from a lane on a gel.
The class expects fragment analysis results, exported as a text file with the Header and Result Data options selected. Files exported in this manner will include:
See the readLane method for the file format and data organization.
This information will be stored in a Lane
object, which is used by
the program. The size standard peaks will be passed to a
SizeFunction
. These will be used to calculate the size of the fragments.
Since the CEQ fragment results file contains all of the size standard
information needed for Genographer's sizing functions, the
standard.cfg file is not used by this filter.
The filter has three options that must be set before it can run:
getOptions()
and setOptions()
.
All three options are a list of choices, one of which must be selected.
The possible values for the color option are D1, D2, D3 and D4.
The size function and the size standard can be the name of any size
function or standard known to the program.
This class uses the FeatureList
class to retrieve the known functions.
Once the options have been set, the readLane
method can be called to
read the actual file.
SizeFunction
,
SizeStandard
,
This class is based on the ABILaneFilter class developed
by James J. Benham.
Field Summary | |
static int |
BLUE
|
static int |
GREEN
|
static int |
RED
|
static int |
YELLOW
|
Fields inherited from class AFLPcore.ImportFilter |
filetype, GEL, LANE |
Fields inherited from class AFLPcore.Operation |
descript, helpFile, name, options |
Constructor Summary | |
CEQLaneFilter()
Creates a new filter to read in CEQ lane files. |
Method Summary | |
java.lang.String |
getDescription()
Retrieves a short, approximately one sentence, description of the filter. |
int |
getFileType()
Returns the type of input file supported by this filter In this case ImportFilter.LANE , since the filter reads in lane data. |
java.lang.String |
getHelpFile()
The help file describes which files the filter reads and the options that this filter accepts. |
java.lang.String |
getName()
Access the name of the filter. |
Option[] |
getOptions()
Returns the options for this filter, which includes the color of the data, the size function to use, and the size standard. |
Gel |
readGel(java.io.File inputFile)
This filter does not read gels. |
Lane[] |
readLane(java.io.File inputFile)
Read the data from the file and use it to create a Lane. |
void |
setOptions(Option[] opts)
Sets the parameters for the filter to the specified values, including color. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int RED
public static final int YELLOW
public static final int GREEN
public static final int BLUE
Constructor Detail |
public CEQLaneFilter()
Method Detail |
public java.lang.String getName()
getName
in class Operation
public int getFileType()
ImportFilter.LANE
, since the filter reads in lane data.getFileType
in class ImportFilter
public java.lang.String getDescription()
getDescription
in class Operation
public java.lang.String getHelpFile()
getHelpFile
in class Operation
public Option[] getOptions()
Option
of type CHOICE
. The second
option is also of type CHOICE
. It tells which size
method should be used to compute the size of the fragements. Please
see the help files and the code for the size functions for a
description of how the work.getOptions
in class Operation
Option
,
FeatureList
,
SizeFunction
,
SizeStandard
public void setOptions(Option[] opts)
SizeFunction
. Note that
the name is not the class name of the SizeFunction
, but
the name each SizeFunction
stores internally. The
third option must also be set.setOptions
in class Operation
opts
- an array of length 3 which contains the options
mentioned above and described in getOptions()
The order must be: color, size function, size standard.MissingParameterError
- occurs when the filter fails to
extract a string from the first option in opts
.java.lang.IllegalArgumentException
- occurs when a string is found but
cannot be matched to one of the colors: Red, Blue, Green, or Yellow.
Or if an array with length not equal to 3 is given as
opts
, or if the specified size function, the second
option, could not be matched to a defined size function.public Lane[] readLane(java.io.File inputFile) throws java.io.IOException
The data in the file represent a run from one capillary. Genographer displays these data as though they were a lane obtained from a gel. Since this is a text file, much of the data must be converted to doubles or integers before they are used. Each line in the file is considered a record, ending with a carriage return, "\r". Records that contain multiple pieces of data are also tab delimited, "\t".
The file is organized into sections. Each section has a name in the following format: "[Section Name]". The file sections can contain Key/Value pairs or they can contain records with standard peak or trace data.
The file is first searched for a specific section name. This is done to ensure that the file is in the appropriate format and that the expected data are actually in the file. If the section name is not found, a file import IOException occurs.
The sections are not searched in the order that they appear in the file. Instead, the [FRAGMENT ANALYZED DATA OUTPUT] section is used first. This is a section that is unique to the proper file format. Searching for it first ensures that the filter is reading the appropriate file. Also, data from this section is needed to process the information in the remaining sections. Other than starting with this section, the file is accessed top to bottom.
Once the file section is found, the data are extracted by searching for Key/Value pairs or reading records containing standard peak or trace data. The Key/Value pairs have the format: "KeyName=Value"
The records containing the trace data have the following tab delimited format:
"53 -3.112358e+001 0.000000e+000 1.377488e+001 0.000000e+000"Where the 1st column indicates the scan point number. The remaining four columns contain the trace data for each of the four dyes (D1, D2, D3, D4, respectively). If a dye was not present in the sample, all of the data in the corresponding column will be 0.000000e+000. Note also that some of the trace data may be negative. This negative bias is removed from the data by raising the entire trace in the positive y-axis direction, before the lane is created.
The records containing standard peak data have the following tab delimited format:
" * 3 D1 12.58 60 59.86 1911 6800 2.91"with columns representing peak type, peak number, dye, migration time, standard size, estimated size, peak height, peak area, peak width, respectively. A "*" in the peak type column indicates a standard record.
The migration times for the standard peaks are in minutes, so these must be converted to scan point location, based on the sampling rate. Additionally, the standard peak migration time is offset from the trace data by the value of CVMigrationOffset, a key value found in the [FRAGMENT ANALYZED DATA OUTPUT] section. This offset is corrected when the standard peaks are extracted from the file.
The sample information, displayed by Genographer in the Gel View, has the following format: string "from Lane" integer "in" string. The sample ID information, added to the lane by this filter, will consequently be displayed as: Sample Name from Lane capillary number in Plate Name
readLane
in class ImportFilter
getTrace
,
getStandards
,
findFileSection
,
getKeyValue
public Gel readGel(java.io.File inputFile) throws java.io.IOException
readGel
in class ImportFilter
null
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |