|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--SimpleTable | +--Table | +--MaHPquantTable
The class is only used to read a .quant file (File or URL) into an mae.ms instance. The temporary data structures are then garbage collected. It parses data from a quantified microarray tab-delimited file. The data might be from the analysis by various microarray image quantification programs including (Axon's GenePix, Scanarray, R.G.'s Pathways 2.01, MolDyn ImageQuant-NT, etc). Since the data is a tab-delimited format, any program which can generate this type of data could be used. Most quantitative data formats use integers for (grid,row,col) values. However, some formats use letters [A:Z] for the first 26 (i.e. [1:26]), and [a:z] for the next 26 (i.e. [27:52]) values. Sometimes only lower case letters are used - in which case we must map [a:z] to [1:26]. When MAExplorer first sees a letter in reading the data, it checks to see if it is an upper or lowercase letter and generates the proper offset needed to generate the mapping.
HISTORICAL NOTES: The fields were initially derived from the Research Genetics microarray quantitation .txt table for the corresponding microarray. This whole file is a tab delimited file consisting of some of the following fields:
ALL R.G. Pathways 2.01 fields: "TableName" "FilterType_Description" "ShortName" "Header_Description" "Date" "Researcher" "SampleGrid" "BGLow" "BGAvg" "BGRms" "X" "Y" "RawIntensity" "field" "grid" "grid col" "grid row" "release" "plate" "release row" "release col" "clone id" "type" "norm"
NOTE: we do not use the following since we get it from the GeneTable. "release" "plate" "release row" "release col" "clone id"
The .quant file subset of fields that we try to parse are: "X" "Y" "RawIntensity" "field" "grid" "grid col" "grid row"
Additional global data is saved in the SamplesDB file (@see #SampleTable) that contains a row for each sample with the remaining data: "TableName" "FilterType_Description" "ShortName" "Header_Description" "Date" "Researcher" "SampleGrid" "BGLow" "BGAvg" "BGRms"
where "BGLow" "BGAvg" "BGRms" are global background values such as that defined by a R.G. Pathways 2.01 analysis.
NOTE: if you are using the symbolic ImageQuant GIPO symbol "NAME_GRC", it has the grid #, row# and column# specified as follows:
e.g. in following (grid,row,column) = (8,12,11) "GRID- 8-R12C11".When the field # is not explicitly specified, the data may be vertically stacked. We handle multiple (vertically stacked) occurances by replicating the GIPO entry for each field for intensity data (not cy3/cy5 ratio data) if maxFIELDS > 1. If "field" exists, then use "RawIntensity", else for each field [1:maxFIELDS] look for "RawIntensity1", "RawIntensity2" when we do the field 1 and field passes of the file.
We use the QualCheck field derived from the Becker/NIA QualCheck codes: 1 = analyzable gene (clone or oligo) on array, good clone id. 2 = analyzable gene (clone or oligo) on array, bad clone id, good gene name. 3 = non-analyzable gene (clone or oligo) on array, e.g. empty spots, or filled with internal testing material. 4 = analyzable gene (clone or oligo), duplicated genes on the microarray, only one duplicate is flagged with the "4". We define the legal QualCheck codes in Gene.C_XXXXX properties bits.NOTE: (6/8/00) - use of "Location"
The optional "Location" entry may be the identifier for some databases.] It might also indicate that a gene is 'good' since bad genes on the array may be missing from both the GIPO and the .quant data files. This missing data is used in Cvt2Mae to synthesize missing genes by creating spot entrys with 0 density.
This work was produced by Peter Lemkin of the National Cancer Institute, an agency of the United States Government. As a work of the United States Government there is no associated copyright. It is offered as open source software under the Mozilla Public License (version 1.1) subject to the limitations noted in the accompanying LEGAL file. This notice must be included with the code. The MAExplorer Mozilla and Legal files are available on http://maexplorer.sourceforge.net/.
MaHybridSample
Field Summary | |
private int |
allocSize
number of spots allocated as map.maxSpots+1. |
private CompositeDatabase |
cdb
link to global CompositeDatabase instance |
private Config |
cfg
link to global Config instance |
(package private) static int |
DELTA_X_SPACING
(opt) Horiz. |
(package private) static int |
DELTA_Y_SPACING
Vert. |
private boolean |
doRatioFlag
flag: if maxFIELD==1 && useRatioDataFlag |
private FileIO |
fio
link to global FileIO vinstance |
private char |
gridCharOffset
Grid alphabetic offset for Uppercase ('A') or Lowercase ('a') if using letters |
private char |
gridColCharOffset
Grid Column alphabetic offset for Uppercase ('A') or Lowercase ('a') if using letters |
private char |
gridRowCharOffset
Grid Row alphabetic offset for Uppercase ('A') or Lowercase ('a') if using letters |
(package private) static int |
GUARD_REGION
# pixels in target image on each edge |
private int |
idxBkgrd
background raw intensity spot data |
private int |
idxBkgrd1
background raw intensity channel 1, if code mult fields in each row |
private int |
idxBkgrd2
background raw intensity channel 2, if code mult fields in each row |
private int |
idxDetValue
Opt. |
private int |
idxfield
opt. |
private int |
idxgrid
separate GRC spec. |
private int |
idxgrid_col
separate GRC spec. |
private int |
idxgrid_row
separate GRC spec. |
private int |
idxLocation
opt. |
private int |
idxNameGridIdx
MolDyn GRC coding for (grid,grid-row,grid-column) as "NAME_GRC" e.g. |
private int |
idxQualCheck
Opt. |
private int |
idxRawIntens
raw intensity spot data |
private int |
idxRawIntens1
raw intensity spot data for channel 1, if code mult fields in each row |
private int |
idxRawIntens2
raw intensity spot data for channel 2, if code mult fields in each row |
private int |
idxX
opt. |
private int |
idxY
opt. |
private boolean |
isGridColDigitFlag
flag: Grid-Col value is coded as digit else alpha |
private boolean |
isGridDigitFlag
flag: Grid value is coded as digit else alpha |
private boolean |
isGridRowDigitFlag
flag: Grid-Row value is coded as digit else alpha |
private boolean |
learnGRCcodingFlag
flag: once only code when analyze for MolDyn "NAME_GRC" coding |
private MAExplorer |
mae
link to global MAExplorer instance |
private java.lang.String |
maeTbl
name of remap Table |
private Maps |
map
link to global Maps instance |
private int |
maxFIELDS
maximum number of fields allowed |
private int |
maxGCOLS
maximum number of grid cols allowed |
private int |
maxGRIDS
maximum number of grids allowed |
private int |
maxGROWS
maximum number of grid rows allowed |
static float |
maxHsize
|
static float |
maxVsize
|
private MaHybridSample |
ms
HP sample that owns this table instance |
private int |
nGenes
# of genes |
private int |
nSpots
number of spots read. |
private boolean |
screenGoodGenesFlag
flag: if calc glob-stats on only GoodGenes |
(package private) static int |
SPACING_BETWEEN_SPOTS
(opt) spacing between spots |
private boolean |
swapCy5Cy3DataFlag
|
(package private) static int |
X_GRID_OFFSET
value to add to orig data coords to draw GRID labels |
(package private) static int |
X_SPOTQ_OFFSET
value to add to orig data coords x_textQ[]. |
private int |
xRmax
max X coordinate from orig .quant data |
private int |
xRmin
min X coordinate from orig .quant data |
(package private) static int |
Y_SPOTQ_OFFSET
value to add to orig data coords y_textQ[] AND to grid coords so they match spots |
private int |
yRmax
max Y coordinate from orig .quant data |
private int |
yRmin
min Y coordinate from orig .quant data |
Fields inherited from class Table |
bufSize, fileOKflag |
Fields inherited from class SimpleTable |
fileName, msg, tCols, tData, tFields, title, tRows |
Constructor Summary | |
(package private) |
MaHPquantTable(MAExplorer mae,
MaHybridSample ms,
java.lang.String fileName,
java.lang.String hpName,
boolean swapCy5Cy3DataFlag)
MaHPquantTable() - constructor to read the .quant file table and setup MaHybridSample |
Method Summary | |
private float |
cvtQualCheckStrToFloat(java.lang.String sQualCheck)
cvtQualCheckStrToFloat() - do conversion from QualCheck string to float value. |
private GridCoords |
cvtTblRowDataToFGRC(int f,
java.lang.String[] data)
cvtTblRowDataToFGRC() - convert table row data to GridCoord data by setting (f,g,r,c) in the mae.grcd object. |
private boolean |
initFGRCtoGTidxMap()
initFGRCtoGTidxMap() - create FGRC to quant table row index lookup table. |
private boolean |
parseGidQmapLookupTable()
parseGidQmapLookupTable()- parse FGRC tData[][] to ms.gidMapQ[]. |
private boolean |
parseQuantTableToQarrays()
parseQuantTableToQarrays() - cvt Table data to quant xxxC[] arrays data. |
private void |
setupFieldIndexes()
setupFieldIndexes() - setup indexes for common Table fields for speedups. |
private void |
setupQuantImageTextQGridCoords()
setupQuantImageTextQGridCoords() - for .quant data to draw in PseudoImage |
private boolean |
setupXYQandCorrectSkew()
setupXYQandCorrectSkew() - set XY coords and correct XY skew if actual xy coords. |
Methods inherited from class Table |
copyTable, createFileTable, getArrayOfTabDelimitedTokens, getData, getTableRowsSubset, getTableRowsSubset, insertTblInULHCtable, lookupFieldIdxAndRemapFieldName, makeTabDelimReport, readTable, storeDataBufParser |
Methods inherited from class SimpleTable |
freeTable, getTableRowFieldByRowIdx, getTableRowFieldIdxByRowIdx, lookupFieldIdx, setFieldData, setRowData, trimWhitespace |
Methods inherited from class java.lang.Object |
|
Field Detail |
private MAExplorer mae
private Maps map
private Config cfg
private CompositeDatabase cdb
private FileIO fio
private MaHybridSample ms
static final int SPACING_BETWEEN_SPOTS
static final int DELTA_X_SPACING
static final int DELTA_Y_SPACING
static final int X_GRID_OFFSET
static final int X_SPOTQ_OFFSET
static final int Y_SPOTQ_OFFSET
static final int GUARD_REGION
private final java.lang.String maeTbl
public static float maxVsize
public static float maxHsize
private int idxLocation
private int idxX
private int idxY
private int idxfield
private int idxgrid
private int idxgrid_col
private int idxgrid_row
private int idxNameGridIdx
private int idxRawIntens
private int idxRawIntens1
private int idxRawIntens2
private int idxBkgrd
private int idxBkgrd1
private int idxBkgrd2
private int idxDetValue
private int idxQualCheck
private boolean learnGRCcodingFlag
private boolean isGridDigitFlag
private boolean isGridRowDigitFlag
private boolean isGridColDigitFlag
private char gridCharOffset
private char gridRowCharOffset
private char gridColCharOffset
private boolean screenGoodGenesFlag
private boolean doRatioFlag
private boolean swapCy5Cy3DataFlag
private int maxFIELDS
private int maxGRIDS
private int maxGROWS
private int maxGCOLS
private int allocSize
private int nSpots
private int nGenes
private int xRmax
private int yRmax
private int xRmin
private int yRmin
Constructor Detail |
MaHPquantTable(MAExplorer mae, MaHybridSample ms, java.lang.String fileName, java.lang.String hpName, boolean swapCy5Cy3DataFlag)
mae
- is instance of MAExplorerms
- is the MaHybridSample instancefileName
- is the .quant file full path namehpName
- the sample nameswapCy5Cy3DataFlag
- indicates that swap (Cy3,Cy5) dataMAExplorer.logDRYROTerr(java.lang.String)
,
MaHybridSample
,
MaHybridSample.clearHPglobalStats()
,
MaHybridSample.cvtRawQdataToMAEdata(boolean)
,
Util.popupDryrotMsgsAndQuit()
,
Util.showMsg2(java.lang.String)
,
initFGRCtoGTidxMap()
,
parseQuantTableToQarrays()
,
setupFieldIndexes()
,
setupQuantImageTextQGridCoords()
,
setupXYQandCorrectSkew()
Method Detail |
private void setupFieldIndexes()
Table.lookupFieldIdxAndRemapFieldName(java.lang.String, java.lang.String)
private boolean initFGRCtoGTidxMap()
Util.checkImagesDirExists()
,
parseGidQmapLookupTable()
private GridCoords cvtTblRowDataToFGRC(int f, java.lang.String[] data)
f
- is the field numberdata
- is the full row of table dataGridCoords.cvtNAME_GCR2FGRC(int, java.lang.String)
,
MAExplorer.logDRYROTerr(java.lang.String)
,
Util.popupDryrotMsgsAndQuit()
private boolean parseGidQmapLookupTable()
FileIO.logMsgln(java.lang.String)
,
MAExplorer.logDRYROTerr(java.lang.String)
,
Util.popupDryrotMsgsAndQuit()
,
cvtTblRowDataToFGRC(int, java.lang.String[])
private void setupQuantImageTextQGridCoords()
Maps
private boolean setupXYQandCorrectSkew()
private float cvtQualCheckStrToFloat(java.lang.String sQualCheck)
sQualCheck
- is table string value for QualCheckUtil.cvs2f(java.lang.String)
,
Util.cvs2i(java.lang.String)
private boolean parseQuantTableToQarrays()
MaInfoTable.getTableRowByMaInfoId(java.lang.String)
,
Util.cvs2f(java.lang.String)
,
Util.cvs2i(java.lang.String)
,
Util.showMsg(java.lang.String)
,
cvtQualCheckStrToFloat(java.lang.String)
,
cvtTblRowDataToFGRC(int, java.lang.String[])
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |