Class MaeConfigData

java.lang.Object
  |
  +--MaeConfigData

public class MaeConfigData
extends java.lang.Object

This class holds the state of the MAE data and is used to write (and read) the MAExplorer Config. It also holds the instances for the SamplesDB (msd) and .mae startup file database (msud). Those classes have their own read and write to file methods.

An instance of MaeConfigData (as well as MaeSampleData and MaeStartupData) should be created when the calling program first starts. The state may be filled either by:

  1. the calling program stuffing the variables, 
2. the calling program calling an editor which will stuff the variables, or
3. calling a readXXXX() method to read the variables from files.
All of the state variables have default values defined when the instance is created. These should normally be overidden.
The directory Tree may be checked and created as needed. Typically, the entire project is written at one time, but it may also be written separately (eg. if editing).

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.

Version:
$Date: 2002/10/14 19:22:30 $ $Revision: 1.12 $
Author:
P. Lemkin (NCI), G. Thornwall (SAIC), B. Stephens(SAIC), NCI-Frederick, Frederick, MD
See Also:
MAExplorer Home

Field Summary
 boolean activeReanalyeButtonFlag
          flag: that the Reanalyze button is active (didEditALOflag && didGIPOassignFlag && didQuantFlag && hasMultDatasetsFlag).
 boolean allowNegQuantDataFlag
          PARAM: "allowNegQuantDataFlag"(eg.
 java.lang.String aloDir
          i.e.
 java.lang.String aloFileName
          current ArrayLayout file name
 java.lang.String arrayGipoFile
          PARAM: "gipoFile" GIPO file spot print order file.
 boolean beingEditedFlag
          is true while editing
 long bitProps
          Bit properties of the current state
 boolean bkgdCorrectFlag
          PARAM: "useBackgroundCorrection" enable background coorection
 java.lang.String calibDNAname
          PARAM: "calibDNAname"(opt) name for calibration DNA
 int canvasHSize
          PARAM: "CanvasHorSize"(opt) pixels, horiz.
 int canvasVSize
          PARAM: "CanvasVertSize"(opt) pixels, vertical uArray image size
 boolean chkAndEditFieldNamesFlag
          flag: check and edit Samples and Field names data before use.
 java.lang.String classNameX
          PARAM: "classNameX"(opt) default HP-X probe 'set'
 java.lang.String classNameY
          PARAM: "classNameY"(opt) default HP-Y probe 'set'
 float clusterDistThr
          PARAM: "clusterDistThr" initial cluster threshold
 java.lang.String commentToken
          if not "", is input file comment prefix
 java.lang.String configDir
          dirName or maePrjDir/Config
 java.lang.String configFile
          full path of Config file
 java.lang.String configName
          MaeConfig-sn.txt file name
 Cvt2Mae cvt
           
 java.lang.String database
          PARAM: "dataBase" (opt) name of the database
 java.lang.String date
          date when this program is run
 java.lang.String dbEstURL
          PARAM: "dbEstURL" NCBI dbEst server by dbEST ID
 java.lang.String dbPrjName
          generic DB project name for all input array data.
 java.lang.String dbSubset
          PARAM: "dbSubset" (opt) name of the subset of DB
 boolean didEditALOflag
          did an Edit Layout indicated by pressing Done
 boolean didGIPOassignFlag
          did an Assign GIPO indicated by pressing Done
 boolean didQuantFlag
          did an Assign Quant indicated by pressing Done
 float diffThr
          PARAM: "diffThr" init difference threshold
 DataIO dio
          link to DataIO data
 java.lang.String dirName
          source data files directory
 java.lang.String editDate
          PARAM: "editDate" generated by program
 boolean editedLayoutFlag
          user has edited chip layout
 boolean editMaePrjFilesFlag
          edit only 1 Layout window at a time
 java.lang.String emptyWellName
           
 java.lang.String existingPrjDir
          set if using existing Prj dir
 java.lang.String fieldLayout
          PARAM: "FIELD_LAYOUT" (future) fields are Left to Right
 boolean fieldsAreNumbered
          PARAM: "FIELDS_ARE_NUMBERED" (future) Data files contain field number.
(package private)  boolean fileSavedFlag
          if file is saved
 java.lang.String fileSep
          system specific / or \ or :, etc
 java.lang.String fluorescentLbl1
          PARAM: "fluorescentLbl1" (ratio) dye name for fluorescent label 1
 java.lang.String fluorescentLbl2
          PARAM: "fluorescentLbl2" (ratio) dye name for fluorescent label 2
 FieldMap fm
          current field map
 java.lang.String[] fullSampleName
          [0:nQuantFiles-1] full sample names for cvt.inSamplesList
 java.lang.String gbid2LocusLinkURL
          PARAM: "gbid2LocusLinkURL" NCBI GBID to LocusLink server.
 java.lang.String genBankAccURL
          PARAM: "genBankAccURL" NCBI GenBank server by GenBankAcc ID
 java.lang.String genBankCloneURL
          PARAM: "genBankCloneURL" NCBI GenBank entry by Clone_ID server
 java.lang.String genBankCloneURLepilogue
          PARAM: "genBankCloneURLepilogue" Epilog added after Clone_ID
 java.lang.String geneCardURL
          PARAM: "geneCardURL" GeneCard DB server.
 java.lang.String[] genomicIDreq
          PARAM: "GenomicIDreqj" sub menu required ID
 java.lang.String[] genomicMenu
          PARAM: "GenomicMenuj" sub menu title
 java.lang.String[] genomicURL
          PARAM: "GenomicURLj" sub menu URL
 java.lang.String[] genomicURLepilogue
          PARAM: "GenomicURLepiloguej" sub menu URL
 java.lang.String geoPlatformID
          geo platform id str
 java.lang.String gipoFile
          full path of GIPO file
 boolean gipoInGeneralSrcFileFlag
          The default is that the GIPO is contained in the general source file, else it is contained in a separate GIPO input file separateGIPOinputFile.
 java.lang.String gipoName
          GIPO file name
 java.lang.String gridLayout
          PARAM: "GRID_LAYOUT" (future) Grids are Top to Bottom or Left to Right in the array
 int gridsPerRow
          PARAM: "GRID_PER_ROW" (future) # grids per row in each field of the array
 boolean hasBkgrdDataFlag
          there is quant background data
 boolean hasCloneIDsFlag
          have I.M.A.G.E Clone IDs
 boolean hasDB_ESTIDsFlag
          have dbESTs IDs
 boolean hasGenBankIDsFlag
          have GenBank IDs
 boolean hasGeneClassDataFlag
          have GeneClass GIPO data
 boolean hasLocationIdFlag
          use Location identifier
 boolean hasLocusIDsFlag
          have LocusLink LocusIDs
 boolean hasMultDatasetsFlag
          orig data file had mult.
 boolean hasPlateDataFlag
          have Plate GIPO data
 boolean hasQualCheckGIPOdataFlag
          have QualCheck GIPO data
 boolean hasQualCheckQuantDataFlag
          have QualCheck Quant data
 boolean hasQuantXYcoordsFlag
          quant data has XY coordinates
 boolean hasSeparateGIPOandQuantFilesFlag
          orig data file had mult.
 boolean hasSwissProtIDsFlag
          have SwissProt IDs
 boolean hasUniGeneIDsFlag
          have UniGene IDs
 boolean hasUniGeneNameFlag
          have UniGene names
 boolean hasUserDefineChipsetFlag
          flag: set if selected layout
 java.lang.String[] helpMenu
          PARAM: "helpMenuj" Help sub menu title
 java.lang.String[] helpURL
          PARAM: "helpURLj" Help sub menu URL
 int highestID
          highestID ("Location") seen
 java.lang.String histologyURL
          PARAM: "histologyURL" histology DB server.
 boolean ignoreExtraFIELDS
          PARAM: "ignoreExtraFields" ignore extra fields in .quant
 java.lang.String IMAGE2GenBankURL
          PARAM: "IMAGE2GenBankURL" lookup GenBank entry from CloneID server.
 java.lang.String IMAGE2GidURL
          PARAM: "IMAGE2GIDURL" NCI/CIT lookup GenBank GID from CloneID server.
 java.lang.String IMAGE2unigeneURL
          PARAM: "IMAGE2unigeneURL" NCI/CIT lookup UNIGENE from CloneID server.
 java.lang.String imgAnalySoftware
          image quant program
 java.lang.String initialKeyword
          initial keyword if not ""
 java.lang.String layoutName
          Array (vendor specified) layout name
 int[] linesInFile
          [0:nQuantFiles-1] # of rows in file
 java.lang.String locusLinkURL
          PARAM: "locusLinkURL" NCBI LocusLink server.
 java.lang.String maAnalysisProg
          PARAM: "maAnalysisProgram" (opt) name of spot quant program
 java.lang.String mAdbURL
          PARAM: "mAdbUrl" NCI/CIT mAdb/ATC array clone report server.
 java.lang.String maeFile
          full MAE startup file path
 java.lang.String maeName
          MAE startup file name
 java.lang.String maePrjDir
          output project directory
 int maxFields
          PARAM: "MAX_FIELDS" # of duplicate grids
 int maxGenesToRpt
          PARAM: "maxClonesReported" initial # genes to report
 int maxGridCols
          PARAM: "MAX_GRID_COLS" #cols/grid in array
 int maxGridRows
          PARAM: "MAX_GRID_ROWS" #rows/grid in array
 int maxGrids
          PARAM: "MAX_GRIDS" # grids in array
 int maxRowsComputed
          max # data rows expected in output file after add INFILL spots
 int maxRowsExpected
          max # data rows expected in input file (GIPO+Quant or Quant files)
 int maxSpotNbr
          highest SpotNbr generated
 int maxSrcFields
          max # of source fields
 java.lang.String medMinerURL
          PARAM: "medMinerURL" MedMiner database server
 java.lang.String medMinerURLepilogue
          PARAM: "medMinerURLepilogue" MedMiner database server
 java.lang.String modelsURL
          PARAM: "modelsURL" mouse (or other) models DB server.
 MaeSampleData msd
          link to MAE samples data
 MaeStartupData msud
          link to MAE startup file .mae (ie .mae file)
 int nbrGENES
          PARAM: "MAX_GENES" # Genes
 int nbrGenesCalc
          calculated: maxGrids*maxGridRows*maxGridCols
 int nbrOfClustersThr
          PARAM: "nbrOfClustersThr" initial # of K-means clusters
 int nbrSPOTS
          PARAM: "MAX_SPOTS" # spots
 int nbrSpotsCalc
          calculated: maxFields*mcd.nbrGenesCalc
 boolean needToReAnalyzeFilesFlag
          if true in step 2., do NOT allow step 3.
 java.lang.String newline
          for newline, Mac= "\r" Sun ="\n" PC= "\r\n"
 int nGenomicMenu
          size of genomicMenu[] data arrays
 int nHelpMenu
          size of help data arrays
 int nQuantFiles
          # of samples and generated .quant files
 int nRawFiles
          # raw src files thatmay hold mult .quants
 int nSepGIPOfields
          # of fields in separate GIPO fields if used.
 int nSepGIPOfieldsUsed
          # of fields in separate GIPO fields actually used.
 int nSepGIPOrows
          # of rows in separate GIPO fields if used.
 int nSpeciesList
           
 int nSrcFiles
          # source files that hold Quant &GIPO data
private  long pCalc
           
 float pctOKthr
          PARFAM: "pctOKthr" percent spots OK threshold
 java.lang.String pirURL
          PARAM: "pirURL" PIR database server
 boolean presentViewFlag
          PARAM: "presentationViewFlag" use large default fond
 java.lang.String[] prjName
          [0:nQuantFiles-1] project name
 long PROP_ALLOW_NEG_DATA
          specify allowNegQuantDataFlag
 long PROP_BKGRD_DATA
          there is quant background data
 long PROP_CLONEID
          has I.M.A.G.E Clone IDs
 long PROP_DBESTID
          has dbESTs IDs
 long PROP_GENBANKID
          has GenBank IDs
 long PROP_GENECLASS
          has GeneClass GIPO data
 long PROP_LOCATION
          has Location IDs
 long PROP_LOCUSID
          has LocusLink LocusIDs
 long PROP_NAME_GRC
          specify (grid,row,col) by Molecular Dynamics "NAME_GRC" spec
 long PROP_PLATE_DATA
          has Plate GIPO data
 long PROP_QUALCHK_GIPO_DATA
          has QualCheck GIPO data
 long PROP_QUALCHK_SPOT_DATA
          has QualCheck Quant data
 long PROP_SEPARATE_GIPO_AND_QUANT_FILES
          specify XXXX3
 long PROP_SWISSPROTID
          has SwissProt IDs
 long PROP_UNIGENE_NAME
          has UniGene names
 long PROP_UNIGENEID
          has UniGene IDs
 long PROP_USE_AFFY_TMP_FILE_FLAG
          specify XXXX4
 long PROP_XXXX10
          specify XXXX10
 long PROP_XXXX5
          specify XXXX5
 long PROP_XXXX6
          specify XXXX6
 long PROP_XXXX7
          specify XXXX7
 long PROP_XXXX8
          specify XXXX8
 long PROP_XXXX9
          specify XXXX9
 long PROP_XYCOORDS
          quant data has XY coordinates
 java.lang.String proxyServer
          PARAM: "proxyServer" proxy server to access servers outside of Java "sandbox".
 boolean pseudoArrayFlag
          set true if gen.
 float pValueThr
          PARAM: "pValueThr" initial pValue threshold
 java.lang.String quantDir
          dirName or maePrjDir/Quant
 java.lang.String[] quantFile
          [0:nQuantFiles-1] full quant file path
 java.lang.String quantFileExt
          PARAM: "quantFileExt" alternate quantification spot file ext instead of ".quant"
 java.lang.String[] quantName
          [0:nQuantFiles-1] final quant file name
 java.lang.String[] quantNameOrig
          [0:nQuantFiles-1] orig.
 int[] quantSampleNbrInFile
          [0:nQuantFiles-1] # source in file
 int[] quantSrcFieldNbr
          [0:nQuantFiles-1] field # in quantSrcFile[] where sample is found.
 java.lang.String[] quantSrcFile
          [0:nQuantFiles-1] src file where sample found
 boolean ratioMedianCorrectionFlag
          PARAM: "useRatioMedianCorrection" use ratio median corrct Cy3/Cy5
 boolean reuseXYcoordsFlag
          PARAM: "reuseXYcoords" if specify XY; reuse fist HP's
 int rowWithData
          row in user file where expect FieldQ (Quant) or FieldGQ (GIPO+Quant) Data
 int rowWithFields
          row in user file expect FieldQ (Quant) or FieldGQ (GIPO+Quant) Fields list
 int rowWithSamples
          (opt) row in user file where expect FieldQ samples list
 int rowWithSepGIPOData
          optional row in user FieldG separate GIPO file where expect Data
 int rowWithSepGIPOFields
          optional row in user FieldG separate GIPO file where expect Fields list
 java.lang.String samplesDBfile
          PARAM: "samplesDBfile" DB list of hybridized probe samples file
 java.lang.String samplesFile
          full SamplesDB.txt file path
 java.lang.String samplesName
          SamplesDB-sn.txt file name
 java.lang.String separateGIPOinputFile
          if GIPO data in separate input file
 java.lang.String sepGipoColName
          Field name for "Col" in separate GIPO fields if used.
 java.lang.String[] sepGIPOfields
          [0:nSepGIPOfields-1] field names in separate GIPO if used.
 boolean[] sepGIPOfieldsUsed
          [0:nSepGIPOfields-1] flag set if include fields in separate GIPO when merge data of (FieldG+FieldQ) in readData().
 java.lang.String sepGipoGridName
          Field name for "Grid" in separate GIPO fields if used.
 java.lang.String sepGipoRowName
          Field name for "Row" in separate GIPO fields if used.
 java.lang.String species
          species, "Human", "Mouse", etc.
 java.lang.String[] speciesList
           
 java.lang.String[] speciesNames
           
 boolean specifyByGridGeometryFlag
          PARAM: "specifyByGridGeometryFlag" (future) indicates whether data was generated explicity (F,G,R,C) or by expected # of genes.
 boolean specifyGeometryByNbrSpotsFlag
          PARAM: "specifyGeometryByNbrSpotsFlag" indicates pseudo array geometry (F,G,R,C) is generated by the number of genes in GIPO file.
 float spotCVthr
          PARAM: "spotCVthr" initial spot CV threshold
 int spotRadius
          PARAM: "SpotRadius" pseudo spot size
 java.lang.String[] srcFile
          source file names w/ .ext if any
 java.lang.String srcName
          source file name w/o .ext each time.
 java.lang.String startupFile
          [TODO] maybe want to rename maeFile
 boolean[] swapCy5Cy3DataFlag
          flags: [0:nQuantFiles-1] ONLY for ratio data, if swap cy3/cy5
 boolean swapRowsColsFlag
          PARAM: "swapRowsColumns" swap rows and columns
 java.lang.String swissProtURL
          PARAM: "swissProtURL" Swiss Prot database server.
 java.lang.String UniGeneSpeciesPrefix
          Org=Hs or ORG=Mm, etc
 java.lang.String uniGeneURL
          PARAM: "uniGeneURL" NCBI UNIGENE by Clone ID server.
 boolean useAffyTmpFileFlag
          flag: use the Affy tmp file to remap MAS5 data
 boolean useCy5OverCy3Flag
          PARAM: "useCy5/Cy3" switch all Cy3/Cy5 to Cy5/Cy3
 boolean useMolDyn_NAME_GRC_specFlag
          specify (grid,row,col) by Molecular Dynamics "NAME_GRC" spec
 boolean useMouseOverFlag
          PARAM: "useMouseOver" enable mouse over
 boolean usePosQuantDataFlag
          PARAM: "usePosQuantDataFlag"Filter out genes where .quant file data has negative intensity values otherwise it uses the negative data
 boolean usePseudoXYcoordsFlag
          PARAM: "usePseudoXYcoords" generate Pseudo XY coords
 boolean useRatioDataFlag
          PARAM: "useRatioData" set if data is Cy3/Cy5 ratio data, else it assumes intensity data for each spot
 java.lang.String userDir
          startup directory
 java.lang.String vendor
          for tracking special considerations
 java.lang.String version
          version of the program
 java.lang.String yourPlateName
          PARAM: "yourPlateName" (opt) name of researcher's clones
 
Constructor Summary
MaeConfigData()
          MaeConfigData() - constructior.
MaeConfigData(int maxSrcFields)
          MaeConfigData() - constructior
 
Method Summary
 long calcBitPropFromMCDstate()
          calcBitPropFromMCDstate() - set bitProps mcd.hasXXXX from MCD state
private  void calcGenomicMenuURLs()
          calcGenomicMenuURLs() - compute set of valid Genomic URLs This only uses entrys for the data that exists.
 boolean checkAndMakeMAEdirTree(java.lang.String maePrjDir)
          checkAndMakeMAEdirTree()- check for MAE prject directory tree.
 boolean checkIfRequiredParamsAreSet()
          checkIfRequiredParamsAreSet() - check if all required parameters are set before we do the conversion.
 boolean createMAEproject()
          createMAEproject() - make project dirs, Config/, MAE/ Quant/ and setup files in these directories.
private  void initMCD()
          initMCD() - init data structures
 MaeConfigData resetMaeConfigData(MaeConfigData mcd)
          resetMaeConfigData() - make copy of initial mcd Edit data.
[NOTE] If the states are changed, this must be changed as well (all variables).
 void restoreMCDstate(MaeConfigData mcdSrc)
          restoreMCDstate() - Restore the original state to this instance
 void setAllSamplesToDbPrjName()
          setAllSamplesToDbPrjName() - set all of the samples to mcd.dbPrjName
 void setMCDstateFromBitProp(long bitProps)
          setMCDstateFromBitProp() - set MCD state from mcd.hasXXXX bitProps
 boolean writeConfigFile()
          writeConfigFile() - create Config/MaExplorerConfig-fn.txt file The data must be completely set up before this is called.
private  void writeFTmappings(java.io.PrintWriter cfgPW)
          writeFTmappings() - write the mapTF entries This maps User (Table,Field) names to MAExplorer (Table,Field) names if the map entries were created when the fields were analyzed.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

cvt

public Cvt2Mae cvt

msd

public MaeSampleData msd
link to MAE samples data

msud

public MaeStartupData msud
link to MAE startup file .mae (ie .mae file)

dio

public DataIO dio
link to DataIO data

needToReAnalyzeFilesFlag

public boolean needToReAnalyzeFilesFlag
if true in step 2., do NOT allow step 3. May be set in EditLayout for .

editMaePrjFilesFlag

public boolean editMaePrjFilesFlag
edit only 1 Layout window at a time

editedLayoutFlag

public boolean editedLayoutFlag
user has edited chip layout

hasMultDatasetsFlag

public boolean hasMultDatasetsFlag
orig data file had mult. samples/mult. samples/mult. samples/mult. samples/mult. samples/file

hasSeparateGIPOandQuantFilesFlag

public boolean hasSeparateGIPOandQuantFilesFlag
orig data file had mult. samples/file

pseudoArrayFlag

public boolean pseudoArrayFlag
set true if gen. FGRC from # gene rows

beingEditedFlag

public boolean beingEditedFlag
is true while editing

didEditALOflag

public boolean didEditALOflag
did an Edit Layout indicated by pressing Done

didGIPOassignFlag

public boolean didGIPOassignFlag
did an Assign GIPO indicated by pressing Done

didQuantFlag

public boolean didQuantFlag
did an Assign Quant indicated by pressing Done

activeReanalyeButtonFlag

public boolean activeReanalyeButtonFlag
flag: that the Reanalyze button is active (didEditALOflag && didGIPOassignFlag && didQuantFlag && hasMultDatasetsFlag). So must edit all three to active it.

gipoInGeneralSrcFileFlag

public boolean gipoInGeneralSrcFileFlag
The default is that the GIPO is contained in the general source file, else it is contained in a separate GIPO input file separateGIPOinputFile. [TODO] if false, need to write code to 1) get separate GIPO file name, 2) generate GIPO after do separate "Assign GIPO fields" mapping.

hasUserDefineChipsetFlag

public boolean hasUserDefineChipsetFlag
flag: set if selected layout

useAffyTmpFileFlag

public boolean useAffyTmpFileFlag
flag: use the Affy tmp file to remap MAS5 data

chkAndEditFieldNamesFlag

public boolean chkAndEditFieldNamesFlag
flag: check and edit Samples and Field names data before use. This is for handling the bad Affy fields data generated by the old Affy software.

vendor

public java.lang.String vendor
for tracking special considerations

layoutName

public java.lang.String layoutName
Array (vendor specified) layout name

aloDir

public java.lang.String aloDir
i.e. maePrjDir + "ArrayLayout/"

aloFileName

public java.lang.String aloFileName
current ArrayLayout file name

date

public java.lang.String date
date when this program is run

geoPlatformID

public java.lang.String geoPlatformID
geo platform id str

fm

public FieldMap fm
current field map

speciesList

public java.lang.String[] speciesList

speciesNames

public java.lang.String[] speciesNames

nSpeciesList

public int nSpeciesList

bitProps

public long bitProps
Bit properties of the current state

separateGIPOinputFile

public java.lang.String separateGIPOinputFile
if GIPO data in separate input file

srcFile

public java.lang.String[] srcFile
source file names w/ .ext if any

quantFile

public java.lang.String[] quantFile
[0:nQuantFiles-1] full quant file path

quantName

public java.lang.String[] quantName
[0:nQuantFiles-1] final quant file name

quantNameOrig

public java.lang.String[] quantNameOrig
[0:nQuantFiles-1] orig. quant file name

prjName

public java.lang.String[] prjName
[0:nQuantFiles-1] project name

fullSampleName

public java.lang.String[] fullSampleName
[0:nQuantFiles-1] full sample names for cvt.inSamplesList

sepGipoGridName

public java.lang.String sepGipoGridName
Field name for "Grid" in separate GIPO fields if used.

sepGipoRowName

public java.lang.String sepGipoRowName
Field name for "Row" in separate GIPO fields if used.

sepGipoColName

public java.lang.String sepGipoColName
Field name for "Col" in separate GIPO fields if used.

nSepGIPOrows

public int nSepGIPOrows
# of rows in separate GIPO fields if used.

nSepGIPOfields

public int nSepGIPOfields
# of fields in separate GIPO fields if used.

sepGIPOfields

public java.lang.String[] sepGIPOfields
[0:nSepGIPOfields-1] field names in separate GIPO if used.

nSepGIPOfieldsUsed

public int nSepGIPOfieldsUsed
# of fields in separate GIPO fields actually used. I.e. this is the number of sepGIPOfieldesUsed[] that are TRUE.

sepGIPOfieldsUsed

public boolean[] sepGIPOfieldsUsed
[0:nSepGIPOfields-1] flag set if include fields in separate GIPO when merge data of (FieldG+FieldQ) in readData(). if used.

linesInFile

public int[] linesInFile
[0:nQuantFiles-1] # of rows in file

swapCy5Cy3DataFlag

public boolean[] swapCy5Cy3DataFlag
flags: [0:nQuantFiles-1] ONLY for ratio data, if swap cy3/cy5

quantSampleNbrInFile

public int[] quantSampleNbrInFile
[0:nQuantFiles-1] # source in file

quantSrcFieldNbr

public int[] quantSrcFieldNbr
[0:nQuantFiles-1] field # in quantSrcFile[] where sample is found. [Note] there may be several fields that belong to the sample indicated by '*' in ArrayLayout prefix. ]

quantSrcFile

public java.lang.String[] quantSrcFile
[0:nQuantFiles-1] src file where sample found

nSrcFiles

public int nSrcFiles
# source files that hold Quant &GIPO data

nRawFiles

public int nRawFiles
# raw src files thatmay hold mult .quants

nQuantFiles

public int nQuantFiles
# of samples and generated .quant files

existingPrjDir

public java.lang.String existingPrjDir
set if using existing Prj dir

species

public java.lang.String species
species, "Human", "Mouse", etc.

imgAnalySoftware

public java.lang.String imgAnalySoftware
image quant program

commentToken

public java.lang.String commentToken
if not "", is input file comment prefix

initialKeyword

public java.lang.String initialKeyword
initial keyword if not ""

fileSep

public java.lang.String fileSep
system specific / or \ or :, etc

userDir

public java.lang.String userDir
startup directory

maePrjDir

public java.lang.String maePrjDir
output project directory

configDir

public java.lang.String configDir
dirName or maePrjDir/Config

quantDir

public java.lang.String quantDir
dirName or maePrjDir/Quant

dirName

public java.lang.String dirName
source data files directory

dbPrjName

public java.lang.String dbPrjName
generic DB project name for all input array data. This defaults to dirName, but may be overidden in * EditLayout and is then used to update * all prjName[] entries.

srcName

public java.lang.String srcName
source file name w/o .ext each time.

samplesFile

public java.lang.String samplesFile
full SamplesDB.txt file path

samplesName

public java.lang.String samplesName
SamplesDB-sn.txt file name

gipoName

public java.lang.String gipoName
GIPO file name

gipoFile

public java.lang.String gipoFile
full path of GIPO file

configName

public java.lang.String configName
MaeConfig-sn.txt file name

configFile

public java.lang.String configFile
full path of Config file

startupFile

public java.lang.String startupFile
[TODO] maybe want to rename maeFile

maeName

public java.lang.String maeName
MAE startup file name

maeFile

public java.lang.String maeFile
full MAE startup file path

rowWithSamples

public int rowWithSamples
(opt) row in user file where expect FieldQ samples list

rowWithFields

public int rowWithFields
row in user file expect FieldQ (Quant) or FieldGQ (GIPO+Quant) Fields list

rowWithData

public int rowWithData
row in user file where expect FieldQ (Quant) or FieldGQ (GIPO+Quant) Data

rowWithSepGIPOFields

public int rowWithSepGIPOFields
optional row in user FieldG separate GIPO file where expect Fields list

rowWithSepGIPOData

public int rowWithSepGIPOData
optional row in user FieldG separate GIPO file where expect Data

maxSrcFields

public int maxSrcFields
max # of source fields

maxSpotNbr

public int maxSpotNbr
highest SpotNbr generated

maxRowsExpected

public int maxRowsExpected
max # data rows expected in input file (GIPO+Quant or Quant files)

maxRowsComputed

public int maxRowsComputed
max # data rows expected in output file after add INFILL spots

highestID

public int highestID
highestID ("Location") seen

UniGeneSpeciesPrefix

public java.lang.String UniGeneSpeciesPrefix
Org=Hs or ORG=Mm, etc

version

public java.lang.String version
version of the program

maxFields

public int maxFields
PARAM: "MAX_FIELDS" # of duplicate grids

maxGridCols

public int maxGridCols
PARAM: "MAX_GRID_COLS" #cols/grid in array

maxGridRows

public int maxGridRows
PARAM: "MAX_GRID_ROWS" #rows/grid in array

maxGrids

public int maxGrids
PARAM: "MAX_GRIDS" # grids in array

nbrGenesCalc

public int nbrGenesCalc
calculated: maxGrids*maxGridRows*maxGridCols

nbrSpotsCalc

public int nbrSpotsCalc
calculated: maxFields*mcd.nbrGenesCalc

nbrGENES

public int nbrGENES
PARAM: "MAX_GENES" # Genes

nbrSPOTS

public int nbrSPOTS
PARAM: "MAX_SPOTS" # spots

spotRadius

public int spotRadius
PARAM: "SpotRadius" pseudo spot size

pCalc

private long pCalc

PROP_GENECLASS

public long PROP_GENECLASS
has GeneClass GIPO data

PROP_PLATE_DATA

public long PROP_PLATE_DATA
has Plate GIPO data

PROP_CLONEID

public long PROP_CLONEID
has I.M.A.G.E Clone IDs

PROP_GENBANKID

public long PROP_GENBANKID
has GenBank IDs

PROP_UNIGENEID

public long PROP_UNIGENEID
has UniGene IDs

PROP_DBESTID

public long PROP_DBESTID
has dbESTs IDs

PROP_LOCUSID

public long PROP_LOCUSID
has LocusLink LocusIDs

PROP_SWISSPROTID

public long PROP_SWISSPROTID
has SwissProt IDs

PROP_UNIGENE_NAME

public long PROP_UNIGENE_NAME
has UniGene names

PROP_XYCOORDS

public long PROP_XYCOORDS
quant data has XY coordinates

PROP_BKGRD_DATA

public long PROP_BKGRD_DATA
there is quant background data

PROP_QUALCHK_SPOT_DATA

public long PROP_QUALCHK_SPOT_DATA
has QualCheck Quant data

PROP_QUALCHK_GIPO_DATA

public long PROP_QUALCHK_GIPO_DATA
has QualCheck GIPO data

PROP_NAME_GRC

public long PROP_NAME_GRC
specify (grid,row,col) by Molecular Dynamics "NAME_GRC" spec

PROP_ALLOW_NEG_DATA

public long PROP_ALLOW_NEG_DATA
specify allowNegQuantDataFlag

PROP_LOCATION

public long PROP_LOCATION
has Location IDs

PROP_SEPARATE_GIPO_AND_QUANT_FILES

public long PROP_SEPARATE_GIPO_AND_QUANT_FILES
specify XXXX3

PROP_USE_AFFY_TMP_FILE_FLAG

public long PROP_USE_AFFY_TMP_FILE_FLAG
specify XXXX4

PROP_XXXX5

public long PROP_XXXX5
specify XXXX5

PROP_XXXX6

public long PROP_XXXX6
specify XXXX6

PROP_XXXX7

public long PROP_XXXX7
specify XXXX7

PROP_XXXX8

public long PROP_XXXX8
specify XXXX8

PROP_XXXX9

public long PROP_XXXX9
specify XXXX9

PROP_XXXX10

public long PROP_XXXX10
specify XXXX10

hasGeneClassDataFlag

public boolean hasGeneClassDataFlag
have GeneClass GIPO data

hasPlateDataFlag

public boolean hasPlateDataFlag
have Plate GIPO data

hasCloneIDsFlag

public boolean hasCloneIDsFlag
have I.M.A.G.E Clone IDs

hasGenBankIDsFlag

public boolean hasGenBankIDsFlag
have GenBank IDs

hasUniGeneIDsFlag

public boolean hasUniGeneIDsFlag
have UniGene IDs

hasDB_ESTIDsFlag

public boolean hasDB_ESTIDsFlag
have dbESTs IDs

hasLocusIDsFlag

public boolean hasLocusIDsFlag
have LocusLink LocusIDs

hasSwissProtIDsFlag

public boolean hasSwissProtIDsFlag
have SwissProt IDs

hasUniGeneNameFlag

public boolean hasUniGeneNameFlag
have UniGene names

hasQuantXYcoordsFlag

public boolean hasQuantXYcoordsFlag
quant data has XY coordinates

hasBkgrdDataFlag

public boolean hasBkgrdDataFlag
there is quant background data

hasQualCheckQuantDataFlag

public boolean hasQualCheckQuantDataFlag
have QualCheck Quant data

hasQualCheckGIPOdataFlag

public boolean hasQualCheckGIPOdataFlag
have QualCheck GIPO data

useMolDyn_NAME_GRC_specFlag

public boolean useMolDyn_NAME_GRC_specFlag
specify (grid,row,col) by Molecular Dynamics "NAME_GRC" spec

hasLocationIdFlag

public boolean hasLocationIdFlag
use Location identifier

specifyGeometryByNbrSpotsFlag

public boolean specifyGeometryByNbrSpotsFlag
PARAM: "specifyGeometryByNbrSpotsFlag" indicates pseudo array geometry (F,G,R,C) is generated by the number of genes in GIPO file.

specifyByGridGeometryFlag

public boolean specifyByGridGeometryFlag
PARAM: "specifyByGridGeometryFlag" (future) indicates whether data was generated explicity (F,G,R,C) or by expected # of genes.

fieldsAreNumbered

public boolean fieldsAreNumbered
PARAM: "FIELDS_ARE_NUMBERED" (future) Data files contain field number. Otherwise field is extrapolated

gridLayout

public java.lang.String gridLayout
PARAM: "GRID_LAYOUT" (future) Grids are Top to Bottom or Left to Right in the array

fieldLayout

public java.lang.String fieldLayout
PARAM: "FIELD_LAYOUT" (future) fields are Left to Right

gridsPerRow

public int gridsPerRow
PARAM: "GRID_PER_ROW" (future) # grids per row in each field of the array

fluorescentLbl1

public java.lang.String fluorescentLbl1
PARAM: "fluorescentLbl1" (ratio) dye name for fluorescent label 1

fluorescentLbl2

public java.lang.String fluorescentLbl2
PARAM: "fluorescentLbl2" (ratio) dye name for fluorescent label 2

useRatioDataFlag

public boolean useRatioDataFlag
PARAM: "useRatioData" set if data is Cy3/Cy5 ratio data, else it assumes intensity data for each spot

calibDNAname

public java.lang.String calibDNAname
PARAM: "calibDNAname"(opt) name for calibration DNA

classNameX

public java.lang.String classNameX
PARAM: "classNameX"(opt) default HP-X probe 'set'

classNameY

public java.lang.String classNameY
PARAM: "classNameY"(opt) default HP-Y probe 'set'

database

public java.lang.String database
PARAM: "dataBase" (opt) name of the database

dbSubset

public java.lang.String dbSubset
PARAM: "dbSubset" (opt) name of the subset of DB

maAnalysisProg

public java.lang.String maAnalysisProg
PARAM: "maAnalysisProgram" (opt) name of spot quant program

yourPlateName

public java.lang.String yourPlateName
PARAM: "yourPlateName" (opt) name of researcher's clones

emptyWellName

public java.lang.String emptyWellName

editDate

public java.lang.String editDate
PARAM: "editDate" generated by program

canvasHSize

public int canvasHSize
PARAM: "CanvasHorSize"(opt) pixels, horiz. uArray image size

canvasVSize

public int canvasVSize
PARAM: "CanvasVertSize"(opt) pixels, vertical uArray image size

allowNegQuantDataFlag

public boolean allowNegQuantDataFlag
PARAM: "allowNegQuantDataFlag"(eg. AFFY) set if .quant data has negative intensity values otherwise it clips the negative values to 0.0

usePosQuantDataFlag

public boolean usePosQuantDataFlag
PARAM: "usePosQuantDataFlag"Filter out genes where .quant file data has negative intensity values otherwise it uses the negative data

arrayGipoFile

public java.lang.String arrayGipoFile
PARAM: "gipoFile" GIPO file spot print order file.

samplesDBfile

public java.lang.String samplesDBfile
PARAM: "samplesDBfile" DB list of hybridized probe samples file

quantFileExt

public java.lang.String quantFileExt
PARAM: "quantFileExt" alternate quantification spot file ext instead of ".quant"

dbEstURL

public java.lang.String dbEstURL
PARAM: "dbEstURL" NCBI dbEst server by dbEST ID

genBankAccURL

public java.lang.String genBankAccURL
PARAM: "genBankAccURL" NCBI GenBank server by GenBankAcc ID

genBankCloneURL

public java.lang.String genBankCloneURL
PARAM: "genBankCloneURL" NCBI GenBank entry by Clone_ID server

genBankCloneURLepilogue

public java.lang.String genBankCloneURLepilogue
PARAM: "genBankCloneURLepilogue" Epilog added after Clone_ID

IMAGE2GenBankURL

public java.lang.String IMAGE2GenBankURL
PARAM: "IMAGE2GenBankURL" lookup GenBank entry from CloneID server. The "ORG=Mm" should be changed to reflect the proper species, eg. "ORG=Hs" for human, ORG="Mm" for mouse, etc.

IMAGE2GidURL

public java.lang.String IMAGE2GidURL
PARAM: "IMAGE2GIDURL" NCI/CIT lookup GenBank GID from CloneID server. The "ORG=Mm" should be changed to reflect the proper species, eg. "ORG=Hs" for human, ORG="Mm" for mouse, etc.

IMAGE2unigeneURL

public java.lang.String IMAGE2unigeneURL
PARAM: "IMAGE2unigeneURL" NCI/CIT lookup UNIGENE from CloneID server. The "ORG=Mm" should be changed to reflect the proper species, eg. "ORG=Hs" for human, ORG="Mm" for mouse, etc.

uniGeneURL

public java.lang.String uniGeneURL
PARAM: "uniGeneURL" NCBI UNIGENE by Clone ID server. The "ORG=Mm" should be changed to reflect the proper species, eg. "ORG=Hs" for human, ORG="Mm" for mouse, etc.

geneCardURL

public java.lang.String geneCardURL
PARAM: "geneCardURL" GeneCard DB server.

histologyURL

public java.lang.String histologyURL
PARAM: "histologyURL" histology DB server. Add specific entry from the SamplesDB table.

modelsURL

public java.lang.String modelsURL
PARAM: "modelsURL" mouse (or other) models DB server. Add specific entry from the SamplesDB table

proxyServer

public java.lang.String proxyServer
PARAM: "proxyServer" proxy server to access servers outside of Java "sandbox". This should point to a proxy server on your system.

swissProtURL

public java.lang.String swissProtURL
PARAM: "swissProtURL" Swiss Prot database server.

pirURL

public java.lang.String pirURL
PARAM: "pirURL" PIR database server

medMinerURL

public java.lang.String medMinerURL
PARAM: "medMinerURL" MedMiner database server

medMinerURLepilogue

public java.lang.String medMinerURLepilogue
PARAM: "medMinerURLepilogue" MedMiner database server

mAdbURL

public java.lang.String mAdbURL
PARAM: "mAdbUrl" NCI/CIT mAdb/ATC array clone report server. Add 'CloneID' at end of string

gbid2LocusLinkURL

public java.lang.String gbid2LocusLinkURL
PARAM: "gbid2LocusLinkURL" NCBI GBID to LocusLink server. Add 'GBID' at end of string

locusLinkURL

public java.lang.String locusLinkURL
PARAM: "locusLinkURL" NCBI LocusLink server. Add 'LocusID' at end of string

genomicMenu

public java.lang.String[] genomicMenu
PARAM: "GenomicMenuj" sub menu title

genomicURL

public java.lang.String[] genomicURL
PARAM: "GenomicURLj" sub menu URL

genomicURLepilogue

public java.lang.String[] genomicURLepilogue
PARAM: "GenomicURLepiloguej" sub menu URL

genomicIDreq

public java.lang.String[] genomicIDreq
PARAM: "GenomicIDreqj" sub menu required ID

nGenomicMenu

public int nGenomicMenu
size of genomicMenu[] data arrays

helpMenu

public java.lang.String[] helpMenu
PARAM: "helpMenuj" Help sub menu title

helpURL

public java.lang.String[] helpURL
PARAM: "helpURLj" Help sub menu URL

nHelpMenu

public int nHelpMenu
size of help data arrays

useCy5OverCy3Flag

public boolean useCy5OverCy3Flag
PARAM: "useCy5/Cy3" switch all Cy3/Cy5 to Cy5/Cy3

useMouseOverFlag

public boolean useMouseOverFlag
PARAM: "useMouseOver" enable mouse over

swapRowsColsFlag

public boolean swapRowsColsFlag
PARAM: "swapRowsColumns" swap rows and columns

bkgdCorrectFlag

public boolean bkgdCorrectFlag
PARAM: "useBackgroundCorrection" enable background coorection

ratioMedianCorrectionFlag

public boolean ratioMedianCorrectionFlag
PARAM: "useRatioMedianCorrection" use ratio median corrct Cy3/Cy5

usePseudoXYcoordsFlag

public boolean usePseudoXYcoordsFlag
PARAM: "usePseudoXYcoords" generate Pseudo XY coords

reuseXYcoordsFlag

public boolean reuseXYcoordsFlag
PARAM: "reuseXYcoords" if specify XY; reuse fist HP's

ignoreExtraFIELDS

public boolean ignoreExtraFIELDS
PARAM: "ignoreExtraFields" ignore extra fields in .quant

presentViewFlag

public boolean presentViewFlag
PARAM: "presentationViewFlag" use large default fond

clusterDistThr

public float clusterDistThr
PARAM: "clusterDistThr" initial cluster threshold

pctOKthr

public float pctOKthr
PARFAM: "pctOKthr" percent spots OK threshold

diffThr

public float diffThr
PARAM: "diffThr" init difference threshold

pValueThr

public float pValueThr
PARAM: "pValueThr" initial pValue threshold

spotCVthr

public float spotCVthr
PARAM: "spotCVthr" initial spot CV threshold

maxGenesToRpt

public int maxGenesToRpt
PARAM: "maxClonesReported" initial # genes to report

nbrOfClustersThr

public int nbrOfClustersThr
PARAM: "nbrOfClustersThr" initial # of K-means clusters

fileSavedFlag

boolean fileSavedFlag
if file is saved

newline

public java.lang.String newline
for newline, Mac= "\r" Sun ="\n" PC= "\r\n"
Constructor Detail

MaeConfigData

public MaeConfigData()
MaeConfigData() - constructior. This sets up the data structure with hardwired default values. This should generally be overridden using data from either a file or Cvt2Mae.
See Also:
initMCD()

MaeConfigData

public MaeConfigData(int maxSrcFields)
MaeConfigData() - constructior
Parameters:
maxSrcFields - maximum number of source fields
See Also:
initMCD()
Method Detail

resetMaeConfigData

public MaeConfigData resetMaeConfigData(MaeConfigData mcd)
resetMaeConfigData() - make copy of initial mcd Edit data.
[NOTE] If the states are changed, this must be changed as well (all variables).
Parameters:
mcd - instance of MaeConfigData

restoreMCDstate

public void restoreMCDstate(MaeConfigData mcdSrc)
restoreMCDstate() - Restore the original state to this instance
Parameters:
mcdSrc - - copy data from the mcdSrc to this

initMCD

private void initMCD()
initMCD() - init data structures
See Also:
MaeStartupData, MaeSampleData

setMCDstateFromBitProp

public void setMCDstateFromBitProp(long bitProps)
setMCDstateFromBitProp() - set MCD state from mcd.hasXXXX bitProps
Parameters:
bitProps - long encoded property bits

calcBitPropFromMCDstate

public long calcBitPropFromMCDstate()
calcBitPropFromMCDstate() - set bitProps mcd.hasXXXX from MCD state
Returns:
property bits computed from the state

setAllSamplesToDbPrjName

public void setAllSamplesToDbPrjName()
setAllSamplesToDbPrjName() - set all of the samples to mcd.dbPrjName

calcGenomicMenuURLs

private void calcGenomicMenuURLs()
calcGenomicMenuURLs() - compute set of valid Genomic URLs This only uses entrys for the data that exists.

createMAEproject

public boolean createMAEproject()
                         throws java.io.IOException
createMAEproject() - make project dirs, Config/, MAE/ Quant/ and setup files in these directories.
Returns:
true if successful
See Also:
checkAndMakeMAEdirTree(java.lang.String), MaeSampleData.writeSamplesFile(), MaeStartupData.writeMAEstartupFile(), writeConfigFile()

checkAndMakeMAEdirTree

public boolean checkAndMakeMAEdirTree(java.lang.String maePrjDir)
checkAndMakeMAEdirTree()- check for MAE prject directory tree. Containg directories (/MAE /Quant /Config /State /Report /Cache). If not found, then create the MAE project directory tree. Return true if successful.
Parameters:
maePrjDir - MAE project directory
Returns:
true if successful

writeConfigFile

public boolean writeConfigFile()
writeConfigFile() - create Config/MaExplorerConfig-fn.txt file The data must be completely set up before this is called.
Returns:
true if successful

writeFTmappings

private void writeFTmappings(java.io.PrintWriter cfgPW)
writeFTmappings() - write the mapTF entries This maps User (Table,Field) names to MAExplorer (Table,Field) names if the map entries were created when the fields were analyzed. [TODO] Check to make sure got all of the entries.
Parameters:
cfgPW - PrinterWriter

checkIfRequiredParamsAreSet

public boolean checkIfRequiredParamsAreSet()
checkIfRequiredParamsAreSet() - check if all required parameters are set before we do the conversion. If not, put a message into the status area and return false. Return true if all set to convert
Returns:
true if successful
See Also:
CvtGUI.setEditLayoutEditing(boolean), CvtGUI.setMapEditing(boolean), FileTable, FileTable.readTableFieldsFromFile(java.lang.String, int), UtilCM.logMsg(java.lang.String, java.awt.Color), UtilCM.logMsg2(java.lang.String, java.awt.Color), UtilCM.logMsg3(java.lang.String, java.awt.Color)