24#include <boost/numeric/conversion/cast.hpp>
36 namespace TargetedExperimentHelper
126 retention_time_unit(
RTUnit::SIZE_OF_RTUNIT),
127 retention_time_type(
RTType::SIZE_OF_RTTYPE),
128 retention_time_set_(false),
144 return CVTermListInterface::operator==(rhs) &&
146 retention_time_unit == rhs.retention_time_unit &&
147 retention_time_type == rhs.retention_time_type &&
148 retention_time_set_ == rhs.retention_time_set_ &&
149 retention_time_ == rhs.retention_time_;
154 return retention_time_set_;
158 retention_time_ = rt;
159 retention_time_set_ =
true;
164 return retention_time_;
197 return CVTermList::operator==(rhs) &&
200 charge_ == rhs.charge_ &&
201 charge_set_ == rhs.charge_set_;
241 return (!rts.empty() && rts[0].isRTset());
250 if (!hasRetentionTime())
253 "No retention time information available");
255 return rts[0].getRT();
261 if (!hasRetentionTime())
264 "No retention time information available");
266 return rts[0].retention_time_type;
272 if (!hasRetentionTime())
275 "No retention time information available");
277 return rts[0].retention_time_unit;
282 std::vector<RetentionTime>
rts;
286 bool charge_set_{
false};
287 double drift_time_{-1};
302 theoretical_mass(0.0)
313 return PeptideCompound::operator==(rhs) &&
315 smiles_string == rhs.smiles_string &&
316 theoretical_mass == rhs.theoretical_mass;
362 return PeptideCompound::operator==(rhs) &&
364 evidence == rhs.evidence &&
365 sequence == rhs.sequence &&
367 peptide_group_label_ == rhs.peptide_group_label_;
383 peptide_group_label_ = label;
389 return peptide_group_label_;
396 std::vector<Modification>
mods;
412 return CVTermList::operator==(rhs) &&
429 return CVTermList::operator==(rhs) &&
446 return CVTermList::operator==(rhs) &&
463 return CVTermList::operator==(rhs) &&
526 return CVTermListInterface::operator==(rhs) &&
552 return CVTermListInterface::operator==(rhs) &&
590 return configuration_list_;
595 configuration_list_.push_back(configuration);
600 return interpretation_list_;
605 interpretation_list_.push_back(interpretation);
610 return interpretation_list_.clear();
615 bool charge_set_{
false};
633 std::size_t seed = 0;
634 const auto& cv_terms = obj.getCVTerms();
635 for (
const auto& [accession, terms] : cv_terms)
638 for (
const auto& term : terms)
668 struct hash<
OpenMS::TargetedExperimentHelper::CV>
672 std::size_t seed = 0;
683 struct hash<
OpenMS::TargetedExperimentHelper::Protein>
696 struct hash<
OpenMS::TargetedExperimentHelper::RetentionTime>
715 struct hash<
OpenMS::TargetedExperimentHelper::PeptideCompound>
720 for (
const auto& rt : pc.rts)
736 struct hash<
OpenMS::TargetedExperimentHelper::Compound>
740 std::size_t seed = std::hash<OpenMS::TargetedExperimentHelper::PeptideCompound>{}(compound);
750 struct hash<
OpenMS::TargetedExperimentHelper::Peptide>
754 std::size_t seed = std::hash<OpenMS::TargetedExperimentHelper::PeptideCompound>{}(peptide);
755 for (
const auto& ref : peptide.protein_refs)
761 for (
const auto& mod : peptide.mods)
776 struct hash<
OpenMS::TargetedExperimentHelper::Contact>
788 struct hash<
OpenMS::TargetedExperimentHelper::Publication>
800 struct hash<
OpenMS::TargetedExperimentHelper::Instrument>
812 struct hash<
OpenMS::TargetedExperimentHelper::Prediction>
825 struct hash<
OpenMS::TargetedExperimentHelper::Interpretation>
839 struct hash<
OpenMS::TargetedExperimentHelper::TraMLProduct>
845 if (product.hasCharge())
851 for (
const auto& config : product.getConfigurationList())
856 for (
const auto& validation : config.validations)
861 for (
const auto& interp : product.getInterpretationList())
863 OpenMS::hash_combine(seed, std::hash<OpenMS::TargetedExperimentHelper::Interpretation>{}(interp));
Representation of a peptide/protein sequence.
Definition AASequence.h:88
Interface to the controlled vocabulary term list.
Definition CVTermListInterface.h:34
Representation of controlled vocabulary term list.
Definition CVTermList.h:29
bool operator==(const CVTermList &cv_term_list) const
equality operator
A method or algorithm argument contains illegal values.
Definition Exception.h:630
Representation of an amino acid residue.
Definition Residue.h:40
ResidueType
Definition Residue.h:152
A more convenient string class.
Definition String.h:34
Represents a compound (small molecule)
Definition TargetedExperimentHelper.h:298
String molecular_formula
Definition TargetedExperimentHelper.h:319
double theoretical_mass
Definition TargetedExperimentHelper.h:321
Compound(const Compound &)=default
Compound(Compound &&) noexcept=default
String smiles_string
Definition TargetedExperimentHelper.h:320
Compound()
Definition TargetedExperimentHelper.h:301
Base class to represent either a peptide or a compound.
Definition TargetedExperimentHelper.h:187
std::vector< RetentionTime > rts
Definition TargetedExperimentHelper.h:282
bool hasRetentionTime() const
Check whether compound or peptide has an annotated retention time.
Definition TargetedExperimentHelper.h:239
double getRetentionTime() const
Gets compound or peptide retention time.
Definition TargetedExperimentHelper.h:248
PeptideCompound(const PeptideCompound &)=default
String id
Definition TargetedExperimentHelper.h:281
int getChargeState() const
Return the peptide or compound charge state.
Definition TargetedExperimentHelper.h:218
PeptideCompound(PeptideCompound &&) noexcept=default
void setChargeState(int charge)
Set the peptide or compound charge state.
Definition TargetedExperimentHelper.h:205
RetentionTime::RTType getRetentionTimeType() const
Get compound or peptide retentiontime type.
Definition TargetedExperimentHelper.h:259
PeptideCompound()=default
bool hasCharge() const
Whether peptide or compound has set charge state.
Definition TargetedExperimentHelper.h:212
RetentionTime::RTUnit getRetentionTimeUnit() const
Get compound or peptide retentiontime unit (minute/seconds)
Definition TargetedExperimentHelper.h:270
double getDriftTime() const
Return the peptide or compound ion mobility drift time.
Definition TargetedExperimentHelper.h:231
void setDriftTime(double dt)
Set the peptide or compound ion mobility drift time.
Definition TargetedExperimentHelper.h:225
Represents a peptide (amino acid sequence)
Definition TargetedExperimentHelper.h:335
String getPeptideGroupLabel() const
Get the peptide group label.
Definition TargetedExperimentHelper.h:387
String sequence
Definition TargetedExperimentHelper.h:395
Peptide(const Peptide &)=default
CVTermList evidence
Definition TargetedExperimentHelper.h:394
std::vector< Modification > mods
Definition TargetedExperimentHelper.h:396
std::vector< String > protein_refs
Definition TargetedExperimentHelper.h:393
void setPeptideGroupLabel(const String &label)
Set the peptide group label.
Definition TargetedExperimentHelper.h:381
Peptide(Peptide &&) noexcept=default
String peptide_group_label_
Definition TargetedExperimentHelper.h:399
This class stores a retention time structure that is used in TargetedExperiment (representing a TraML...
Definition TargetedExperimentHelper.h:101
double getRT() const
Definition TargetedExperimentHelper.h:161
String software_ref
Definition TargetedExperimentHelper.h:167
RetentionTime(RetentionTime &&) noexcept=default
bool retention_time_set_
Definition TargetedExperimentHelper.h:173
RetentionTime(const RetentionTime &)=default
RTUnit
Definition TargetedExperimentHelper.h:105
RTType
Definition TargetedExperimentHelper.h:113
RetentionTime()
Definition TargetedExperimentHelper.h:123
RTUnit retention_time_unit
Definition TargetedExperimentHelper.h:168
RTType retention_time_type
Definition TargetedExperimentHelper.h:169
double retention_time_
Definition TargetedExperimentHelper.h:174
bool isRTset() const
Definition TargetedExperimentHelper.h:152
void setRT(double rt)
Definition TargetedExperimentHelper.h:156
int32_t Int32
Signed integer type (32bit)
Definition Types.h:26
#define OPENMS_PRECONDITION(condition, message)
Precondition macro.
Definition openms/include/OpenMS/CONCEPT/Macros.h:94
bool operator==(const IDBoostGraph::ProteinGroup &lhs, const IDBoostGraph::ProteinGroup &rhs)
OpenMS::AASequence getAASequence(const Peptide &peptide)
helper function that converts a Peptide object to a AASequence object
void setModification(int location, int max_size, const String &modification, OpenMS::AASequence &aas)
helper function that sets a modification on a AASequence object
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
@ UNKNOWN
ion mobility format not yet determined.
std::size_t hashCVTermList(const CVTermList &cvtl) noexcept
Definition TargetedExperimentHelper.h:657
std::size_t hash_int(T value) noexcept
Hash for an integer type.
Definition HashUtils.h:107
void hash_combine(std::size_t &seed, std::size_t value) noexcept
Combine a hash value with additional data using golden ratio mixing.
Definition HashUtils.h:87
std::size_t hash_float(T value) noexcept
Hash for a floating point type (float or double).
Definition HashUtils.h:142
std::size_t fnv1a_hash_string(const std::string &s) noexcept
FNV-1a hash for a string.
Definition HashUtils.h:70
std::size_t hashCVTerms(const T &obj) noexcept
Helper template to hash any type with getCVTerms() method (CVTermList, CVTermListInterface)
Definition TargetedExperimentHelper.h:631
std::size_t hashCVTermListInterface(const CVTermListInterface &cvtli) noexcept
Definition TargetedExperimentHelper.h:658
Definition TargetedExperimentHelper.h:48
String fullname
Definition TargetedExperimentHelper.h:59
bool operator==(const CV &cv) const
Definition TargetedExperimentHelper.h:63
String version
Definition TargetedExperimentHelper.h:60
String id
Definition TargetedExperimentHelper.h:58
CV(const String &new_id, const String &new_fullname, const String &new_version, const String &new_URI)
Definition TargetedExperimentHelper.h:49
String URI
Definition TargetedExperimentHelper.h:61
Definition TargetedExperimentHelper.h:41
String instrument_ref
Definition TargetedExperimentHelper.h:43
std::vector< CVTermList > validations
Definition TargetedExperimentHelper.h:44
String contact_ref
Definition TargetedExperimentHelper.h:42
Definition TargetedExperimentHelper.h:438
bool operator==(const Instrument &rhs) const
Definition TargetedExperimentHelper.h:444
String id
Definition TargetedExperimentHelper.h:450
Instrument()
Definition TargetedExperimentHelper.h:439
Product ion interpretation.
Definition TargetedExperimentHelper.h:480
IonType iontype
which type of ion (b/y/z/ ...), see Residue::ResidueType
Definition TargetedExperimentHelper.h:510
bool operator!=(const Interpretation &rhs) const
Definition TargetedExperimentHelper.h:532
Interpretation()
Definition TargetedExperimentHelper.h:513
Residue::ResidueType IonType
Interpretation IonType.
Definition TargetedExperimentHelper.h:506
bool operator==(const Interpretation &rhs) const
Definition TargetedExperimentHelper.h:524
unsigned char ordinal
MS:1000903 : product ion series ordinal (e.g. 8 for a y8 ion)
Definition TargetedExperimentHelper.h:508
unsigned char rank
MS:1000926 : product interpretation rank (e.g. 1 for the most likely rank)
Definition TargetedExperimentHelper.h:509
Definition TargetedExperimentHelper.h:339
Int32 unimod_id
Definition TargetedExperimentHelper.h:343
double mono_mass_delta
Definition TargetedExperimentHelper.h:341
double avg_mass_delta
Definition TargetedExperimentHelper.h:340
Int32 location
Definition TargetedExperimentHelper.h:342
Modification()
Definition TargetedExperimentHelper.h:345
Definition TargetedExperimentHelper.h:455
String software_ref
Definition TargetedExperimentHelper.h:468
Prediction()
Definition TargetedExperimentHelper.h:456
String contact_ref
Definition TargetedExperimentHelper.h:469
bool operator==(const Prediction &rhs) const
Definition TargetedExperimentHelper.h:461
Definition TargetedExperimentHelper.h:75
String sequence
Definition TargetedExperimentHelper.h:85
String id
Definition TargetedExperimentHelper.h:84
bool operator==(const Protein &rhs) const
Definition TargetedExperimentHelper.h:77
Definition TargetedExperimentHelper.h:421
bool operator==(const Publication &rhs) const
Definition TargetedExperimentHelper.h:427
String id
Definition TargetedExperimentHelper.h:433
Publication()
Definition TargetedExperimentHelper.h:422
Represents a product ion.
Definition TargetedExperimentHelper.h:548
void resetInterpretations()
Definition TargetedExperimentHelper.h:608
void addConfiguration(const Configuration &configuration)
Definition TargetedExperimentHelper.h:593
void addInterpretation(const Interpretation &interpretation)
Definition TargetedExperimentHelper.h:603
const std::vector< Configuration > & getConfigurationList() const
Definition TargetedExperimentHelper.h:588
void setMZ(double mz)
Definition TargetedExperimentHelper.h:583
const std::vector< Interpretation > & getInterpretationList() const
Definition TargetedExperimentHelper.h:598
int getChargeState() const
Definition TargetedExperimentHelper.h:572
bool charge_set_
Whether product ion charge is set or not.
Definition TargetedExperimentHelper.h:615
void setChargeState(int charge)
Definition TargetedExperimentHelper.h:560
std::vector< Configuration > configuration_list_
Product ion configurations used.
Definition TargetedExperimentHelper.h:617
int charge_
Product ion charge.
Definition TargetedExperimentHelper.h:614
bool hasCharge() const
Whether product has set charge state.
Definition TargetedExperimentHelper.h:567
std::vector< Interpretation > interpretation_list_
Product ion interpretation.
Definition TargetedExperimentHelper.h:618
bool operator==(const TraMLProduct &rhs) const
Definition TargetedExperimentHelper.h:550
double mz_
Product ion m/z.
Definition TargetedExperimentHelper.h:616
double getMZ() const
Definition TargetedExperimentHelper.h:578
std::size_t operator()(const OpenMS::TargetedExperimentHelper::CV &cv) const noexcept
Definition TargetedExperimentHelper.h:670
std::size_t operator()(const OpenMS::TargetedExperimentHelper::Compound &compound) const noexcept
Definition TargetedExperimentHelper.h:738
std::size_t operator()(const OpenMS::TargetedExperimentHelper::Instrument &inst) const noexcept
Definition TargetedExperimentHelper.h:802
std::size_t operator()(const OpenMS::TargetedExperimentHelper::Interpretation &interp) const noexcept
Definition TargetedExperimentHelper.h:827
std::size_t operator()(const OpenMS::TargetedExperimentHelper::PeptideCompound &pc) const noexcept
Definition TargetedExperimentHelper.h:717
std::size_t operator()(const OpenMS::TargetedExperimentHelper::Peptide &peptide) const noexcept
Definition TargetedExperimentHelper.h:752
std::size_t operator()(const OpenMS::TargetedExperimentHelper::Prediction &pred) const noexcept
Definition TargetedExperimentHelper.h:814
std::size_t operator()(const OpenMS::TargetedExperimentHelper::Protein &protein) const noexcept
Definition TargetedExperimentHelper.h:685
std::size_t operator()(const OpenMS::TargetedExperimentHelper::Publication &pub) const noexcept
Definition TargetedExperimentHelper.h:790
std::size_t operator()(const OpenMS::TargetedExperimentHelper::RetentionTime &rt) const noexcept
Definition TargetedExperimentHelper.h:698
std::size_t operator()(const OpenMS::TargetedExperimentHelper::TraMLProduct &product) const noexcept
Definition TargetedExperimentHelper.h:841