libXpertMassCore and libXpertMassGui Developer Documentation
  • libXpertMassCore
  • FragmentationConfig
  • FragmentationConfig Class

    class MsXpS::libXpertMassCore::FragmentationConfig

    The FragmentationConfig class derives from FragmentationPathway and adds functionality to configure the way the fragmentation occurs in the Oligomer Sequence. More...

    Header: #include <FragmentationConfig.hpp>
    Inherits: MsXpS::libXpertMassCore::FragmentationPathway

    Public Functions

    FragmentationConfig(const MsXpS::libXpertMassCore::FragmentationPathway &fragmentation_pathway, int start_index = 0, int stop_index = 0, bool sequence_embedded = false)
    FragmentationConfig(MsXpS::libXpertMassCore::PolChemDefCstSPtr pol_chem_def_csp, const QString &name, const QString &formula, MsXpS::libXpertMassCore::Enums::FragEnd frag_end = Enums::FragEnd::NE, const QString &comment = QString(), bool sequence_embedded = false)
    FragmentationConfig(const MsXpS::libXpertMassCore::FragmentationConfig &other)
    virtual ~FragmentationConfig()
    bool addFormula(const MsXpS::libXpertMassCore::Formula &formula)
    bool addFormula(const QString &formula_string)
    const std::vector<MsXpS::libXpertMassCore::Formula> &getFormulasCstRef() const
    std::vector<MsXpS::libXpertMassCore::Formula> &getFormulasRef()
    std::size_t getStartIndex() const
    std::size_t getStartIonizeLevel() const
    std::size_t getStopIndex() const
    std::size_t getStopIonizeLevel() const
    bool isSequenceEmbedded() const
    void setIonizeLevels(std::size_t start, std::size_t stop)
    void setSequenceEmbedded(bool value)
    void setStartIndex(std::size_t index)
    void setStartIonizeLevel(std::size_t value)
    void setStopIndex(std::size_t index)
    void setStopIonizeLevel(std::size_t value)
    QString toString() const
    MsXpS::libXpertMassCore::FragmentationConfig &operator=(const MsXpS::libXpertMassCore::FragmentationConfig &other)

    Protected Variables

    std::vector<MsXpS::libXpertMassCore::Formula> m_formulas
    bool m_sequenceEmbedded
    std::size_t m_startIndex
    std::size_t m_startIonizeLevel
    std::size_t m_stopIndex
    std::size_t m_stopIonizeLevel

    Detailed Description

    Since an Oligomer is actually defined to merely be a monomer range in a given Polymer Sequence, the configuration handles the definition of the Polymer sequence region that needs to undergo fragmentation.

    Because the user might need to apply specific gas phase chemical reactions upon fragmentation of the Oligomer that are not defined per se in the FragmentationPathway, a container of formulas enables the application of any number of such chemical reactions for each fragmentation event. This is useful in any polymer chemistry definition, because most often the Oligomer undergoing fragmentation has loss of neutral ions decompositions like NH3 or H2O.

    The user might need to generate fragmentation ions that are of different ionization levels. This class provides settings for this eventuality.

    See also FragmentationPathway.

    Member Function Documentation

    FragmentationConfig::FragmentationConfig(const MsXpS::libXpertMassCore::FragmentationPathway &fragmentation_pathway, int start_index = 0, int stop_index = 0, bool sequence_embedded = false)

    Constructs a fragmentation configuration with a number of parameters.

    The PolChemDef member of the FragmentationPathway base class is tested. If it is nullptr, that is a fatal error.

    See also FragmentationPathway.

    FragmentationConfig::FragmentationConfig(MsXpS::libXpertMassCore::PolChemDefCstSPtr pol_chem_def_csp, const QString &name, const QString &formula, MsXpS::libXpertMassCore::Enums::FragEnd frag_end = Enums::FragEnd::NE, const QString &comment = QString(), bool sequence_embedded = false)

    Constructs a fragmentation configuration with a number of parameters.

    See also FragmentationPathway.

    FragmentationConfig::FragmentationConfig(const MsXpS::libXpertMassCore::FragmentationConfig &other)

    Constructs a fragmentation configuration as a copy of other.

    The PolChemDef member of the FragmentationPathway base class is tested. If it is nullptr, that is a fatal error.

    See also FragmentationPathway.

    [virtual noexcept] FragmentationConfig::~FragmentationConfig()

    Constructs this fragmentation configuration.

    bool FragmentationConfig::addFormula(const MsXpS::libXpertMassCore::Formula &formula)

    Adds a formula to the container of Formula instances.

    Returns true if the formula validated successfully, false otherwise.

    bool FragmentationConfig::addFormula(const QString &formula_string)

    Adds a Formula to the container of Formula instances using formula_string.

    const std::vector<MsXpS::libXpertMassCore::Formula> &FragmentationConfig::getFormulasCstRef() const

    Returns a const reference to the container of Formula instances.

    std::vector<MsXpS::libXpertMassCore::Formula> &FragmentationConfig::getFormulasRef()

    Returns a reference to the container of Formula instances.

    std::size_t FragmentationConfig::getStartIndex() const

    Returns the Oligomer start index in the Polymer Sequence.

    std::size_t FragmentationConfig::getStartIonizeLevel() const

    Returns the start value of the ionization range.

    std::size_t FragmentationConfig::getStopIndex() const

    Returns the Oligomer stop index in the Polymer Sequence.

    std::size_t FragmentationConfig::getStopIonizeLevel() const

    Returns the stop value of the ionization range.

    bool FragmentationConfig::isSequenceEmbedded() const

    Returns if the product ion Oligomer's sequence needs to be stored.

    void FragmentationConfig::setIonizeLevels(std::size_t start, std::size_t stop)

    Sets the start and stop values of the ionization range.

    void FragmentationConfig::setSequenceEmbedded(bool value)

    Sets if the product ion Oligomer's sequence needs to be stored to value.

    See also isSequenceEmbedded().

    void FragmentationConfig::setStartIndex(std::size_t index)

    Sets the Oligomer start index in the Polymer Sequence.

    void FragmentationConfig::setStartIonizeLevel(std::size_t value)

    Sets the start value of the ionization range.

    void FragmentationConfig::setStopIndex(std::size_t index)

    Sets the Oligomer stop index in the Polymer Sequence.

    void FragmentationConfig::setStopIonizeLevel(std::size_t value)

    Sets the stop value of the ionization range.

    QString FragmentationConfig::toString() const

    Returns a string describing this FragmentationConfig instance.

    MsXpS::libXpertMassCore::FragmentationConfig &FragmentationConfig::operator=(const MsXpS::libXpertMassCore::FragmentationConfig &other)

    Assigns other to this FragmentationConfig instance.

    Member Variable Documentation

    std::vector<MsXpS::libXpertMassCore::Formula> FragmentationConfig::m_formulas

    Container for Formula instances that describe additional decomposition reactions like those often observed in protein gas phase chemistry (loss of ammonia and/or of water).

    bool FragmentationConfig::m_sequenceEmbedded

    Specifies if the sequence of the fragments needs to be stored or not in the Oligomer fragments.

    std::size_t FragmentationConfig::m_startIndex

    This variable holds the index that delimits the start position (index) of the Polymer Sequence that defines the Oligomer undergoing fragmentation.

    std::size_t FragmentationConfig::m_startIonizeLevel

    This variable holds the first value of the ionization level range.

    std::size_t FragmentationConfig::m_stopIndex

    This variable holds the index that delimits the stop position (index) of the Polymer Sequence that defines the Oligomer undergoing fragmentation.

    std::size_t FragmentationConfig::m_stopIonizeLevel

    This variable holds the last value of the ionization level range.