00001 
#ifndef _SEQUEST_SUMMARY_FILE_H_
00002 
#define _SEQUEST_SUMMARY_FILE_H_
00003 
00004 
extern char* SEQUEST_SUMMARY_FILE_HEADER;
00005 
00006 
struct SequestSummaryFile
00007 {
00008         SequestSummaryEntry*    pEntries;
00009         
int                                             nEntries;
00010         
int                                             MZ_DIMENSION_UNIT;
00011         
int                                             LC_DIMENSION_UNIT;
00012         
int                                             LC_DIMENSION_MERGE;
00013 };
00014 
00015 
typedef struct SequestSummaryFile SequestSummaryFile;
00016 
00017 
void SequestSummaryFile_alloc(SequestSummaryFile* file, 
int nSize);
00018 
00019 
int SequestSummaryFile_aLoad(SequestSummaryFile* file, 
char* fullname);
00020 
int SequestSummaryFile_eLoad(SequestSummaryFile* file, 
char* folder, 
char* filename);
00021 
00022 
int SequestSummaryFile_aLoadUsingExpmntFilter(SequestSummaryFile* ssf, 
char* fullname, 
char* szExperimentNameFilter);
00023 
int SequestSummaryFile_eLoadUsingExpmntFilter(SequestSummaryFile* ssf, 
char* folder, 
char* filename, 
char* szExperimentNameFilter);
00024 
00025 
int SequestSummaryFile_aLoadUsingPeptideFilter(SequestSummaryFile* hsf, 
char* fullname,  
char* szPeptideNameFilter);
00026 
int SequestSummaryFile_eLoadUsingPeptideFilter(SequestSummaryFile* hsf, 
char* folder, 
char* filename,  
char* szPeptideNameFilter);
00027 
00028 
int SequestSummaryFile_aLoadUsingXCorrFilter(SequestSummaryFile* hsf, 
char* fullname,  SequestXCorrFilter* filter);
00029 
int SequestSummaryFile_eLoadUsingXCorrFilter(SequestSummaryFile* hsf, 
char* folder, 
char* filename,  SequestXCorrFilter* filter);
00030 
00031 
int SequestSummaryFile_aLoadUsingMultiFilters(SequestSummaryFile* hsf, 
char* fullname,  
Insets4f* borders, SequestXCorrFilter* filter);
00032 
00033 
Point2i*        SequestSummaryFile_getPoint2iArray(SequestSummaryFile* ssf, 
Experiment* q_expmnt);
00034 
00035 
00036 
Point2i*        SequestSummaryFile_getPoint2iArrayOfValid(SequestSummaryFile* ssf, 
Experiment* q_expmnt, 
int *npeaks);
00037 Peak2f*         SequestSummaryFile_getRealPeak2fArrayOfValid(SequestSummaryFile* ssf, 
int *npeaks);
00038 Peak2f*         SequestSummaryFile_getMS2EventCoordinatesOfValid(SequestSummaryFile* ssf, 
int *npeaks, 
int x_axis_units);
00039 Peak2f*         SequestSummaryFile_getRealPeak2fArrayOfValidUniqueChargeVariants(SequestSummaryFile* ssf, 
int *npeaks, 
char* type);
00040 
00041 MQString*       SequestSummaryFile_getPeptideSequenceArray(SequestSummaryFile* ssf);
00042 MQString*       SequestSummaryFile_getXCorrArray(SequestSummaryFile* ssf);
00043 MQString*       SequestSummaryFile_getChargeArray(SequestSummaryFile* ssf);
00044 
00045 
void SequestSummaryFile_sortByScanBoundsAndXCorr(SequestSummaryFile  *file);
00046 
void SequestSummaryFile_sortBySequenceAndCharge(SequestSummaryFile  *file);
00047 
00048 
void Peak2i_translateScan(
Peak2i* peak, 
Experiment* s_expmnt, 
Experiment* q_expmnt);
00049 
00050 
00051 
00052 
void SequestSummaryFile_fprint(FILE* fp, SequestSummaryFile* ssf);
00053 
void SequestSummaryFile_fprintWithMS2ToFPeak2iArrayUsingAligner(        FILE* fp, 
00054                                                                                                                                         SequestSummaryFile* ssf, 
00055                                                                                                                                         MS2ToFPeak2i* ms2toms1, 
00056                                                                                                                                         
float scale, 
int displacement);
00057 
00058 
void SequestSummaryFile_fprintWithMS2ToFPeak2iArrayUsingCommonRTSampling(FILE* fp, 
00059                                                                                                                                                  SequestSummaryFile* ssf, 
00060                                                                                                                                                  MS2ToFPeak2i* ms2toms1, 
00061                                                                                                                                                  
Experiment* q_expmnt);
00062 
00063 
00064 
void SequestSummaryFile_fprintTabDelimitedWithFPeak2iArrayUsingCommonRTSampling(FILE* fp, SequestSummaryFile* ssf, MS2ToFPeak2i* ms2toms1, 
Experiment* q_expmnt);
00065 
void SequestSummaryFile_fprintTabDelimitedWithFPeak2iArray(FILE* fp, SequestSummaryFile* ssf, Peak2f* speaks, MS2ToFPeak2i* ms2toms1);
00066 
00067 
void SequestSummaryFile_applyMZFilter   (SequestSummaryFile  *file, 
Insets4f* borders);
00068 
void SequestSummaryFile_applyXCorrFilter(SequestSummaryFile  *file, SequestXCorrFilter* seqfilter);
00069 
00070 
00071 
#endif
00072