00001
#ifndef _PEAK_GROUP_FILE_H_
00002
#define _PEAK_GROUP_FILE_H_
00003
00004
00005
00006
00007
00008
00009
#define PEAK_GROUP_FILE_CURRENT_VERSION 2.0
00010
00011
typedef struct
00012
{
00013
unsigned isMultiple : 1;
00014
unsigned isTile : 1;
00015
00016
float dVersion;
00017
00018
Experiment* experiment;
00019
char* szSession;
00020
char* szType;
00021 PeakRestrictions restr;
00022
00023
char* szFPeakSource;
00024
int curve;
00025
00026
PeakGroup* pPeakGroups;
00027
int nPeakGroups;
00028
00029
FPeak2i* pFPeaks;
00030 Map2DPosition* pPositions;
00031
int nFPeaks;
00032
00033
00034
00035 Clusterer clusterer;
00036
00037
00038 } PEAK_GROUP_FILE;
00039
00040
typedef PEAK_GROUP_FILE PeakGroupFile;
00041
00042
enum {PEAKGROUP_FILE_TYPE_PLAIN, PEAKGROUP_FILE_TYPE_DECONVOLVED};
00043
00044
void PeakGroupFile_init(PeakGroupFile* pgf);
00045
void PeakGroupFile_destroy(PeakGroupFile* pgf);
00046
00047
void PeakGroupFile_setExperiment(PeakGroupFile* pgf,
Experiment* epxmnt);
00048
void PeakGroupFile_setSession(PeakGroupFile* pgf,
char* session);
00049
00050
PeakGroup* PeakGroupFile_getPeakGroupArray(PeakGroupFile pgr_file,
int* nPeakGroups);
00051
FPeak2i* PeakGroupFile_getFPeak2iArray(PeakGroupFile pgr_file,
int* nFPeaks);
00052
00053
int PeakGroupFile_loadHeader(PeakGroupFile* pgf,
char* szFilename);
00054
int PeakGroupFile_load(
char* szFilename, PeakGroupFile* pgf);
00055
00056
void PeakGroupFile_save(PeakGroupFile* pgf,
char* szOutFilename);
00057
int PeakGroupFile_saveHeader(PeakGroupFile* pgf,
char* filename,
int pgf_type);
00058
00059
void PeakGroupFile_create (PeakGroupFile* pgf, FPeakFile* fpkfile, Clusterer* clust,
00060 PeakRestrictions* restr,
00061
int nIsMultiple);
00062
void PeakGroupFile_clusterEachPeakGroup (PeakGroupFile* pgf_out, PeakGroupFile* pgf_in, Clusterer* clust);
00063
00064
void PeakGroupFile_createAndSaveUsingTiles(FPeakFile* fpkfile, Clusterer* clust,
int nIsMultiple);
00065
00066
#endif
00067
00068
00069
00070