96 template <
typename MapType>
99 startProgress(0, 0,
"loading DTA2D file");
102 std::ifstream is(filename.c_str());
115 std::vector<String> strings(3);
128 bool time_in_minutes =
false;
137 Size line_number = 0;
139 while (getline(is, line,
'\n'))
144 if (line.empty())
continue;
160 line.
split(delimiter, strings);
165 bool int_set =
false;
168 for (
Size i = 0; i < 3; ++i)
170 if (strings[i] ==
"RT" || strings[i] ==
"RETENTION_TIME" || strings[i] ==
"MASS-TO-CHARGE" || strings[i] ==
"IT" || strings[i] ==
"INTENSITY")
172 std::cerr <<
"Warning: This file contains the deprecated keyword '" << strings[i] <<
"'." <<
"\n";
173 std::cerr <<
" Please use only the new keywords SEC/MIN, MZ, INT." <<
"\n";
175 if ((strings[i] ==
"SEC" || strings[i] ==
"RT" || strings[i] ==
"RETENTION_TIME") && rt_set ==
false)
180 else if ((strings[i] ==
"MIN") && rt_set ==
false)
184 time_in_minutes =
true;
186 else if ((strings[i] ==
"MZ" || strings[i] ==
"MASS-TO-CHARGE") && mz_set ==
false)
191 else if ((strings[i] ==
"INT" || strings[i] ==
"IT" || strings[i] ==
"INTENSITY") && int_set ==
false)
198 throw Exception::ParseError(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION,
"Misformatted header line!", filename);
206 line.
split(delimiter, strings);
207 if (strings.size() != 3)
209 throw Exception::ParseError(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, std::string(
"Bad data line (" +
String(line_number) +
"): \"") + line +
"\" (got " +
String(strings.size()) +
", expected 3 entries)", filename);
213 rt = (strings[rt_dim].toDouble()) * (time_in_minutes ? 60.0 : 1.0);
218 throw Exception::ParseError(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, std::string(
"Bad data line (" +
String(line_number) +
"): \"") + line +
"\"", filename);
222 if (fabs(rt - spec.
getRT()) > 0.0001)
270 template <
typename MapType>
273 startProgress(0, map.
size(),
"storing DTA2D file");
275 std::ofstream os(filename.c_str());
282 os <<
"#SEC\tMZ\tINT\n";
289 setProgress(count++);
309 template <
typename MapType>
312 startProgress(0, map.
size(),
"storing DTA2D file");
314 std::ofstream os(filename.c_str());
321 os <<
"#SEC\tMZ\tINT\n";
DTA2D File adapter.
Definition: DTA2DFile.h:65
bool has(Byte byte) const
true if String contains the byte, false otherwise
A more convenient string class.
Definition: String.h:58
bool encloses(const PositionType &position) const
Checks whether this range contains a certain point.
Definition: DRange.h:174
void reset()
Clear all internal data (spectra, ranges, metadata)
void addSpectrum(const MSSpectrum &spectrum)
adds a spectrum to the list
The representation of a chromatogram.
Definition: MSChromatogram.h:53
String & toUpper()
Converts the string to uppercase.
CoordinateType getMZ() const
Non-mutable access to m/z.
Definition: Peak1D.h:113
unsigned int UInt
Unsigned integer type.
Definition: Types.h:94
const DRange< 1 > & getMZRange() const
returns the MZ range
PeakFileOptions options_
Definition: DTA2DFile.h:69
Iterator begin()
Definition: MSExperiment.h:182
Base::const_iterator const_iterator
Definition: MSExperiment.h:117
bool hasRTRange() const
returns true if an RT range has been set
File not found exception.
Definition: Exception.h:509
Size size() const
The number of spectra.
Definition: MSExperiment.h:147
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:47
void setMZ(CoordinateType mz)
Mutable access to m/z.
Definition: Peak1D.h:119
void setIntensity(IntensityType intensity)
Mutable access to the data point intensity (height)
Definition: Peak1D.h:110
const DRange< 1 > & getRTRange() const
returns the RT range
void setLoadedFileType(const String &file_name)
set the file_type according to the type of the file loaded from (see FileHandler::Type) preferably do...
bool hasMZRange() const
returns true if an MZ range has been set
const DRange< 1 > & getIntensityRange() const
returns the intensity range
String substr(size_t pos=0, size_t n=npos) const
Wrapper for the STL substr() method. Returns a String object with its contents initialized to a subst...
Iterator end()
Definition: MSExperiment.h:192
The representation of a 1D spectrum.
Definition: MSSpectrum.h:66
void store(const String &filename, const MapType &map) const
Stores a map in a DTA2D file.
Definition: DTA2DFile.h:271
const PrecisionWrapper< FloatingPointType > precisionWrapper(const FloatingPointType rhs)
Wrapper function that sets the appropriate precision for output temporarily. The original precision i...
Definition: PrecisionWrapper.h:95
String & trim()
removes whitespaces (space, tab, line feed, carriage return) at the beginning and the end of the stri...
A 1-dimensional raw data point or peak.
Definition: Peak1D.h:53
Exception base class.
Definition: Exception.h:89
void clear(bool clear_meta_data)
Clears all data and meta data.
void setRT(double rt)
Sets the absolute retention time (in seconds)
In-Memory representation of a mass spectrometry run.
Definition: MSExperiment.h:70
static float toFloat(const String &this_s)
Definition: StringUtils.h:237
std::vector< SpectrumType >::const_iterator ConstIterator
Non-mutable iterator.
Definition: MSExperiment.h:105
bool hasPrefix(const String &string) const
true if String begins with string, false otherwise
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:127
bool hasIntensityRange() const
returns true if an intensity range has been set
Base class for all classes that want to report their progress.
Definition: ProgressLogger.h:52
Unable to create file exception.
Definition: Exception.h:636
void setLoadedFilePath(const String &file_name)
set the file_name_ according to absolute path of the file loaded from preferably done whilst loading ...
static double toDouble(const String &this_s)
Definition: StringUtils.h:242
const MSChromatogram calculateTIC(float rt_bin_size=0, UInt ms_level=1) const
Computes the total ion chromatogram (TIC) for a given MS level (use ms_level = 0 for all levels)...
void setNativeID(const String &native_id)
sets the native identifier for the spectrum, used by the acquisition software.
Options for loading files containing peak data.
Definition: PeakFileOptions.h:47
void storeTIC(const String &filename, const MapType &map) const
Stores the TIC of a map in a DTA2D file.
Definition: DTA2DFile.h:310
bool split(const char splitter, std::vector< String > &substrings, bool quote_protect=false) const
Splits a string into substrings using splitter as delimiter.
void load(const String &filename, MapType &map)
Loads a map from a DTA2D file.
Definition: DTA2DFile.h:97
Parse Error exception.
Definition: Exception.h:622
IntensityType getIntensity() const
Definition: Peak1D.h:108