ProteoWizard
Main Page
Namespaces
Classes
Files
File List
File Members
pwiz
analysis
passive
SpectrumBinaryData.hpp
Go to the documentation of this file.
1
//
2
// $Id: SpectrumBinaryData.hpp 4168 2012-12-04 23:19:57Z pcbrefugee $
3
//
4
//
5
// Original author: Darren Kessner <darren@proteowizard.org>
6
//
7
// Copyright 2008 Spielberg Family Center for Applied Proteomics
8
// Cedars-Sinai Medical Center, Los Angeles, California 90048
9
//
10
// Licensed under the Apache License, Version 2.0 (the "License");
11
// you may not use this file except in compliance with the License.
12
// You may obtain a copy of the License at
13
//
14
// http://www.apache.org/licenses/LICENSE-2.0
15
//
16
// Unless required by applicable law or agreed to in writing, software
17
// distributed under the License is distributed on an "AS IS" BASIS,
18
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
// See the License for the specific language governing permissions and
20
// limitations under the License.
21
//
22
23
24
#ifndef _SPECTRUMBINARYDATA_HPP_
25
#define _SPECTRUMBINARYDATA_HPP_
26
27
28
#include "
pwiz/utility/misc/Export.hpp
"
29
#include "
MSDataAnalyzer.hpp
"
30
#include "
MSDataCache.hpp
"
31
32
33
namespace
pwiz {
34
namespace
analysis {
35
36
37
/// writes table of spectrum metadata to a file
38
class
PWIZ_API_DECL
SpectrumBinaryData
:
public
MSDataAnalyzer
39
{
40
public
:
41
42
struct
PWIZ_API_DECL
Config
43
{
44
size_t
begin
;
45
size_t
end
;
46
bool
interpretAsScanNumbers
;
47
size_t
precision
;
48
49
Config
(
const
std::string& args =
""
);
50
51
bool
operator ==
(
const
Config
&rhs)
const
52
{
53
return
begin==rhs.
begin
&&
54
end == rhs.
end
&&
55
interpretAsScanNumbers == rhs.
interpretAsScanNumbers
&&
56
precision == rhs.
precision
;
57
}
58
};
59
60
SpectrumBinaryData
(
const
MSDataCache
& cache,
const
Config& config);
61
62
/// \name MSDataAnalyzer interface
63
//@{
64
virtual
UpdateRequest updateRequested(
const
DataInfo& dataInfo,
65
const
SpectrumIdentity
& spectrumIdentity)
const
;
66
67
virtual
void
update(
const
DataInfo& dataInfo,
68
const
Spectrum
& spectrum);
69
//@}
70
71
private
:
72
const
MSDataCache
&
cache_
;
73
const
Config
config_
;
74
};
75
76
77
template
<>
78
struct
analyzer_strings
<
SpectrumBinaryData
>
79
{
80
static
const
char
*
id
() {
return
"binary"
;}
81
#define BINARY_INDEX_ARG "index"
82
#define BINARY_SCAN_ARG "sn"
83
#define BINARY_PRECISION_ARG "precision"
84
static
const
char
*
argsFormat
() {
return
BINARY_INDEX_ARG
"=<spectrumIndexLow>[,<spectrumIndexHigh>] | "
BINARY_SCAN_ARG
"=<scanNumberLow>[,<scanNumberHigh>] ["
BINARY_PRECISION_ARG
"=<precision>]"
;}
85
86
static
const
char
*
description
() {
return
"write binary data for selected spectra"
;}
87
88
static
std::vector<std::string>
argsUsage
()
89
{
90
std::vector<std::string> result;
91
result.push_back(
BINARY_INDEX_ARG
": write data for spectra in this index range"
);
92
result.push_back(
BINARY_SCAN_ARG
": write data for spectra in this scan number range"
);
93
result.push_back(
BINARY_PRECISION_ARG
": write d decimal places"
);
94
return
result;
95
}
96
};
97
98
99
}
// namespace analysis
100
}
// namespace pwiz
101
102
103
#endif // _SPECTRUMBINARYDATA_HPP_
104
Generated on Thu Aug 29 2013 14:45:31 for ProteoWizard by
1.8.4