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";
bool encloses(const PositionType &position) const
Checks whether this range contains a certain point.
Definition: DRange.h:175
DTA2D File adapter.
Definition: DTA2DFile.h:67
~DTA2DFile() override
Destructor.
DTA2DFile()
Default constructor.
const PeakFileOptions & getOptions() const
Non-mutable access to the options for loading/storing.
PeakFileOptions options_
Definition: DTA2DFile.h:69
PeakFileOptions & getOptions()
Mutable access to the options for loading/storing.
void store(const String &filename, const MapType &map) const
Stores a map in a DTA2D file.
Definition: DTA2DFile.h:271
void load(const String &filename, MapType &map)
Loads a map from a DTA2D file.
Definition: DTA2DFile.h:97
void storeTIC(const String &filename, const MapType &map) const
Stores the TIC of a map in a DTA2D file.
Definition: DTA2DFile.h:310
void setLoadedFilePath(const String &file_name)
set the file_name_ according to absolute path of the file loaded from preferably done whilst loading
void setLoadedFileType(const String &file_name)
set the file_type according to the type of the file loaded from (see FileHandler::Type) preferably do...
Exception base class.
Definition: Exception.h:91
File not found exception.
Definition: Exception.h:511
Parse Error exception.
Definition: Exception.h:624
Unable to create file exception.
Definition: Exception.h:638
The representation of a chromatogram.
Definition: MSChromatogram.h:57
In-Memory representation of a mass spectrometry run.
Definition: MSExperiment.h:72
void addSpectrum(const MSSpectrum &spectrum)
adds a spectrum to the list
Iterator begin()
Definition: MSExperiment.h:182
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).
Iterator end()
Definition: MSExperiment.h:192
Size size() const
The number of spectra.
Definition: MSExperiment.h:147
void reset()
Clear all internal data (spectra, ranges, metadata)
Base::const_iterator const_iterator
Definition: MSExperiment.h:117
std::vector< SpectrumType >::const_iterator ConstIterator
Non-mutable iterator.
Definition: MSExperiment.h:105
The representation of a 1D spectrum.
Definition: MSSpectrum.h:70
void clear(bool clear_meta_data)
Clears all data and meta data.
void setRT(double rt)
Sets the absolute retention time (in seconds)
A 1-dimensional raw data point or peak.
Definition: Peak1D.h:54
CoordinateType getMZ() const
Non-mutable access to m/z.
Definition: Peak1D.h:113
IntensityType getIntensity() const
Definition: Peak1D.h:108
void setIntensity(IntensityType intensity)
Mutable access to the data point intensity (height)
Definition: Peak1D.h:110
void setMZ(CoordinateType mz)
Mutable access to m/z.
Definition: Peak1D.h:119
Options for loading files containing peak data.
Definition: PeakFileOptions.h:48
const DRange< 1 > & getMZRange() const
returns the MZ range
const DRange< 1 > & getIntensityRange() const
returns the intensity range
bool hasRTRange() const
returns true if an RT range has been set
bool hasMZRange() const
returns true if an MZ range has been set
bool hasIntensityRange() const
returns true if an intensity range has been set
const DRange< 1 > & getRTRange() const
returns the RT range
Base class for all classes that want to report their progress.
Definition: ProgressLogger.h:53
void setNativeID(const String &native_id)
sets the native identifier for the spectrum, used by the acquisition software.
A more convenient string class.
Definition: String.h:60
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...
bool hasPrefix(const String &string) const
true if String begins with string, false otherwise
bool has(Byte byte) const
true if String contains the byte, false otherwise
bool split(const char splitter, std::vector< String > &substrings, bool quote_protect=false) const
Splits a string into substrings using splitter as delimiter.
String & trim()
removes whitespaces (space, tab, line feed, carriage return) at the beginning and the end of the stri...
String & toUpper()
Converts the string to uppercase.
unsigned int UInt
Unsigned integer type.
Definition: Types.h:94
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:127
static double toDouble(const String &this_s)
Definition: StringUtils.h:242
static float toFloat(const String &this_s)
Definition: StringUtils.h:237
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:48
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