ExitCodes main_(int, const char **) { String in = getStringOption_("in"); String out = getStringOption_("out"); String tr_file = getStringOption_("tr"); bool force = getFlag_("force"); boost::shared_ptr<PeakMap > exp ( new PeakMap ); MzMLFile mzmlfile; mzmlfile.setLogType(log_type_); mzmlfile.load(in, *exp); TargetedExpType transition_exp; TraMLFile().load(tr_file, transition_exp); FeatureMap output; OpenSwath::SpectrumAccessPtr input = SimpleOpenMSSpectraFactory::getSpectrumAccessOpenMSPtr(exp); run_(input, output, transition_exp, force); output.ensureUniqueId(); StringList ms_runs; exp->getPrimaryMSRunPath(ms_runs); output.setPrimaryMSRunPath(ms_runs); FeatureXMLFile().store(out, output); return EXECUTION_OK; }
ExitCodes main_(int, const char **) { //------------------------------------------------------------- // parameter handling //------------------------------------------------------------- String in = getStringOption_("in"); String out = getStringOption_("out"); //------------------------------------------------------------- // loading input //------------------------------------------------------------- MzMLFile mzMLFile; mzMLFile.setLogType(log_type_); MSExperiment<Peak1D> input; mzMLFile.getOptions().addMSLevel(1); mzMLFile.load(in, input); if (input.empty()) { LOG_WARN << "The given file does not contain any conventional peak data, but might" " contain chromatograms. This tool currently cannot handle them, sorry."; return INCOMPATIBLE_INPUT_DATA; } //check if spectra are sorted for (Size i = 0; i < input.size(); ++i) { if (!input[i].isSorted()) { writeLog_("Error: Not all spectra are sorted according to peak m/z positions. Use FileFilter to sort the input!"); return INCOMPATIBLE_INPUT_DATA; } } //------------------------------------------------------------- // pick //------------------------------------------------------------- FeatureMap<> output; FeatureFinder ff; Param param = getParam_().copy("algorithm:", true); FFSH ffsh; ffsh.setParameters(param); ffsh.setData(input, output, ff); ffsh.run(); //------------------------------------------------------------- // writing output //------------------------------------------------------------- //annotate output with data processing info addDataProcessing_(output, getProcessingInfo_(DataProcessing::PEAK_PICKING)); addDataProcessing_(output, getProcessingInfo_(DataProcessing::QUANTITATION)); output.ensureUniqueId(); for (Size i = 0; i < output.size(); i++) { output[i].ensureUniqueId(); } FeatureXMLFile().store(out, output); return EXECUTION_OK; }