Main Page | Modules | Data Structures | File List | Data Fields | Globals

massspec/refiner.h

00001 #ifndef _REFINER_ 00002 #define _REFINER_ 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 struct Refiner 00010 { 00011 PeakFinder finder; 00012 char* szCurve; 00013 00014 // location filter 00015 float NO_SD_MZ_WINDOW; 00016 int SCAN_WINDOW; 00017 00018 float MZ_OVERLAP_THR; 00019 00020 // size filter 00021 float dNoSDSizeFilter; 00022 00023 float dAvgSigmaRT; 00024 float dSDSigmaRT; 00025 00026 float dAvgSigmaMZ; 00027 float dSDSigmaMZ; 00028 }; 00029 00030 typedef struct Refiner Refiner; 00031 00032 extern RestrictionStatistics REFINER_SIGMA_MZ[MAX_NO_OF_STRING_NUMBERS + 1]; 00033 00034 extern int REFINER_EVAL_SIGMA_MZ_SET; 00035 extern int REFINER_SDEV_SIGMA_MZ_SET; 00036 extern int REFINER_EVAL_SIGMA_RT_SET; 00037 extern int REFINER_SDEV_SIGMA_RT_SET; 00038 00039 extern float EVAL_SIGMA_MZ; 00040 extern float SDEV_SIGMA_MZ; 00041 extern float EVAL_SIGMA_RT; 00042 extern float SDEV_SIGMA_RT; 00043 00044 enum { REFINER_EVAL_SIGMA_MZ_PARAMETER, 00045 REFINER_SDEV_SIGMA_MZ_PARAMETER, 00046 REFINER_EVAL_SIGMA_RT_PARAMETER, 00047 REFINER_SDEV_SIGMA_RT_PARAMETER}; 00048 00049 #define MQ_REFINING_STRING "--------------- REFINING PEAKGROUP ---------------\n" 00050 00051 int Refiner_init(Refiner* refiner); 00052 void Refiner_fprintf(FILE* fp, Refiner* refiner); 00053 void Refiner_setParameter(int parameter, float value); 00054 Insets4f Refiner_calculatePeakGroupBoundaries(Refiner* refiner, PeakGroup* peakgroup); 00055 FPeakFilter Refiner_calculateSizeFilter(Refiner* refiner); 00056 00057 int Refiner_refinerPeakGroup7(Refiner* refiner, 00058 PeakGroup* peakgroup, Map2D* map, 00059 FPeak2i* pFPeaksOut, int nFPeaksOut); 00060 00061 float Map2D_subtractFPeak2i(Map2D* map, FPeak2i* fpeak); 00062 float Map2D_subtractFPeak2iArray(Map2D* map, FPeak2i* parray, int nsize); 00063 00064 void FPeak2iArray_validatePositivePeaks(FPeak2i* array, int size); 00065 int FPeak2iArray_checkSize(FPeak2i* array, int size, Experiment* expmnt); 00066 FPeak2i FPeak2iArray_popFirstValid(FPeak2i* pWorking, int nWorking); 00067 void FPeak2iArray_calcScanStat(FPeak2i* array, int size, float* scan_mean, float* scan_sd); 00068 int FPeak2i_isInsidePeakGroupBoundaries(FPeak2i* peak, Insets4f* peakgroup_boundaries); 00069 00070 void PeakGroup_calcScanStat(PeakGroup* pg, float* scan_mean, float* scan_sd); 00071 00072 void PeakGroup_validatePositivePeaks(PeakGroup* peakgroup); 00073 float PeakGroup_calcAvgRTI(PeakGroup* pg); 00074 00075 00076 /* ************ BELONGSTO FUNCTIONS *************** */ 00077 00078 // peakgroup 00079 int Peak2i_belongsToPeakGroupStrict(Peak2i* peak , PeakGroup* pg); 00080 int FPeak2i_belongsToPeakGroupStrict(FPeak2i* peak, PeakGroup* pg); 00081 int FPeak2i_belongsToPeakGroup(FPeak2i fpk, PeakGroup* pgr, int first_index, int last_index); 00082 00083 // fpeak pointer array 00084 int Peak2i_belongsToFPeak2iPointerArrayStrict (Peak2i* peak, FPeak2iPointer* array, int npeaks); 00085 int FPeak2i_belongsToFPeak2iPointerArrayStrict(FPeak2i* peak, FPeak2iPointer* array, int npeaks); 00086 00087 // fpeak array 00088 int FPeak2i_belongsToFPeak2iArrayUsingRestrictions(FPeak2i* fpk, FPeak2i* array, int size, 00089 int rti_thr, int mzj_thr); 00090 int FPeak2iArray_doesFPeak2iOverlap(FPeak2i* array, int size, FPeak2i* peak, float mz_thr); 00091 int FPeak2i_doesMassBinOverlapWithFPeak2iArray(FPeak2i* peak, FPeak2i* array, int size, int mass_bin_thr); 00092 00093 /* ************ REMOVE_FPEAKS_IN FUNCTIONS *************** */ 00094 00095 void FPeak2iArray_removeFPeaksInIsocluster (FPeak2i* pFPeaksAll, int* nFPeaksAll, IsotopicCluster* ic); 00096 int FPeak2iArray_removeFPeaksInPeakGroupLax (FPeak2i* pFPeaksAll, int* nFPeaksAll, PeakGroup* peakgroup, int scan_thr); 00097 int FPeak2iArray_removeFPeaksInPeakGroupStrict (FPeak2i* pFPeaksAll, int* nFPeaksAll, PeakGroup* peakgroup); 00098 00099 void FPeak2iArray_removePeaksWithNegativeParam(FPeak2i* array, int* npeaks); 00100 void FPeak2i_fprintStat(FILE* fp); 00101 00102 #endif 00103

Generated on Sun Feb 13 01:05:59 2005 for MapQuant by doxygen 1.3.7