00001 #ifndef _OPENRAW_FILE_H_
00002 #define _OPENRAW_FILE_H_
00003
00004
00005
00006
00007
00008
00019 #define OPENRAW_MS1_FOLDER "MS1"
00020 #define OPENRAW_MS2_FOLDER "MS2"
00021 #define OPENRAW_PARAM_FOLDER "PARAM"
00022
00023 #define OPENRAW_MSAR_EXT "msar"
00024 #define OPENRAW_MS2AR_EXT "ms2ar"
00025 #define OPENRAW_PARAM_EXT "param"
00026
00027 #define OPENRAW_GLOBAL_RT_SAMPLING_ARRAY_FILENAME "RTSA.param"
00028 #define OPENRAW_GLOBAL_MS_SAMPLING_ARRAY_FILENAME "MSSA.param"
00029 #define OPENRAW_MZ_RULER_TEMPLATE_FILENAME "MZRuler"
00030 #define OPENRAW_EXPERIMENT_SIZE_FILENAME "Size.param"
00031 #define OPENRAW_INSTRUMENT_METHOD_FILENAME "InstrumentMethod.param"
00032
00033 extern int OPENRAW_VERSION;
00034
00035 enum { OPENRAW_ARCHIVE_TYPE_PROFILE,
00036 OPENRAW_ARCHIVE_TYPE_CENTROID,
00037 OPENRAW_ARCHIVE_TYPE_PROFILE_ZERO_PADDING,
00038 OPENRAW_ARCHIVE_TYPE_MIXED};
00039
00040 struct OpenRawFile
00041 {
00042 char* szName;
00043
00044 char* szRawExpDir;
00045
00046 char* szMS1Dir;
00047 char* szMS2Dir;
00048 char* szParamDir;
00049
00050 OpenRawScanHeader* scanheaders;
00051 OpenRawMZRuler* mzrulers;
00052
00053 int nmzrulers;
00054 };
00055
00056 typedef struct OpenRawFile OpenRawFile;
00057
00058 int OpenRawFile_loadRTSize(OpenRawFile* orFile, int* nRTSize, int* scan_start, int* scan_stop);
00059 int OpenRawFile_loadGlobalRTSamplingArray(OpenRawFile* orFile, int nSize);
00060
00061 int OpenRawFile_loadMZSize(OpenRawFile* orFile, int *nMZSize, int* bin_start, int* bin_stop);
00062 float* OpenRawFile_loadGlobalMZSamplingArray(OpenRawFile* orFile, int nSize);
00063 int OpenRawFile_loadNumberOfMZRulers(OpenRawFile* orFile);
00064 int OpenRawFile_loadMZRulers(OpenRawFile* orFile);
00065
00066 int OpenRawFile_doesMSArchiveExist(OpenRawFile* orFile);
00067 float OpenRawFile_getVersionOfMSArchive(OpenRawFile* orFile);
00068 int OpenRawFile_getTypeOfMSArchive(OpenRawFile* orFile);
00069 int OpenRawFile_mergeMSSubArchive(OpenRawFile* orFile);
00070
00071 void OpenRawFile_removeMSArchiveIndexFile(OpenRawFile* orFile);
00072 void OpenRawFile_getMSSubArchiveRanges(OpenRawFile* orFile,
00073 int** start_scan, int** stop_scan, int* nsubmsar);
00074
00075 float OpenRawFile_getVersionOfMS2Archive(OpenRawFile* orFile);
00076 int OpenRawFile_getTypeOfMS2Archive(OpenRawFile* orFile);
00077 int OpenRawFile_verifyInstrumentMethod(OpenRawFile* orFile);
00078 void OpenRawFile_getRangeOfIndependentScan(OpenRawFile* orFile, double* mass_start, double* mass_stop);
00079
00080 int OpenRawFile_isScanMS2(OpenRawFile* orFile, int scanno);
00081
00082 int OpenRawFile_loadScanHeaderArrayFromMS2Archive_Version2(OpenRawFile* orFile, int nSize);
00083
00084 #endif
00085