64 TOPPBase(name, description, official)
71 const bool split_file,
74 boost::shared_ptr<ExperimentalSettings > & exp_meta,
75 std::vector< OpenSwath::SwathMap > & swath_maps,
81 if (split_file || file_list.size() > 1)
84 swath_maps = swath_file.
loadSplit(file_list, tmp, exp_meta, readoptions);
91 swath_maps = swath_file.
loadMzML(file_list[0], tmp, exp_meta, readoptions, plugin_consumer);
95 swath_maps = swath_file.
loadMzXML(file_list[0], tmp, exp_meta, readoptions);
99 swath_maps = swath_file.
loadSqMass(file_list[0], exp_meta);
104 "Input file needs to have ending mzML or mzXML");
136 boost::shared_ptr<ExperimentalSettings >& exp_meta,
137 std::vector< OpenSwath::SwathMap >& swath_maps,
138 const bool split_file,
140 const String& readoptions,
141 const String& swath_windows_file,
142 const double min_upper_edge_dist,
144 const bool sort_swath_maps,
151 loadSwathFiles_(file_list, split_file, tmp, readoptions, exp_meta, swath_maps, plugin_consumer);
154 if (!swath_windows_file.empty())
159 for (
Size i = 0; i < swath_maps.size(); i++)
162 <<
" with lower " << swath_maps[i].lower
163 <<
" and upper " << swath_maps[i].upper
164 <<
" and im Lower bounds of " << swath_maps[i].imLower
165 <<
" and im Upper bounds of " << swath_maps[i].imUpper
166 <<
" and " << swath_maps[i].sptr->getNrSpectra()
167 <<
" spectra." << std::endl;
171 std::vector<std::pair<double, double>> sw_windows;
172 for (
Size i = 0; i < swath_maps.size(); i++)
174 if (!swath_maps[i].ms1)
176 sw_windows.push_back(std::make_pair(swath_maps[i].lower, swath_maps[i].upper));
180 std::sort(sw_windows.begin(), sw_windows.end());
182 for (
Size i = 1; i < sw_windows.size(); i++)
184 double lower_map_end = sw_windows[i-1].second - min_upper_edge_dist;
185 double upper_map_start = sw_windows[i].first;
186 OPENMS_LOG_DEBUG <<
"Extraction will go up to " << lower_map_end <<
" and continue at " << upper_map_start << std::endl;
190 if (upper_map_start - lower_map_end > 0.01)
192 OPENMS_LOG_WARN <<
"Extraction will have a gap between " << lower_map_end <<
" and " << upper_map_start << std::endl;
195 OPENMS_LOG_ERROR <<
"Extraction windows have a gap. Will abort (override with -force)" << std::endl;
200 if (sonar) {
continue;}
202 if (pasef) {
continue;}
204 if (lower_map_end - upper_map_start > 0.01)
206 OPENMS_LOG_WARN <<
"Extraction will overlap between " << lower_map_end <<
" and " << upper_map_start <<
"!\n"
207 <<
"This will lead to multiple extraction of the transitions in the overlapping region "
208 <<
"which will lead to duplicated output. It is very unlikely that you want this." <<
"\n"
209 <<
"Please fix this by providing an appropriate extraction file with -swath_windows_file" <<
"\n"
210 <<
"Did you mean to set the -sonar or -pasef Flag?" << std::endl;
213 OPENMS_LOG_ERROR <<
"Extraction windows overlap. Will abort (override with -force)" << std::endl;
235 const boost::shared_ptr<ExperimentalSettings>& exp_meta,
240 if (!out_chrom.empty())
245 bool full_meta =
false;
246 bool lossy_compression =
true;
247 *chromatogramConsumer =
new MSDataSqlConsumer(out_chrom, run_id, 500, full_meta, lossy_compression);
252 int expected_chromatograms = transition_exp.
transitions.size();
273 *chromatogramConsumer = chromConsumer;
292 const Param& tsv_reader_param)
321 OPENMS_LOG_ERROR <<
"Provide valid TraML, TSV or PQP transition file." << std::endl;
324 return transition_exp;
362 std::vector< OpenSwath::SwathMap > & swath_maps,
365 const Param& feature_finder_param,
367 const Param& irt_detection_param,
368 const Param& calibration_param,
372 bool load_into_memory,
373 const String& irt_trafo_out,
374 const String& irt_mzml_out)
378 if (!trafo_in.empty())
382 trafoxml.
load(trafo_in, trafo_rtnorm,
false);
384 model_params.
setValue(
"symmetric_regression",
"false");
386 model_params.
setValue(
"num_nodes", irt_detection_param.
getValue(
"b_spline:num_nodes"));
388 trafo_rtnorm.
fitModel(model_type, model_params);
390 else if (!irt_tr_file.empty())
393 std::cout <<
"Will load iRT transitions and try to find iRT peptides" << std::endl;
404 for (
Size k=0;
k < (
Size)transitions.size();
k++ )
406 if (transitions[
k].precursor_im == -1)
408 throw Exception::IllegalArgument(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION,
"Error: iRT Transition " + transitions[
k].getNativeID() +
" does not have a valid IM value, this must be set to use the -pasef flag");
418 min_rsq, min_coverage,
419 feature_finder_param,
420 cp_irt, irt_detection_param,
421 calibration_param, irt_mzml_out, debug_level, sonar, pasef,
424 if (!irt_trafo_out.empty())
#define OPENMS_LOG_DEBUG
Macro for general debugging information.
Definition: LogStream.h:454
#define OPENMS_LOG_WARN
Macro if a warning, a piece of information which should be read by the user, should be logged.
Definition: LogStream.h:444
#define OPENMS_LOG_ERROR
Macro to be used if non-fatal error are reported (processing continues)
Definition: LogStream.h:439
@ SMOOTHING
Smoothing of the signal to reduce noise.
Definition: DataProcessing.h:37
void setParameters(const Param ¶m)
Sets the parameters.
const Param & getDefaults() const
Non-mutable access to the default parameters.
A method or algorithm argument contains illegal values.
Definition: Exception.h:624
static FileTypes::Type getType(const String &filename)
Tries to determine the file type (by name or content)
static FileTypes::Type getTypeByFileName(const String &filename)
Determines the file type from a file name.
The interface of a consumer of spectra and chromatograms.
Definition: IMSDataConsumer.h:44
PeakFileOptions & getOptions()
Get the peak file options.
A data consumer that inserts MS data into a SQLite database.
Definition: MSDataSqlConsumer.h:36
void setExpectedSize(Size expectedSpectra, Size expectedChromatograms) override
Set expected size of spectra and chromatograms to be written.
virtual void addDataProcessing(DataProcessing d)
Optionally add a data processing method to each chromatogram and spectrum.
void setExperimentalSettings(const ExperimentalSettings &exp) override
Set experimental settings for the whole file.
Consumer class that perform no operation.
Definition: MSDataWritingConsumer.h:234
Execute all steps for retention time and m/z calibration of SWATH-MS data.
Definition: OpenSwathWorkflow.h:229
TransformationDescription performRTNormalization(const OpenSwath::LightTargetedExperiment &irt_transitions, std::vector< OpenSwath::SwathMap > &swath_maps, TransformationDescription &im_trafo, double min_rsq, double min_coverage, const Param &feature_finder_param, const ChromExtractParams &cp_irt, const Param &irt_detection_param, const Param &calibration_param, const String &irt_mzml_out, Size debug_level, bool sonar=false, bool pasef=false, bool load_into_memory=false)
Perform RT and m/z correction of the input data using RT-normalization peptides.
static void convertTargetedExp(const OpenMS::TargetedExperiment &transition_exp_, OpenSwath::LightTargetedExperiment &transition_exp)
convert from the OpenMS TargetedExperiment to the LightTargetedExperiment
std::string toString(bool full_precision=true) const
Convert ParamValue to string.
Management and storage of parameters / INI files.
Definition: Param.h:44
Param copy(const std::string &prefix, bool remove_prefix=false) const
Returns a new Param object containing all entries that start with prefix.
const ParamValue & getValue(const std::string &key) const
Returns a value of a parameter.
void setValue(const std::string &key, const ParamValue &value, const std::string &description="", const std::vector< std::string > &tags=std::vector< std::string >())
Sets a value.
void setNumpressConfigurationIntensity(MSNumpressCoder::NumpressConfig config)
Get numpress configuration options for intensity dimension.
void setCompression(bool compress)
void setWriteIndex(bool write_index)
Whether to write an index at the end of the file (e.g. indexedmzML file format)
void setNumpressConfigurationMassTime(MSNumpressCoder::NumpressConfig config)
Get numpress configuration options for m/z or rt dimension.
Consumer class that writes MS data to disk using the mzML format.
Definition: MSDataWritingConsumer.h:216
Base class for all classes that want to report their progress.
Definition: ProgressLogger.h:27
void setLogType(LogType type) const
Sets the progress log that should be used. The default type is NONE!
void startProgress(SignedSize begin, SignedSize end, const String &label) const
Initializes the progress display.
void endProgress(UInt64 bytes_processed=0) const
A more convenient string class.
Definition: String.h:34
String & toLower()
Converts the string to lowercase.
bool hasSuffix(const String &string) const
true if String ends with string, false otherwise
File adapter for Swath files.
Definition: SwathFile.h:43
std::vector< OpenSwath::SwathMap > loadMzML(const String &file, const String &tmp, boost::shared_ptr< ExperimentalSettings > &exp_meta, const String &readoptions="normal", Interfaces::IMSDataConsumer *plugin_consumer=nullptr)
Loads a Swath run from a single mzML file.
std::vector< OpenSwath::SwathMap > loadSqMass(const String &file, boost::shared_ptr< ExperimentalSettings > &)
Loads a Swath run from a single sqMass file.
std::vector< OpenSwath::SwathMap > loadSplit(StringList file_list, const String &tmp, boost::shared_ptr< ExperimentalSettings > &exp_meta, const String &readoptions="normal")
Loads a Swath run from a list of split mzML files.
std::vector< OpenSwath::SwathMap > loadMzXML(const String &file, const String &tmp, boost::shared_ptr< ExperimentalSettings > &exp_meta, const String &readoptions="normal")
Loads a Swath run from a single mzXML file.
static void annotateSwathMapsFromFile(const std::string &filename, std::vector< OpenSwath::SwathMap > &swath_maps, bool do_sort, bool force)
Annotate a Swath map using a Swath window file specifying the individual windows.
Base class for TOPP applications.
Definition: TOPPBase.h:122
Param const & getParam_() const
Return all parameters relevant to this TOPP tool.
ProgressLogger::LogType log_type_
Type of progress logging.
Definition: TOPPBase.h:914
DataProcessing getProcessingInfo_(DataProcessing::ProcessingAction action) const
Returns the data processing information.
Definition: OpenSwathBase.h:59
void prepareChromOutput(Interfaces::IMSDataConsumer **chromatogramConsumer, const boost::shared_ptr< ExperimentalSettings > &exp_meta, const OpenSwath::LightTargetedExperiment &transition_exp, const String &out_chrom, const UInt64 run_id)
Prepare chromatogram output.
Definition: OpenSwathBase.h:234
TOPPOpenSwathBase(String name, String description, bool official=true)
Definition: OpenSwathBase.h:63
bool loadSwathFiles(const StringList &file_list, boost::shared_ptr< ExperimentalSettings > &exp_meta, std::vector< OpenSwath::SwathMap > &swath_maps, const bool split_file, const String &tmp, const String &readoptions, const String &swath_windows_file, const double min_upper_edge_dist, const bool force, const bool sort_swath_maps, const bool sonar, const bool prm, const bool pasef, Interfaces::IMSDataConsumer *plugin_consumer=nullptr)
Load the DIA files into internal data structures.
Definition: OpenSwathBase.h:135
TransformationDescription performCalibration(String trafo_in, String irt_tr_file, std::vector< OpenSwath::SwathMap > &swath_maps, double min_rsq, double min_coverage, const Param &feature_finder_param, const ChromExtractParams &cp_irt, const Param &irt_detection_param, const Param &calibration_param, Size debug_level, bool sonar, bool pasef, bool load_into_memory, const String &irt_trafo_out, const String &irt_mzml_out)
Perform retention time and m/z calibration.
Definition: OpenSwathBase.h:360
OpenSwath::LightTargetedExperiment loadTransitionList(const FileTypes::Type &tr_type, const String &tr_file, const Param &tsv_reader_param)
Loads transition list from TraML / TSV or PQP.
Definition: OpenSwathBase.h:290
void loadSwathFiles_(const StringList &file_list, const bool split_file, const String &tmp, const String &readoptions, boost::shared_ptr< ExperimentalSettings > &exp_meta, std::vector< OpenSwath::SwathMap > &swath_maps, Interfaces::IMSDataConsumer *plugin_consumer)
Definition: OpenSwathBase.h:70
A description of a targeted experiment containing precursor and production ions.
Definition: TargetedExperiment.h:39
File adapter for HUPO PSI TraML files.
Definition: TraMLFile.h:40
void load(const String &filename, TargetedExperiment &id)
Loads a map from a TraML file.
This class supports reading and writing of PQP files.
Definition: TransitionPQPFile.h:191
void convertPQPToTargetedExperiment(const char *filename, OpenMS::TargetedExperiment &targeted_exp, bool legacy_traml_id=false)
Read in a PQP file and construct a targeted experiment (TraML structure)
This class supports reading and writing of OpenSWATH transition lists.
Definition: TransitionTSVFile.h:121
void convertTSVToTargetedExperiment(const char *filename, FileTypes::Type filetype, OpenMS::TargetedExperiment &targeted_exp)
Read in a tsv/mrm file and construct a targeted experiment (TraML structure)
OPENMS_UINT64_TYPE UInt64
Unsigned integer type (64bit)
Definition: Types.h:51
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:101
std::vector< String > StringList
Vector of String.
Definition: ListUtils.h:44
const double k
Definition: Constants.h:132
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:22
Type
Actual file types enum.
Definition: FileTypes.h:31
@ TRAML
TraML (HUPO PSI format) for transitions (.traML)
Definition: FileTypes.h:54
@ PQP
OpenSWATH Peptide Query Parameter (PQP) SQLite DB, see TransitionPQPFile.
Definition: FileTypes.h:76
@ TSV
any TSV file, for example msInspect file or OpenSWATH transition file (see TransitionTSVFile)
Definition: FileTypes.h:60
@ MZML
MzML file (.mzML)
Definition: FileTypes.h:44
@ SQMASS
SqLite format for mass and chromatograms, see SqMassFile.
Definition: FileTypes.h:75
@ MZXML
MzXML file (.mzXML)
Definition: FileTypes.h:36
Configuration class for MSNumpress.
Definition: MSNumpressCoder.h:63
double numpressErrorTolerance
Check error tolerance after encoding.
Definition: MSNumpressCoder.h:82
void setCompression(const std::string &compression)
Set compression using a string mapping to enum NumpressCompression.
Definition: MSNumpressCoder.h:123
double linear_fp_mass_acc
Desired mass accuracy for *linear* encoding.
Definition: MSNumpressCoder.h:105
bool estimate_fixed_point
Whether to estimate the fixed point used for encoding (highly recommended)
Definition: MSNumpressCoder.h:97
Definition: TransitionExperiment.h:185
std::vector< LightTransition > transitions
Definition: TransitionExperiment.h:193
std::vector< LightTransition > & getTransitions()
Definition: TransitionExperiment.h:196