mcq_types.h 5.1 KB
Newer Older
Edlira Nano's avatar
Edlira Nano committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/*
*
* MassChroQ: Mass Chromatogram Quantification software.
* Copyright (C) 2010 Olivier Langella, Edlira Nano, Benoit Valot, Michel Zivy.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program.  If not, see <http://www.gnu.org/licenses/>.
*
*/
20
21
22
23
/**
 * \file mcq_types.h
 * \date January 10, 2011
 * \author Edlira Nano
24
25
26
27
 * \brief This header contains all the type re-definitions and all 
 * the global variables definitions used in MassChroQ. 
 * 
 * For configuration global variable definitions see config.h.cmake file.
28
29
 */

Edlira Nano's avatar
Edlira Nano committed
30
31
32
33
34
35
#include <QString>

#ifndef _MCQ_TYPES_H_
#define _MCQ_TYPES_H_ 1


36
/************ Typedefs **************************************************/
37

38
39
40
/** \var typedef double mcq_double
    \brief A type definition for doubles
*/
41
42
typedef double mcq_double;

43
/** \var typedef float mcq_float
44
45
46
47
    \brief A type definition for floats
*/
typedef float mcq_float;

48
49
50
51
52
/** \var typedef QString mcq_xml_format
    \brief A type definition for xml formats (mzxml, mzml, ...)
*/
typedef QString mcq_xml_format;

Edlira Nano's avatar
Edlira Nano committed
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
/** \var typedef QString mcq_quanti_item_type
    \brief A type definition for quantification item types (mz, mzrt or peptides)
*/
typedef QString mcq_quanti_item_type;

/** \var typedef int mcq_slice_index_id;
    \brief A type definition for the unique ID of slices
*/
typedef int mcq_slice_index_id;

/** \var typedef QString mcq_matching_mode
    \brief A type definition for peptide to peak matching modes (mean, real_or_mean, post_matching)
*/
typedef QString mcq_matching_mode;

/** \var typedef QString mcq_xic_type
    \brief A type definition for xic types (max or sum)
*/
typedef QString mcq_xic_type;

/** \var typedef int mcq_slice_index_id;
    \brief A type definition for the unique ID of slices
*/
typedef int mcq_slice_index_id;

Edlira Nano's avatar
Edlira Nano committed
78
79
80
81
82
/** \var typedef QString mcq_filter_type
    \brief A type definition for filter types
*/
typedef QString mcq_filter_type;

Edlira Nano's avatar
Edlira Nano committed
83
84


85
86
87
/*********** Global variables definitions*********************************/

/** \def MHPLUS 1.007825
88
    \brief The (monoisotopic) mass of the H+ atom
89
90
91
*/
const mcq_double MHPLUS(1.007825);

92
/** \def ONEMILLION 1000000
Edlira Nano's avatar
Edlira Nano committed
93
    \brief One million integer, why not.
94
95
96
*/
const mcq_double ONEMILLION(1000000);

Edlira Nano's avatar
Edlira Nano committed
97
98
99
100
/** \def MAX_SLICE_SIZE 262144000
    \brief maximum size of an msrun slice in bytes 
    (1048576 (=1Mbyte) * 300 = 314572800, * 250 = 262144000) 
*/
101
const mcq_double MAX_SLICE_SIZE(262144000);
Edlira Nano's avatar
Edlira Nano committed
102

Edlira Nano's avatar
Edlira Nano committed
103
104
105
/** \def MZXML "mzxml"
    \brief mzxml xml format
*/
106
107
const mcq_xml_format MZXML("mzxml");

Edlira Nano's avatar
Edlira Nano committed
108
109
110
/** \def MZML "mzml"
    \brief mzml xml format
*/
111
112
const mcq_xml_format MZML("mzml");

Edlira Nano's avatar
Edlira Nano committed
113
114
115
/** \def TMP_FILENAME_PREFIX "masschroq_tmp_file";
    \brief template filename prefix for the temporary files generated by masschroq 
*/ 
Edlira Nano's avatar
Edlira Nano committed
116
117
const QString TMP_FILENAME_PREFIX("masschroq_tmp_file");

Edlira Nano's avatar
Edlira Nano committed
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
/** \def MZ_ITEM "mz"
    \brief mz quantification item type
*/
const mcq_quanti_item_type MZ_QUANTI_ITEM("mz");

/** \def MZRT_ITEM "mz-rt"
    \brief mz-rt quantification item type
*/
const mcq_quanti_item_type MZRT_QUANTI_ITEM("mz-rt");

/** \def PEPTIDE_ITEM "peptide"
    \brief peptide quantification item type
*/
const mcq_quanti_item_type PEPTIDE_QUANTI_ITEM("peptide");

/** \def MEAN_MODE "mean"
    \brief mean rt peptide to peak matching mode
*/
const mcq_matching_mode MEAN_MODE("mean");

/** \def REAL_OR_MEAN_MODE "real_or_mean"
    \brief real_or_mean rt peptide to peak matching mode
*/
const mcq_matching_mode REAL_OR_MEAN_MODE("real_or_mean");

/** \def POST_MATCHING_MODE "post_matching"
    \brief post matching rt peptide to peak matching mode
*/
const mcq_matching_mode POST_MATCHING_MODE("post_matching");

/** \def NO_MATCHING_MODE "no_matching"
    \brief no matching mode (for mz and mzrt quanti items)
*/
const mcq_matching_mode NO_MATCHING_MODE("no_matching");


/** \def MAX_XIC_TYPE "max"
    \brief max xic type
*/
const mcq_xic_type MAX_XIC_TYPE("max");

/** \def SUM_XIC_TYPE "sum"
    \brief max xic type
*/
const mcq_xic_type SUM_XIC_TYPE("sum");

/** \def NULL_SLICE_ID -1 
    \brief non valid slice index id
*/
const mcq_slice_index_id NULL_SLICE_ID(-1);

Edlira Nano's avatar
Edlira Nano committed
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
/** \def FILTER_BACKGROUND "background"
    \brief filter background type
*/
const mcq_filter_type FILTER_BACKGROUND("background");

/** \def FILTER_SPIKE "spike"
    \brief filter spike type
*/
const mcq_filter_type FILTER_SPIKE("spike");

/** \def FILTER_SMOOTHING "smoothing"
    \brief filter smoothing type
*/
const mcq_filter_type FILTER_SMOOTHING("smoothing");

/** \def FILTER_MINMAX "minmax"
    \brief filter minmax type
*/
const mcq_filter_type FILTER_MINMAX("minmax");

/** \def FILTER_MAXMIN "maxmin"
    \brief filter maxmin type
*/
const mcq_filter_type FILTER_MAXMIN("maxmin");

Edlira Nano's avatar
Edlira Nano committed
194

195
#endif /* _MCQ_TYPES_H_ */