| | |
The AbstractLowMassDeconvolver class manages the deconvolution of low mass analytes mass spectra. More...
| Header: | #include <MsXpS/libXpertMassCore/Processing/AbstractLowMassDeconvolver.hpp> |
| Inherited By: | MsXpS::libXpertMassCore::Processing::LowMassDeconvolverFullLabelling and MsXpS::libXpertMassCore::Processing::LowMassDeconvolverNoLabelling |
| AbstractLowMassDeconvolver(const MsXpS::libXpertMassCore::Processing::LowMassDeconvolverParameters ¶meters) | |
| virtual | ~AbstractLowMassDeconvolver() |
| pappso::Trace | collapseTheoreticalIsotopicCluster(const pappso::Trace &theoretical_cluster) const |
| pappso::Trace | convertFromNeutralToChargedIsotopicCluster(const pappso::Trace &neutral_isotopic_cluster, int charge) const |
| QList<MsXpS::libXpertMassCore::Processing::DeconvolutedFeature> | groupByNeutralMass(const std::vector<MsXpS::libXpertMassCore::Processing::ChargeSpecificFeature> &charge_specific_features) const |
| pappso::Trace | isotopicClusterForFormula(const QString &formula, double intensity) const |
| pappso::Trace | isotopicClusterForNeutralMass(double neutral_mass, double intensity, QString &message) const |
| double | neutralToMz(double neutral_mass, int charge) const |
| pappso::Trace | selectCandidatePeaks(const pappso::Trace &input_centroids) const |
| MsXpS::libXpertMassCore::Processing::LowMassDeconvolverParameters | m_params |
By low mass analytes, it is meant that the isotopic cluster they produce is shaped with the monoisotopic peak most intense of all.
In the protein chemistry field, small analytes are those that are contained in the [100 - 2000] dalton range.
The AbstractLowMassDeconvolver class serves as the base class to two classes specialized in the low mass deconvolution of mass spectra acquired either on natural isotopic abundance analytes (LowMassDeconvolverNoLabelling) or on analytes fully labelled with stable heavy isotopes (LowMassDeconvolverFullLabelling; which inverts the shape of the isotopic cluster while maintaining the monoisotopic isotopologue peak the most intense of all).
[explicit] AbstractLowMassDeconvolver::AbstractLowMassDeconvolver(const MsXpS::libXpertMassCore::Processing::LowMassDeconvolverParameters ¶meters)Constructs a LowMassDeconvolver instance using parameters.
The parameters structure members are used to initialize the isotopic data and the Averagine formula. Any failure to do so triggers qFatal() calls.
[virtual noexcept] AbstractLowMassDeconvolver::~AbstractLowMassDeconvolver()Destructs this instance.
[protected] pappso::Trace AbstractLowMassDeconvolver::collapseTheoreticalIsotopicCluster(const pappso::Trace &theoretical_cluster) constConverts the highly detailed (with hyperfine isotopic structure centroids) theoretical_cluster isotopic cluster into a cluster where very close peaks are merged (which is what is called the collapse). The new isotopic cluster is returned as a pappso::Trace.
See also BinnedIsotopicCentroid.
[protected] pappso::Trace AbstractLowMassDeconvolver::convertFromNeutralToChargedIsotopicCluster(const pappso::Trace &neutral_isotopic_cluster, int charge) constConverts the input neutral_isotopic_cluster into an isotopic cluster of charge and returns it as a new pappso::Trace.
See also neutralToMz.
[protected] QList<MsXpS::libXpertMassCore::Processing::DeconvolutedFeature> AbstractLowMassDeconvolver::groupByNeutralMass(const std::vector<MsXpS::libXpertMassCore::Processing::ChargeSpecificFeature> &charge_specific_features) constIterates in the each ChargeSpecificFeature in charge_specific_features and checks if multiple items in it correspond to the same neutral analyte.
The notion here is that a given analyte might be found as ions of different charges and the input centroids might thus have matched theoretical isotopic clusters generated from different ChargeSpecificFeature instances of the same analyte. Each time a ChargeSpecificFeature instance is iterated into, it triggers either the allocation of a new DeconvolutedFeature instance if no previous instance was found for the corresponding neutral mass, or the update of an existing instance if an instance already existed with the same neutral mass.
The created DeconvolutedFeature instances (neutral mass along with supporting ions) are returned in a container.
[protected] pappso::Trace AbstractLowMassDeconvolver::isotopicClusterForFormula(const QString &formula, double intensity) constCreates an isotopic cluster for formula with its intensity set to intensity and returns it as a pappso::Trace.
The IsotopicClusterGenerator used for the calculation is configured using the isotopic data provided in the m_params (LowMassDeconvolverParameters) Averagine member.
[protected] pappso::Trace AbstractLowMassDeconvolver::isotopicClusterForNeutralMass(double neutral_mass, double intensity, QString &message) constCreates an isotopic cluster for neutral_mass with the specified intensity and returns it as a pappso::Trace.
Any message that needs to be fed back to the caller is appended to message.
First, the neutral mass is used to establish a corresponding Averagine-based neutral formula. The formula is then used to create the isotopic cluster.
See also isotopicClusterForFormula.
[protected] double AbstractLowMassDeconvolver::neutralToMz(double neutral_mass, int charge) constReturns the m/z value calculated by ionizing neutral_mass with charge protons.
qFatal() is triggered if charge is 0.
return (neutral_mass + charge * PROTON_MASS) / charge;
[protected] pappso::Trace AbstractLowMassDeconvolver::selectCandidatePeaks(const pappso::Trace &input_centroids) constIterates in the input_centroids centroided mass spectrum and filters all the data points that have their m/z or intensity value outside of configured ranges (as defined in m_params).
Returns a new filtered pappso::Trace.
This variable holds the LowMassDeconvolverParameters member.