fpeakfile.h

Go to the documentation of this file.
00001 #ifndef _FPEAKFILE_H_
00002 #define _FPEAKFILE_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 
00019 struct FPeakFile
00020 {
00021     unsigned int state: 2;
00022     unsigned int isMultiple: 1; // added 2004-06-14
00023 
00024     FILE*    pFPeakFile;
00025     fpos_t   datastart;
00026     fpos_t   curr_pos;
00027 
00028     // *****************************************************
00029     // ******** Universal Processing Identifiers ***********
00030     // *****************************************************
00031 
00032     // MQExperiment pointer
00033     // MQExperiment's name
00034     // Rectangle  within experiment
00035     // Processing script
00036     // Processing script's name
00037 
00038     char*       szPathname;
00039     char*       szName;
00040     char*       szSession;
00041     char*       szNameInSession;
00042 
00043     char*       szSourceMapSubID;
00044     char*       szMaskMapSubID;
00045 
00046     MQExperiment*   expmnt;
00047     // char* szExpName  *** NOT IMPLEMENTED ***
00048 
00049     Rectangle4i borders;
00050     
00051     // Processing Script
00052     char*           ps;
00053     ProcScript      procscript;
00054     
00055     // ******************************************************
00056     // ********* END OF UNIVERSAL PROCESSING IDENTIFIERS ****
00057     // ******************************************************
00058 
00059     int         curve;
00060 
00061     Map2DPosition*      pFPeakPositions;
00062 
00063     FPeak2i*            pFPeaks;
00064     int                 nFPeaks;
00065     int                 nCurrFPeak;
00066 
00067     int                 nFPeaksCutoff;
00068 
00069     struct Segment* pSegments;
00070 
00071     int         nSegments;
00072     int         nCurrSegment;
00073 
00074     int         nSkippedSegment;
00075     
00076 };
00077 
00078 typedef struct FPeakFile FPeakFile;
00079 
00080 int         FPeakFile_load(char* szFilename, FPeakFile *file);
00081 int         FPeakFile_sntLoad(FPeakFile* file,  MQExperiment* expmnt, 
00082                                                 char* session, 
00083                                                 char* name, char* tile);
00084 
00085 
00086 int         FPeakFile_populateNextSegment(FPeakFile* file);
00087 void        FPeakFile_initIterator(FPeakFile* file);
00088 Segment*    FPeakFile_getNextSegment(FPeakFile* file);
00089 
00090 int         FPeakFile_querySegment(char* szFilename, int scan, int bin);
00091 
00092 
00093 
00094 void        FPeakFile_destroy(FPeakFile* file);
00095 int         FPeakFile_countSegments(FPeakFile* file);
00096 void        FPeakFile_init(FPeakFile* file);
00097 void        FPeakFile_fprintStatusTypes(FILE* fp);
00098 void        FPeakFile_fprintHeader2(FILE* fp, FPeakFile* file);
00099 void        FPeakFile_fprintHeader(FILE* fp, char *experiment,
00100                                       Rectangle4i *rect, 
00101                                       ProcScript  *PS,
00102                                       char* source_map_subid,
00103                                       char* mask_map_subid,
00104                                       int nSegments,
00105                                       char* curve,
00106                                       int npeaks_cutoff);
00107 void        FPeakFile_fprintSegment(FILE* fp, Segment* segment, int index, int ismulti);
00108 
00109 FPeak2i*    FPeakFile_getFPeak2iArray(FPeakFile fpkfile, int* nFPeaks);
00110 Peak2f*     FPeakFile_getPeak2fArray(FPeakFile* fpkfile, int* nFPeaks);
00111 
00112 int* getSkippedLabels(char* szPath, char* szFilename, int* nsize);
00113 
00114 struct Segment MQExperiment_getSegment(MQExperiment expmnt, char* szSession, int nSegment);
00115 struct Segment FPeakFile_getSegment(FPeakFile fpkfile, char* szSession, int nSegment);
00116 
00117 void FPeakFile_tile(FPeakFile* fpk, char* fullname);
00118 
00119 /* Querying FPeak2iFile */
00120 
00121 #endif
00122 
00123 

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