void MapAlignmentTransformer::applyToConsensusFeature_( ConsensusFeature& feature, const TransformationDescription& trafo, bool store_original_rt) { applyToBaseFeature_(feature, trafo, store_original_rt); // apply to grouped features (feature handles): for (ConsensusFeature::HandleSetType::const_iterator it = feature.getFeatures().begin(); it != feature.getFeatures().end(); ++it) { double rt = it->getRT(); it->asMutable().setRT(trafo.apply(rt)); } }
void MapAlignmentTransformer::applyToConsensusFeature_(ConsensusFeature & feature, const TransformationDescription & trafo) { typedef ConsensusFeature::HandleSetType::const_iterator TConstHandleSetIterator; applyToBaseFeature_(feature, trafo); // apply to grouped features (feature handles): for (TConstHandleSetIterator it = feature.getFeatures().begin(); it != feature.getFeatures().end(); ++it) { DoubleReal rt = it->getRT(); it->asMutable().setRT(trafo.apply(rt)); } }
void EDTAFile::store(const String& filename, const ConsensusMap& map) const { TextFile tf; // search for maximum number of sub-features (since this determines the number of columns) Size max_sub(0); for (Size i = 0; i < map.size(); ++i) { max_sub = std::max(max_sub, map[i].getFeatures().size()); } // write header String header("RT\tm/z\tintensity\tcharge"); for (Size i = 1; i <= max_sub; ++i) { header += "\tRT" + String(i) + "\tm/z" + String(i) + "\tintensity" + String(i) + "\tcharge" + String(i); } tf.addLine(header); for (Size i = 0; i < map.size(); ++i) { ConsensusFeature f = map[i]; // consensus String entry = String(f.getRT()) + "\t" + f.getMZ() + "\t" + f.getIntensity() + "\t" + f.getCharge(); // sub-features ConsensusFeature::HandleSetType handle = f.getFeatures(); for (ConsensusFeature::HandleSetType::const_iterator it = handle.begin(); it != handle.end(); ++it) { entry += String("\t") + it->getRT() + "\t" + it->getMZ() + "\t" + it->getIntensity() + "\t" + it->getCharge(); } // missing sub-features for (Size j = handle.size(); j < max_sub; ++j) { entry += "\tNA\tNA\tNA\tNA"; } tf.addLine(entry); } tf.store(filename); }