 |
OpenMS
3.0.0
|
|
Go to the documentation of this file.
87 if (data.empty())
return;
90 use_feature_rt_ = param_.getValue(
"use_feature_rt").toBool();
91 score_cutoff_ = param_.getValue(
"score_cutoff").toBool();
92 score_type_ = (std::string)param_.getValue(
"score_type");
93 bool sorted = getRetentionTimes_(data, rt_data);
94 computeMedians_(rt_data, reference_, sorted);
96 if (reference_.empty())
98 throw Exception::MissingInformation(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION,
"Could not extract retention time information from the reference file");
111 template <
typename DataType>
112 void align(std::vector<DataType>& data,
113 std::vector<TransformationDescription>& transformations,
114 Int reference_index = -1)
116 checkParameters_(data.size());
117 startProgress(0, 3,
"aligning maps");
119 reference_index_ = reference_index;
121 bool use_internal_reference = (reference_index >= 0);
122 if (use_internal_reference)
124 if (reference_index >=
Int(data.size()))
127 OPENMS_PRETTY_FUNCTION,
128 reference_index, data.size());
130 setReference(data[reference_index]);
134 std::vector<SeqToList> rt_data(data.size() - use_internal_reference);
135 bool all_sorted =
true;
136 for (
Size i = 0, j = 0; i < data.size(); ++i)
138 if ((reference_index >= 0) && (i ==
Size(reference_index)))
142 all_sorted &= getRetentionTimes_(data[i], rt_data[j++]);
146 computeTransformations_(rt_data, transformations, all_sorted);
197 void computeMedians_(SeqToList& rt_data, SeqToValue& medians,
198 bool sorted =
false);
208 bool getRetentionTimes_(std::vector<PeptideIdentification>& peptides,
230 bool getRetentionTimes_(
PeakMap& experiment, SeqToList& rt_data);
246 template <
typename MapType>
254 else if (features[0].getPeptideIdentifications()[0].isHigherScoreBetter())
256 better_ = [](
double a,
double b)
261 better_ = [](
double a,
double b)
266 feat_it != features.
end(); ++feat_it)
272 double rt_distance = std::numeric_limits<double>::max();
273 bool any_hit =
false;
274 for (std::vector<PeptideIdentification>::iterator pep_it =
275 feat_it->getPeptideIdentifications().begin(); pep_it !=
276 feat_it->getPeptideIdentifications().end(); ++pep_it)
278 if (!pep_it->getHits().empty())
281 double current_distance = fabs(pep_it->getRT() -
283 if (current_distance < rt_distance)
286 if (better_(pep_it->getHits()[0].getScore(), min_score_))
288 sequence = pep_it->getHits()[0].getSequence().toString();
289 rt_distance = current_distance;
295 if (any_hit) rt_data[sequence].push_back(feat_it->getRT());
299 getRetentionTimes_(feat_it->getPeptideIdentifications(), rt_data);
303 if (!use_feature_rt_ &&
304 param_.getValue(
"use_unassigned_peptides").toBool())
306 getRetentionTimes_(features.getUnassignedPeptideIdentifications(),
312 for (SeqToList::iterator rt_it = rt_data.begin(); rt_it != rt_data.end();
316 sort(rt_values.begin(), rt_values.end());
317 DoubleList::iterator it = unique(rt_values.begin(), rt_values.end());
318 rt_values.resize(it - rt_values.begin());
330 void computeTransformations_(std::vector<SeqToList>& rt_data,
331 std::vector<TransformationDescription>&
332 transforms,
bool sorted =
false);
341 void checkParameters_(
const Size runs);
348 void getReference_();
OpenMS identification format (.idXML)
Definition: FileTypes.h:64
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:242
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 ...
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
This class supports reading and writing of OMS files.
Definition: OMSFile.h:48
A method or algorithm argument contains illegal values.
Definition: Exception.h:648
std::map< String, double > SeqToValue
Type to store one representative retention time per peptide sequence.
Definition: MapAlignmentAlgorithmIdentification.h:159
Size min_run_occur_
Minimum number of runs a peptide must occur in.
Definition: MapAlignmentAlgorithmIdentification.h:168
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:70
File adapter for MzML files.
Definition: MzMLFile.h:57
A more convenient string class.
Definition: String.h:58
Iterator begin()
Definition: MSExperiment.h:150
std::vector< double > DoubleList
Vector of double precision real types.
Definition: ListUtils.h:62
In-Memory representation of a mass spectrometry run.
Definition: MSExperiment.h:70
OpenMS consensus map format (.consensusXML)
Definition: FileTypes.h:65
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:127
void startProgress(SignedSize begin, SignedSize end, const String &label) const
Initializes the progress display.
void setReference(DataType &data)
Definition: MapAlignmentAlgorithmIdentification.h:84
bool getRetentionTimes_(MapType &features, SeqToList &rt_data)
Collect retention time data from peptide IDs contained in feature maps or consensus maps.
Definition: MapAlignmentAlgorithmIdentification.h:247
#define OPENMS_LOG_WARN
Macro if a warning, a piece of information which should be read by the user, should be logged.
Definition: LogStream.h:460
void endProgress() const
Ends the progress display.
A parameter was accessed with the wrong type.
Definition: TOPPBase.h:102
A base class for all classes handling default parameters.
Definition: DefaultParamHandler.h:92
static DateTime now()
Returns the current date and time.
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:171
int Int
Signed integer type.
Definition: Types.h:102
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:47
std::vector< SpectrumType >::iterator Iterator
Mutable iterator.
Definition: MSExperiment.h:104
UInt64 getSize() const
returns the total number of peaks
virtual void align(std::vector< PeakMap > &, std::vector< TransformationDescription > &)
Align peak maps.
Information about software used for data processing.
Definition: ProcessingSoftware.h:48
OpenMS feature file (.featureXML)
Definition: FileTypes.h:63
Base class for all classes that want to report their progress.
Definition: ProgressLogger.h:52
double min_score_
Minimum score to reach for a peptide to be considered.
Definition: MapAlignmentAlgorithmIdentification.h:177
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:56
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:112
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)
String score_type_
Score type to use for filtering.
Definition: MapAlignmentAlgorithmIdentification.h:183
bool use_adducts_
Consider differently adducted IDs as different?
Definition: MapAlignmentAlgorithmIdentification.h:174
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:180
A map alignment algorithm based on spectrum similarity (dynamic programming).
Definition: MapAlignmentAlgorithmSpectrumAlignment.h:54
A container for consensus elements.
Definition: ConsensusMap.h:82
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.
const char * getName() const noexcept
Returns the name of the exception.
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:156
A map alignment algorithm based on peptide identifications from MS2 spectra.
Definition: MapAlignmentAlgorithmIdentification.h:72
Int overflow exception.
Definition: Exception.h:245
std::string toString(bool full_precision=true) const
Convert ParamValue to string.
int main(int argc, const char **argv)
Definition: INIFileEditor.cpp:71
Int reference_index_
Index of input file to use as reference (if any)
Definition: MapAlignmentAlgorithmIdentification.h:162
Representation of spectrum identification results and associated data.
Definition: IdentificationData.h:94
SeqToValue reference_
Reference retention times (per peptide sequence)
Definition: MapAlignmentAlgorithmIdentification.h:165
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:98
Param copy(const std::string &prefix, bool remove_prefix=false) const
Returns a new Param object containing all entries that start with prefix.
Iterator end()
Definition: MSExperiment.h:160
This class provides Input/Output functionality for feature maps.
Definition: FeatureXMLFile.h:62
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...
Data processing step that is applied to the data (e.g. database search, PEP calculation,...
Definition: ProcessingStep.h:47
void updateRanges() override
A map alignment algorithm based on peptide identifications from MS2 spectra.
Definition: MapAlignmentAlgorithmTreeGuided.h:70
Management and storage of parameters / INI files.
Definition: Param.h:69
#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.
const ParamValue & getValue(const std::string &key) const
Returns a value of a parameter.
void setReference(const MapType &map)
Sets the reference for the alignment.
Definition: MapAlignmentAlgorithmPoseClustering.h:87
DateTime Class.
Definition: DateTime.h:58
FeatureFileOptions & getOptions()
Mutable access to the options for loading/storing.
void load(const String &filename, IdentificationData &id_data)
Read in a OMS file and construct an IdentificationData object.
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:58
Used to load and store idXML files.
Definition: IdXMLFile.h:68
String newickTree(const std::vector< BinaryTreeNode > &tree, const bool include_distance=false)
Returns the hierarchy described by a clustering tree as Newick-String.
OpenMS database file.
Definition: FileTypes.h:114
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...