peakgroupfile.h

00001 #ifndef _PEAK_GROUP_FILE_H_
00002 #define _PEAK_GROUP_FILE_H_
00003 
00004 /* Copyright (c) Kyriacos Leptos and the President and Fellows of Harvard University
00005    Release Date: 2004-11-01
00006    Part of the MapQuant suite library "massspec.lib" 
00007 */
00008 
00009 #define PEAK_GROUP_FILE_CURRENT_VERSION 2.0
00010 
00011 struct PEAK_GROUP_FILE
00012 {
00013     unsigned isMultiple     : 1;
00014     unsigned isTile         : 1;
00015 
00016     float               dVersion;
00017 
00018     MQExperiment*       experiment;
00019     char*               szSession;
00020     char*               szType;
00021     PeakRestrictions    restr;
00022 
00023     char*               ps;
00024     ProcScript          procscript;             // was used int the clustring
00025     int                 curve;
00026     
00027     PeakGroup*          pPeakGroups;            //Array of peak groups
00028     int                 nPeakGroups;
00029 
00030     FPeak2i*            pFPeaks;
00031     Map2DPosition*      pPositions;
00032     int                 nFPeaks;
00033 
00034     char*               szFPeakSource;          // Filename of the fpeaks file that 
00035     char*               szPeakGroupSource;      // Filename of the fpeaks file that 
00036 
00037     // Algorithim related
00038 
00039     float               dLinkageRTThreshold;
00040     float               dLinkageMZThreshold;
00041 
00042     MQTextFile          deconvolverBoundsFile;
00043 
00044     //MQClusterer           clusterer;
00045     //Deconvolver           deconv;
00046 
00047 };
00048 
00049 typedef struct PEAK_GROUP_FILE PeakGroupFile;
00050 
00051 enum {PEAKGROUP_FILE_TYPE_PLAIN, PEAKGROUP_FILE_TYPE_DECONVOLVED};
00052 
00053 void PeakGroupFile_init(PeakGroupFile* pgf);
00054 void PeakGroupFile_destroy(PeakGroupFile* pgf);
00055 
00056 void PeakGroupFile_setExperiment(PeakGroupFile* pgf, MQExperiment* epxmnt);
00057 void PeakGroupFile_setSession(PeakGroupFile* pgf, char* session);
00058 void PeakGroupFile_setProcScript(PeakGroupFile* pgf, char* string, ProcScript* script);
00059 void PeakGroupFile_setZDeconvolverBounds(PeakGroupFile* pgf);
00060 void PeakGroupFile_setSourceFiles(PeakGroupFile* pgf, char* szFPeakSource, char* szPeakGroupSource);
00061 
00062 PeakGroup*  PeakGroupFile_getPeakGroupArray(PeakGroupFile pgr_file, int* nPeakGroups);
00063 FPeak2i*    PeakGroupFile_getFPeak2iArray(PeakGroupFile pgr_file, int* nFPeaks);
00064 
00065 int     PeakGroupFile_loadHeader(PeakGroupFile* pgf, char* szFilename);
00066 int     PeakGroupFile_load(char* szFilename, PeakGroupFile* pgf);
00067 
00068 void    PeakGroupFile_fprintHeader(FILE* fp, PeakGroupFile* pgf, int pgf_type);
00069 void    PeakGroupFile_save(PeakGroupFile* pgf, char* szOutFilename);
00070 int     PeakGroupFile_saveHeader(PeakGroupFile* pgf, char* filename, int pgf_type);
00071 
00072 //void PeakGroupFile_create             (PeakGroupFile* pgf,        FPeakFile* fpkfile,     MQClusterer* clust,
00073 //                                                                                      PeakRestrictions* restr,
00074 //                                                                                      int   nIsMultiple);
00075 
00076 //void PeakGroupFile_clusterEachPeakGroup   (PeakGroupFile* pgf_out,    PeakGroupFile* pgf_in,  MQClusterer* clust);
00077 
00078 //void PeakGroupFile_createAndSaveUsingTiles(FPeakFile*     fpkfile, MQClusterer*       clust, int nIsMultiple);
00079 
00080 #endif 
00081 
00082 
00083 
00084 

Generated on Tue Feb 7 11:54:36 2006 for libmqfileio by  doxygen 1.4.6