00001
#ifndef _MS_MS_SPEC_HEADER_H_
00002
#define _MS_MS_SPEC_HEADER_H_
00003
00004
00005
enum {MS2_SCAN, MS2_PARENT_SCAN, MS2_PARENT_MOZ};
00006
00007
struct MS_MS_SpectrumHeader
00008 {
00009
unsigned isEmpty :1;
00010
unsigned hasScored :1;
00011
00012
int scan;
00013
int nSize;
00014 LPeak2f parent;
00015
00016
int nParentScan;
00017
float dParentRT;
00018
float dParentMOZ;
00019
00020
float dBasepeak;
00021
float dTIC;
00022
struct Experiment *expmnt;
00023 } ;
00024
00025
typedef struct MS_MS_SpectrumHeader MS_MS_SpectrumHeader;
00026
00027
00028
int MSMSSpectrumHeader_loadUsingPath(MS_MS_SpectrumHeader* sh,
char* path_name,
char* file_name);
00029 MS_MS_SpectrumHeader* MSMSSpectrumHeaderArray_load(
char* filename,
int* nscans);
00030
00031
void MSMSSpectrumHeader_init(MS_MS_SpectrumHeader* sh,
short empty,
00032
short scored,
00033
int scan,
00034
int parentscan,
00035
float parentrt,
00036
float parentmoz,
00037
int nsize,
00038
float basepeak,
00039
float dTIC);
00040
00041
00042
void MSMSSpectrumHeader_fprint(FILE* fp, MS_MS_SpectrumHeader sh);
00043
00044
00045 MS_MS_SpectrumHeader* MSMSSpectrumHeaderArray_create(
int size);
00046 IndexArray MSMSSpectrumHeaderArray_getIndicesOfScansInRect(MS_MS_SpectrumHeader* ms2array,
int size,
Rectangle4i rect);
00047
void MSMSSpectrumHeaderArray_fprint(FILE* fp, MS_MS_SpectrumHeader* MSMSARRAY,
int start,
int stop);
00048
int* MSMSHeaderArray_getFieldArrayFromIndexArray(MS_MS_SpectrumHeader* array,
00049
int* index_array,
00050
int npeaks,
00051
int field);
00052
00053
00054
void MSMSSpectrumHeaderArray_fprintAsTabDelimitedTable(FILE* fp, MS_MS_SpectrumHeader* MSMSARRAY,
int start,
int stop);
00055
00056
void MSMSSpectrumHeaderArray_sortByParentMOZ(MS_MS_SpectrumHeader* msmsarray,
long nPeaks);
00057
char** MSMSSpectrumHeaderArray_toStringArray(MS_MS_SpectrumHeader* ms2array,
int size,
const char* format,
int field);
00058
00059
struct Peak2i* MSMSHeaderArray_getPeak2iArray(MS_MS_SpectrumHeader* array,
int size);
00060
00061
struct Peak2f* MSMSHeaderArray_getMS2Peaks2fForMassChrom(
struct Experiment expmnt,
struct Map2D* map,
int bin,
int* nPeaks);
00062
00063
#endif
00064