libXpertMassCore and libXpertMassGui Developer Documentation
  • libXpertMassCore
  • AbstractLowMassDeconvolver
  • MsXpS::libXpertMassCore::Processing::AbstractLowMassDeconvolver Class

    class MsXpS::libXpertMassCore::Processing::AbstractLowMassDeconvolver

    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

    Public Functions

    AbstractLowMassDeconvolver(const MsXpS::libXpertMassCore::Processing::LowMassDeconvolverParameters &parameters)
    virtual ~AbstractLowMassDeconvolver()

    Protected Functions

    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

    Protected Variables

    MsXpS::libXpertMassCore::Processing::LowMassDeconvolverParameters m_params

    Detailed Description

    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).

    Member Function Documentation

    [explicit] AbstractLowMassDeconvolver::AbstractLowMassDeconvolver(const MsXpS::libXpertMassCore::Processing::LowMassDeconvolverParameters &parameters)

    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) const

    Converts 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) const

    Converts 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) const

    Iterates 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) const

    Creates 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) const

    Creates 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) const

    Returns 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) const

    Iterates 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.

    Member Variable Documentation

    MsXpS::libXpertMassCore::Processing::LowMassDeconvolverParameters AbstractLowMassDeconvolver::m_params

    This variable holds the LowMassDeconvolverParameters member.