 |
OpenMS
2.4.0
|
Go to the documentation of this file.
85 if (data.empty())
return;
87 bool sorted = getRetentionTimes_(data, rt_data);
88 computeMedians_(rt_data, reference_, sorted);
89 if (reference_.empty())
91 throw Exception::MissingInformation(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION,
"Could not extract retention time information from the reference file");
102 template <
typename DataType>
103 void align(std::vector<DataType>& data,
104 std::vector<TransformationDescription>& transformations,
105 Int reference_index = -1)
107 checkParameters_(data.size());
108 startProgress(0, 3,
"aligning maps");
110 reference_index_ = reference_index;
112 bool use_internal_reference = (reference_index >= 0);
113 if (use_internal_reference)
115 if (reference_index >= data.size())
118 OPENMS_PRETTY_FUNCTION, reference_index,
121 setReference(data[reference_index]);
125 std::vector<SeqToList> rt_data(data.size() - use_internal_reference);
126 bool all_sorted =
true;
127 for (
Size i = 0, j = 0; i < data.size(); ++i)
129 if ((reference_index >= 0) && (i ==
Size(reference_index)))
133 all_sorted &= getRetentionTimes_(data[i], rt_data[j++]);
137 computeTransformations_(rt_data, transformations, all_sorted);
171 bool sorted =
false);
181 bool getRetentionTimes_(std::vector<PeptideIdentification>& peptides,
206 template <
typename MapType>
209 bool use_feature_rt = param_.getValue(
"use_feature_rt").toBool();
211 feat_it != features.
end(); ++feat_it)
217 double rt_distance = std::numeric_limits<double>::max();
218 bool any_hit =
false;
219 for (std::vector<PeptideIdentification>::iterator pep_it =
220 feat_it->getPeptideIdentifications().begin(); pep_it !=
221 feat_it->getPeptideIdentifications().end(); ++pep_it)
223 if (!pep_it->getHits().empty())
226 double current_distance = fabs(pep_it->getRT() -
228 if (current_distance < rt_distance)
231 sequence = pep_it->getHits()[0].getSequence().toString();
232 rt_distance = current_distance;
237 if (any_hit) rt_data[sequence].push_back(feat_it->getRT());
241 getRetentionTimes_(feat_it->getPeptideIdentifications(), rt_data);
245 if (!use_feature_rt &&
246 param_.getValue(
"use_unassigned_peptides").toBool())
248 getRetentionTimes_(features.getUnassignedPeptideIdentifications(),
254 for (SeqToList::iterator rt_it = rt_data.begin(); rt_it != rt_data.end();
258 sort(rt_values.begin(), rt_values.end());
259 DoubleList::iterator it = unique(rt_values.begin(), rt_values.end());
260 rt_values.resize(it - rt_values.begin());
272 void computeTransformations_(std::vector<SeqToList>& rt_data,
273 std::vector<TransformationDescription>&
274 transforms,
bool sorted =
false);
283 void checkParameters_(
const Size runs);
291 void getReference_();
@ IDXML
OpenMS identification format (.idXML)
Definition: FileTypes.h:66
void setProgress(SignedSize value) const
Sets the current progress.
Representation of the Experimental Design in OpenMS. Instances can be loaded via the ExperimentalDesi...
Definition: ExperimentalDesign.h:85
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.
std::map< String, double > SeqToValue
Type to store one representative retention time per peptide sequence.
Definition: MapAlignmentAlgorithmIdentification.h:150
Size min_run_occur_
Minimum number of runs a peptide must occur in.
Definition: MapAlignmentAlgorithmIdentification.h:159
@ ALIGNMENT
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
MzML file (.mzML)
Definition: FileTypes.h:72
File adapter for MzML files.
Definition: MzMLFile.h:55
A more convenient string class.
Definition: String.h:57
Iterator begin()
Definition: MSExperiment.h:157
std::vector< double > DoubleList
Vector of double precision real types.
Definition: ListUtils.h:65
In-Memory representation of a mass spectrometry experiment.
Definition: MSExperiment.h:77
@ CONSENSUSXML
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
#define LOG_INFO
Macro if a information, e.g. a status should be reported.
Definition: LogStream.h:454
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:82
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:207
void endProgress() const
Ends the progress display.
A base class for all classes handling default parameters.
Definition: DefaultParamHandler.h:91
void load(const String &filename, std::vector< ProteinIdentification > &protein_ids, std::vector< PeptideIdentification > &peptide_ids)
Loads the identifications of an idXML file without identifier.
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.
@ FEATUREXML
OpenMS feature file (.featureXML)
Definition: FileTypes.h:65
Base class for all classes that want to report their progress.
Definition: ProgressLogger.h:54
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...
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:103
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.
A map alignment algorithm based on spectrum similarity (dynamic programming).
Definition: MapAlignmentAlgorithmSpectrumAlignment.h:54
A container for consensus elements.
Definition: ConsensusMap.h:75
std::vector< String > StringList
Vector of String.
Definition: ListUtils.h:73
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:147
A map alignment algorithm based on peptide identifications from MS2 spectra.
Definition: MapAlignmentAlgorithmIdentification.h:70
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:153
void store(String filename, const std::vector< ProteinIdentification > &protein_ids, const std::vector< PeptideIdentification > &peptide_ids, const String &document_id="")
Stores the data in an idXML file.
SeqToValue reference_
Reference retention times (per peptide sequence)
Definition: MapAlignmentAlgorithmIdentification.h:156
void setLoadSubordinates(bool sub)
A container for features.
Definition: FeatureMap.h:93
Iterator end()
Definition: MSExperiment.h:167
This class provides Input/Output functionality for feature maps.
Definition: FeatureXMLFile.h:68
void updateRanges() override
Updates minimum and maximum position/intensity.
Management and storage of parameters / INI files.
Definition: Param.h:74
void setLoadConvexHull(bool convex)
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:61
Used to load and store idXML files.
Definition: IdXMLFile.h:63