libXpertMass Developer Documentation
  • libXpertMass
  • CleaveMotif
  • CleaveMotif Class

    class MsXpS::libXpertMass::CleaveMotif

    The CleaveMotif class provides a model for specifying aqueous cleavage sites of Polymer Sequences. More...

    Header: #include <CleaveMotif.hpp>
    Inherits: MsXpS::libXpertMass::PolChemDefEntity

    Public Functions

    CleaveMotif(PolChemDefCstSPtr pol_chem_def_csp, QString name, const QString &motif = QString(), int offset = 0, bool is_for_cleavage = false)
    CleaveMotif(const CleaveMotif &other)
    virtual ~CleaveMotif()
    const QStringList &codeList() const
    bool isForCleave()
    const QString &motif()
    int offset()
    int parse(const QString &site)
    void setForCleave(bool for_cleave)
    void setMotif(const QString &motif)
    void setOffset(int offset)
    CleaveMotif &operator=(const CleaveMotif &other)

    Protected Variables

    QStringList m_codeList
    bool m_isForCleave
    QString m_motif
    int m_offset

    Detailed Description

    When a polymer sequence cleavage occurs, using, for example, the specification "Lys/;Arg/;-Lys/Pro", a number of actions need be performed prior to listing the oligomers obtained as a result of the cleavage.

    The "Lys/;Arg/;-Lys/Pro" cleavage specification (CleaveSpec) gets crunched in a number of steps and cleavage motifs are generated for it. In this specific case we'll have three motifs with the following data:

    - First motif (or cleavage site): - "Lys/" - code list [0] = "Lys" - offset = 1 ('/' indicates that cut is right of monomer) - is for cleavage ? = true

    - Second motif (or cleavage site): - "Arg/" - code list [0] = "Arg" - offset = 1 ('/' indicates that cut is right of monomer) - is for cleavage ? = true

    - Third motif (or non-cleavage site): - "-Lys/Pro" - code list [0] = "Lys", [1] = "Pro" - offset = 1 ('/' indicates that cut is right of monomer) - is for cleavage ? = false

    Thanks to this deconstruction (from "Lys/;Arg/;-Lys/Pro" to the 3 motifs above) is the polymer sequence cleaved according to the specification.

    See also CleaveSpec and CleaveRule.

    Member Function Documentation

    CleaveMotif::CleaveMotif(PolChemDefCstSPtr pol_chem_def_csp, QString name, const QString &motif = QString(), int offset = 0, bool is_for_cleavage = false)

    Constructs a cleavage motif.

    pol_chem_def_csp Polymer chemistry definition. Cannot be nullptr.

    name Name. Cannot be empty.

    motif Motif in the form of "Lys/" or "-Lys/Pro".

    offset Offset position of the cleavage to the first monomer code in the motif.

    is_for_cleavage Tells if motif is for cleavage (for example, "Lys/") or not for cleavage (for example, "-Lys/Pro").

    CleaveMotif::CleaveMotif(const CleaveMotif &other)

    Constructs a CleaveMotif instance as a copy of other.

    [virtual noexcept] CleaveMotif::~CleaveMotif()

    Destructs this CleaveMotif instance.

    const QStringList &CleaveMotif::codeList() const

    Returns the string list of codes in the motif.

    bool CleaveMotif::isForCleave()

    Returns if motif is for cleavage.

    const QString &CleaveMotif::motif()

    Returns the motif.

    See also setMotif().

    int CleaveMotif::offset()

    Returns the offset.

    See also setOffset().

    int CleaveMotif::parse(const QString &site)

    Parses the cleavage site.

    Upon parsing of the cleavage site, this CleaveMotif instance is filled with data.

    Returns the number of monomer codes in the motif, or -1 upon error.

    void CleaveMotif::setForCleave(bool for_cleave)

    Sets if motif is for cleavage to for_cleave.

    See also isForCleave().

    void CleaveMotif::setMotif(const QString &motif)

    Sets the motif.

    See also motif().

    void CleaveMotif::setOffset(int offset)

    Sets the offset.

    See also offset().

    CleaveMotif &CleaveMotif::operator=(const CleaveMotif &other)

    Assigns other to this CleaveMotif instance.

    Returns a reference to this CleaveMotif instance.

    Member Variable Documentation

    QStringList CleaveMotif::m_codeList

    This variable holds the list of Monomer codes that are in the string motif.

    For the "-Lys/Pro" motif, also from the Trypsin cleavage specification, there are two codes: "Lys" and "Pro".

    bool CleaveMotif::m_isForCleave

    Tells if the motif is for cleavage.

    In the "Lys/" and "Arg/" motif, that would be true; for "-Lys/Pro", that would be false, because Trypsin does not cleave after a Lysil residue if it is followed by a Prolyl residue.

    QString CleaveMotif::m_motif

    This variable holds the string motif that describes a specific cleavage site.

    The "Lys/" cleavage motif is part of the cleavage specification that describes the model for the Trypsin cleavage in the proteinaceous world.

    int CleaveMotif::m_offset

    This variable holds the cleavage site offset with respect to the first monomer code of the motif.

    In the The "Lys/", "Arg/" and "-Lys/Pro" examples, the offset would be 1 for each motif, because each time the cleavage occurs after the first monomer code: Lys/, or Arg/ or Lys/Pro.