void FeatureGroupingAlgorithmLabeled::group(const std::vector<FeatureMap<> > & maps, ConsensusMap & out) { //check that the number of maps is ok if (maps.size() != 1) throw Exception::IllegalArgument(__FILE__, __LINE__, __PRETTY_FUNCTION__, "Exactly one map must be given!"); if (out.getFileDescriptions().size() != 2) throw Exception::IllegalArgument(__FILE__, __LINE__, __PRETTY_FUNCTION__, "Two file descriptions must be set in 'out'!"); //initialize LabeledPairFinder LabeledPairFinder pm; pm.setParameters(param_.copy("", true)); //convert to consensus map std::vector<ConsensusMap> input(1); ConsensusMap::convert(0, maps[0], input[0]); //run pm.run(input, out); }
features[9].setCharge(1); features[9].setOverallQuality(1); START_SECTION((virtual void run(const std::vector<ConsensusMap>& input_maps, ConsensusMap& result_map))) LabeledPairFinder pm; Param p; p.setValue("rt_estimate","false"); p.setValue("rt_pair_dist",0.4); p.setValue("rt_dev_low",1.0); p.setValue("rt_dev_high",2.0); p.setValue("mz_pair_dists",ListUtils::create<double>(4.0)); p.setValue("mz_dev",0.6); pm.setParameters(p); ConsensusMap output; TEST_EXCEPTION(Exception::IllegalArgument,pm.run(vector<ConsensusMap>(),output)); vector<ConsensusMap> input(1); MapConversion::convert(5,features,input[0]); output.getColumnHeaders()[5].label = "light"; output.getColumnHeaders()[5].filename = "filename"; output.getColumnHeaders()[8] = output.getColumnHeaders()[5]; output.getColumnHeaders()[8].label = "heavy"; pm.run(input,output); TEST_EQUAL(output.size(),1); ABORT_IF(output.size()!=1) TEST_REAL_SIMILAR(output[0].begin()->getMZ(),1.0f); TEST_REAL_SIMILAR(output[0].begin()->getRT(),1.0f); TEST_REAL_SIMILAR(output[0].rbegin()->getMZ(),5.0f); TEST_REAL_SIMILAR(output[0].rbegin()->getRT(),1.5f);