|  | OpenMS
    2.6.0
    | 
 
 
  
  
 
Go to the documentation of this file.
   86       if (data.empty()) 
return; 
 
   87       use_feature_rt_ = param_.getValue(
"use_feature_rt").toBool();
 
   89       bool sorted = getRetentionTimes_(data, rt_data);
 
   90       computeMedians_(rt_data, reference_, sorted);
 
   91       if (reference_.empty())
 
   93         throw Exception::MissingInformation(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, 
"Could not extract retention time information from the reference file");
 
  106     template <
typename DataType>
 
  107     void align(std::vector<DataType>& data,
 
  108                std::vector<TransformationDescription>& transformations,
 
  109                Int reference_index = -1)
 
  111       checkParameters_(data.size());
 
  112       startProgress(0, 3, 
"aligning maps");
 
  114       reference_index_ = reference_index;
 
  116       bool use_internal_reference = (reference_index >= 0);
 
  117       if (use_internal_reference)
 
  119         if (reference_index >= static_cast<Int>(data.size()))
 
  122                                          OPENMS_PRETTY_FUNCTION, reference_index,
 
  125         setReference(data[reference_index]);
 
  129       std::vector<SeqToList> rt_data(data.size() - use_internal_reference);
 
  130       bool all_sorted = 
true;
 
  131       for (
Size i = 0, j = 0; i < data.size(); ++i)
 
  133         if ((reference_index >= 0) && (i == 
Size(reference_index)))
 
  137         all_sorted &= getRetentionTimes_(data[i], rt_data[j++]);
 
  141       computeTransformations_(rt_data, transformations, all_sorted);
 
  186     void computeMedians_(SeqToList& rt_data, SeqToValue& medians,
 
  187                          bool sorted = 
false);
 
  197     bool getRetentionTimes_(std::vector<PeptideIdentification>& peptides,
 
  208     bool getRetentionTimes_(
PeakMap& experiment, SeqToList& rt_data);
 
  224     template <
typename MapType>
 
  232       else if (features[0].getPeptideIdentifications()[0].isHigherScoreBetter())
 
  234         better_ = [](
double a, 
double b)
 
  239         better_ = [](
double a, 
double b)
 
  244            feat_it != features.
end(); ++feat_it)
 
  250           double rt_distance = std::numeric_limits<double>::max();
 
  251           bool any_hit = 
false;
 
  252           for (std::vector<PeptideIdentification>::iterator pep_it =
 
  253                  feat_it->getPeptideIdentifications().begin(); pep_it !=
 
  254                  feat_it->getPeptideIdentifications().end(); ++pep_it)
 
  256             if (!pep_it->getHits().empty())
 
  259               double current_distance = fabs(pep_it->getRT() -
 
  261               if (current_distance < rt_distance)
 
  264                 if (better_(pep_it->getHits()[0].getScore(), min_score_))
 
  266                   sequence = pep_it->getHits()[0].getSequence().toString();
 
  267                   rt_distance = current_distance;
 
  273           if (any_hit) rt_data[sequence].push_back(feat_it->getRT());
 
  277           getRetentionTimes_(feat_it->getPeptideIdentifications(), rt_data);
 
  281       if (!use_feature_rt_ &&
 
  282           param_.getValue(
"use_unassigned_peptides").toBool())
 
  284         getRetentionTimes_(features.getUnassignedPeptideIdentifications(),
 
  290       for (SeqToList::iterator rt_it = rt_data.begin(); rt_it != rt_data.end();
 
  294         sort(rt_values.begin(), rt_values.end());
 
  295         DoubleList::iterator it = unique(rt_values.begin(), rt_values.end());
 
  296         rt_values.resize(it - rt_values.begin());
 
  308     void computeTransformations_(std::vector<SeqToList>& rt_data,
 
  309                                  std::vector<TransformationDescription>&
 
  310                                  transforms, 
bool sorted = 
false);
 
  319     void checkParameters_(
const Size runs);
 
  327     void getReference_();
 
  
OpenMS identification format (.idXML)
Definition: FileTypes.h:66
void setProgress(SignedSize value) const
Sets the current progress.
Representation of an experimental design in OpenMS. Instances can be loaded with the ExperimentalDesi...
Definition: ExperimentalDesign.h:243
static void buildTree(std::vector< FeatureMap > &feature_maps, std::vector< BinaryTreeNode > &tree, std::vector< std::vector< double >> &maps_ranges)
Extract RTs given for individual features of each map, calculate distances for each pair of maps and ...
Param copy(const String &prefix, bool remove_prefix=false) const
Returns a new Param object containing all entries that start with prefix.
static ExperimentalDesign load(const String &tsv_file, bool require_spectra_files)
Loads an experimental design from a tabular separated file.
Options for loading files containing features.
Definition: FeatureFileOptions.h:46
std::map< String, double > SeqToValue
Type to store one representative retention time per peptide sequence.
Definition: MapAlignmentAlgorithmIdentification.h:154
Size min_run_occur_
Minimum number of runs a peptide must occur in.
Definition: MapAlignmentAlgorithmIdentification.h:163
Retention time alignment of different maps.
Definition: DataProcessing.h:68
std::map< unsigned int, std::vector< String > > getFractionToMSFilesMapping() const
return fraction index to file paths (ordered by fraction_group)
void store(const String &filename, const PeakMap &map) const
Stores a map in an MzML file.
MzML file (.mzML)
Definition: FileTypes.h:72
File adapter for MzML files.
Definition: MzMLFile.h:55
A more convenient string class.
Definition: String.h:59
Iterator begin()
Definition: MSExperiment.h:157
std::vector< double > DoubleList
Vector of double precision real types.
Definition: ListUtils.h:62
In-Memory representation of a mass spectrometry experiment.
Definition: MSExperiment.h:77
OpenMS consensus map format (.consensusXML)
Definition: FileTypes.h:67
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:127
const DataValue & getValue(const String &key) const
Returns a value of a parameter.
void startProgress(SignedSize begin, SignedSize end, const String &label) const
Initializes the progress display.
void setReference(DataType &data)
Definition: MapAlignmentAlgorithmIdentification.h:83
bool getRetentionTimes_(MapType &features, SeqToList &rt_data)
Collect retention time data ("RT" MetaInfo) from peptide IDs contained in feature maps or consensus m...
Definition: MapAlignmentAlgorithmIdentification.h:225
void endProgress() const
Ends the progress display.
A base class for all classes handling default parameters.
Definition: DefaultParamHandler.h:92
void load(const String &filename, std::vector< ProteinIdentification > &protein_ids, std::vector< PeptideIdentification > &peptide_ids)
Loads the identifications of an idXML file without identifier.
bool use_feature_rt_
Use feature RT instead of RT from best peptide ID in the feature.
Definition: MapAlignmentAlgorithmIdentification.h:166
int Int
Signed integer type.
Definition: Types.h:102
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:46
std::vector< SpectrumType >::iterator Iterator
Mutable iterator.
Definition: MSExperiment.h:111
UInt64 getSize() const
returns the total number of peaks
virtual void align(std::vector< PeakMap > &, std::vector< TransformationDescription > &)
Align peak maps.
OpenMS feature file (.featureXML)
Definition: FileTypes.h:65
Base class for all classes that want to report their progress.
Definition: ProgressLogger.h:54
double min_score_
Minimum score to reach for a peptide to be considered.
Definition: MapAlignmentAlgorithmIdentification.h:169
void load(const String &filename, PeakMap &map)
Loads a map from a MzML file. Spectra and chromatograms are sorted by default (this can be disabled u...
Bundles analyzing tools for a clustering (given as sequence of BinaryTreeNode's)
Definition: ClusterAnalyzer.h:51
Size loadSize(const String &filename)
void load(const String &filename, FeatureMap &feature_map)
loads the file with name filename into map and calls updateRanges().
Type
Actual file types enum.
Definition: FileTypes.h:58
void align(const FeatureMap &map, TransformationDescription &trafo)
void align(std::vector< DataType > &data, std::vector< TransformationDescription > &transformations, Int reference_index=-1)
Align feature maps, consensus maps, peak maps, or peptide identifications.
Definition: MapAlignmentAlgorithmIdentification.h:107
void setOptions(const FeatureFileOptions &)
setter for options for loading/storing
static FileTypes::Type getType(const String &filename)
Tries to determine the file type (by name or content)
A map alignment algorithm based on pose clustering.
Definition: MapAlignmentAlgorithmPoseClustering.h:70
void setParameters(const Param ¶m)
Sets the parameters.
const Param & getParameters() const
Non-mutable access to the parameters.
bool score_cutoff_
Actually use the above defined score_cutoff? Needed since it is hard to define a non-cutting score fo...
Definition: MapAlignmentAlgorithmIdentification.h:172
A map alignment algorithm based on spectrum similarity (dynamic programming).
Definition: MapAlignmentAlgorithmSpectrumAlignment.h:54
A container for consensus elements.
Definition: ConsensusMap.h:80
std::vector< String > StringList
Vector of String.
Definition: ListUtils.h:70
void store(const String &filename, const FeatureMap &feature_map)
stores the map feature_map in file with name filename.
void load(const String &filename, ConsensusMap &map)
Loads a consensus map from file and calls updateRanges.
std::map< String, DoubleList > SeqToList
Type to store retention times given for individual peptide sequences.
Definition: MapAlignmentAlgorithmIdentification.h:151
A map alignment algorithm based on peptide identifications from MS2 spectra.
Definition: MapAlignmentAlgorithmIdentification.h:71
Int overflow exception.
Definition: Exception.h:254
int main(int argc, const char **argv)
Definition: INIFileEditor.cpp:73
Int reference_index_
Index of input file to use as reference (if any)
Definition: MapAlignmentAlgorithmIdentification.h:157
SeqToValue reference_
Reference retention times (per peptide sequence)
Definition: MapAlignmentAlgorithmIdentification.h:160
void setLoadSubordinates(bool sub)
#define OPENMS_LOG_ERROR
Macro to be used if non-fatal error are reported (processing continues)
Definition: LogStream.h:455
A container for features.
Definition: FeatureMap.h:97
Iterator end()
Definition: MSExperiment.h:167
This class provides Input/Output functionality for feature maps.
Definition: FeatureXMLFile.h:68
void computeTrafosByOriginalRT(std::vector< FeatureMap > &feature_maps, FeatureMap &map_transformed, std::vector< TransformationDescription > &transformations, const std::vector< Size > &trafo_order)
Extract original RT ("original_RT" MetaInfo) and transformed RT for each feature to compute RT transf...
const char * getMessage() const noexcept
Returns the message.
void updateRanges() override
Updates minimum and maximum position/intensity.
A map alignment algorithm based on peptide identifications from MS2 spectra.
Definition: MapAlignmentAlgorithmTreeGuided.h:71
Management and storage of parameters / INI files.
Definition: Param.h:73
#define OPENMS_LOG_INFO
Macro if a information, e.g. a status should be reported.
Definition: LogStream.h:465
void setLoadConvexHull(bool convex)
static void computeTransformedFeatureMaps(std::vector< FeatureMap > &feature_maps, const std::vector< TransformationDescription > &transformations)
Apply transformations on input maps.
void setReference(const MapType &map)
Sets the reference for the alignment.
Definition: MapAlignmentAlgorithmPoseClustering.h:87
FeatureFileOptions & getOptions()
Mutable access to the options for loading/storing.
void setLogType(LogType type) const
Sets the progress log that should be used. The default type is NONE!
bool sameNrOfMSFilesPerFraction() const
This class provides Input functionality for ConsensusMaps and Output functionality for alignments and...
Definition: ConsensusXMLFile.h:62
Used to load and store idXML files.
Definition: IdXMLFile.h:63
String newickTree(const std::vector< BinaryTreeNode > &tree, const bool include_distance=false)
Returns the hierarchy described by a clustering tree as Newick-String.
void treeGuidedAlignment(const std::vector< BinaryTreeNode > &tree, std::vector< FeatureMap > &feature_maps_transformed, std::vector< std::vector< double >> &maps_ranges, FeatureMap &map_transformed, std::vector< Size > &trafo_order)
Align feature maps tree guided using align() of OpenMS::MapAlignmentAlgorithmIdentification and use T...