void SpectrumSettings::unify(const SpectrumSettings & rhs) { // append metavalues (overwrite when already present) std::vector<UInt> keys; rhs.getKeys(keys); for (Size i = 0; i < keys.size(); ++i) setMetaValue(keys[i], rhs.getMetaValue(keys[i])); if (type_ != rhs.type_) type_ = UNKNOWN; // only keep if both are equal //native_id_ == rhs.native_id_ // keep comment_ += rhs.comment_; // append //instrument_settings_ == rhs.instrument_settings_ // keep //acquisition_info_ == rhs.acquisition_info_ //source_file_ == rhs.source_file_ && precursors_.insert(precursors_.end(), rhs.precursors_.begin(), rhs.precursors_.end()); products_.insert(products_.end(), rhs.products_.begin(), rhs.products_.end()); identification_.insert(identification_.end(), rhs.identification_.begin(), rhs.identification_.end()); data_processing_.insert(data_processing_.end(), rhs.data_processing_.begin(), rhs.data_processing_.end()); }
//Visualizing SpectrumSettings object void MetaDataBrowser::visualize_(SpectrumSettings & meta, QTreeWidgetItem * parent) { SpectrumSettingsVisualizer * visualizer = new SpectrumSettingsVisualizer(isEditable(), this); visualizer->load(meta); QStringList labels; labels << "SpectrumSettings" << QString::number(ws_->addWidget(visualizer)); QTreeWidgetItem * item; if (parent == nullptr) { item = new QTreeWidgetItem(treeview_, labels); } else { item = new QTreeWidgetItem(parent, labels); } //check for InstrumentSettings visualize_(meta.getInstrumentSettings(), item); //check for DataProcessing visualizeAll_(meta.getDataProcessing(), item); //check for Precursors for (Size i = 0; i < meta.getPrecursors().size(); ++i) { visualize_(meta.getPrecursors()[i], item); } //check for Products for (Size i = 0; i < meta.getProducts().size(); ++i) { visualize_(meta.getProducts()[i], item); } //check for AcquisitionInfo visualize_(meta.getAcquisitionInfo(), item); //check for PeptideIdentification visualizeAll_(meta.getPeptideIdentifications(), item); connectVisualizer_(visualizer); }
void ChromatogramExtractor::return_chromatogram(std::vector< OpenSwath::ChromatogramPtr > & chromatograms, std::vector< ChromatogramExtractor::ExtractionCoordinates > & coordinates, OpenMS::TargetedExperiment & transition_exp_used, SpectrumSettings settings, std::vector<OpenMS::MSChromatogram<> > & output_chromatograms, bool ms1) const { typedef std::map<String, const ReactionMonitoringTransition* > TransitionMapType; TransitionMapType trans_map; for (Size i = 0; i < transition_exp_used.getTransitions().size(); i++) { trans_map[transition_exp_used.getTransitions()[i].getNativeID()] = &transition_exp_used.getTransitions()[i]; } for (Size i = 0; i < chromatograms.size(); i++) { const OpenSwath::ChromatogramPtr & chromptr = chromatograms[i]; const ChromatogramExtractor::ExtractionCoordinates & coord = coordinates[i]; TargetedExperiment::Peptide pep; OpenMS::ReactionMonitoringTransition transition; OpenMS::MSChromatogram<> chrom; // copy data OpenSwathDataAccessHelper::convertToOpenMSChromatogram(chrom, chromptr); chrom.setNativeID(coord.id); // Create precursor and set // 1) the target m/z // 2) the isolation window (upper/lower) // 3) the peptide sequence Precursor prec; if (ms1) { pep = transition_exp_used.getPeptideByRef(coord.id); prec.setMZ(coord.mz); chrom.setChromatogramType(ChromatogramSettings::BASEPEAK_CHROMATOGRAM); } else { transition = (*trans_map[coord.id]); pep = transition_exp_used.getPeptideByRef(transition.getPeptideRef()); prec.setMZ(transition.getPrecursorMZ()); if (settings.getPrecursors().size() > 0) { prec.setIsolationWindowLowerOffset(settings.getPrecursors()[0].getIsolationWindowLowerOffset()); prec.setIsolationWindowUpperOffset(settings.getPrecursors()[0].getIsolationWindowUpperOffset()); } // Create product and set its m/z Product prod; prod.setMZ(transition.getProductMZ()); chrom.setProduct(prod); chrom.setChromatogramType(ChromatogramSettings::SELECTED_REACTION_MONITORING_CHROMATOGRAM); } prec.setMetaValue("peptide_sequence", pep.sequence); chrom.setPrecursor(prec); // Set the rest of the meta-data chrom.setInstrumentSettings(settings.getInstrumentSettings()); chrom.setAcquisitionInfo(settings.getAcquisitionInfo()); chrom.setSourceFile(settings.getSourceFile()); for (Size i = 0; i < settings.getDataProcessing().size(); ++i) { DataProcessing dp = settings.getDataProcessing()[i]; dp.setMetaValue("performed_on_spectra", "true"); chrom.getDataProcessing().push_back(dp); } output_chromatograms.push_back(chrom); } }