| <large>libXpertMassCore and libXpertMassGui Developer Documentation</large>

- libXpertMassCore
- CleavageConfig

# MsXpS::libXpertMassCore::CleavageConfig Class

class MsXpS::libXpertMassCore::CleavageConfig

The CleavageConfig class derives from CleavageAgent to provide a model for specifying aqueous cleavage specifications (patterns) of Polymer Sequences along with instructions on the way the cleavage must occur. More...

Header: | `#include <CleavageConfig.hpp>`
Inherits: | MsXpS::libXpertMassCore::CleavageAgent

- List of all members, including inherited members
- CleavageConfig is part of Aqueous chemical reactions.

## Public Functions

| CleavageConfig(QObject *parent = nullptr)
| CleavageConfig(const MsXpS::libXpertMassCore::CleavageAgent &cleavage_agent, int partials = 0, bool is_sequence_embedded = false, QObject *parent = nullptr)
| CleavageConfig(MsXpS::libXpertMassCore::PolChemDefCstSPtr pol_chem_def_csp, const QString &name, const QString &pattern, int partials = 0, bool is_sequence_embedded = false, QObject *parent = nullptr)
| CleavageConfig(const MsXpS::libXpertMassCore::CleavageConfig &other, QObject *parent = nullptr)
virtual | ~CleavageConfig()
int | getPartials() const
int | getStartIonizeLevel() const
int | getStopIonizeLevel() const
bool | initialize(const MsXpS::libXpertMassCore::CleavageConfig &other)
bool | isSequenceEmbedded() const
bool | setCleavageAgent(const MsXpS::libXpertMassCore::CleavageAgent &cleavage_agent)
void | setIonizeLevels(int value1, int value2)
void | setPartials(int value)
void | setSequenceEmbedded(bool is_sequence_embedded)
void | setStartIonizeLevel(int value)
void | setStopIonizeLevel(int value)
bool | operator!=(const MsXpS::libXpertMassCore::CleavageConfig &other) const
bool | operator==(const MsXpS::libXpertMassCore::CleavageConfig &other) const

## Protected Variables

int | m_partials
bool | m_sequenceEmbedded
int | m_startIonizeLevel
int | m_stopIonizeLevel

## Detailed Description

Cleavage agent specifications determine the specificity of cleavage in a polymer sequence using a simple syntax. For example, Trypsin is able to cleave after lysyl and arginyl residues. Its cleavage pattern is thus "Lys/;Arg/". However, it is known that Trypsin fails to cleave after Lys if that monomer is followed by a Prolyl residue, thus the complete cleavage agent pattern specification for Trypsin is the following: "Lys/;Arg/;-Lys/Pro".

A cleavage agent specification might not be enough information to determine the manner in which a polymer is cleaved. Cleavage rules might be required to refine the specification. A cleavage agent specification might hold as many cleavage rules as required.

See also CleavageMotif and CleavageRule.

## Member Function Documentation

### `[invokable]` CleavageConfig::CleavageConfig(QObject *parent = nullptr)

Constructs an empty CleavageConfig instance.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

### `[invokable]` CleavageConfig::CleavageConfig(const MsXpS::libXpertMassCore::CleavageAgent &cleavage_agent, int partials = 0, bool is_sequence_embedded = false, QObject *parent = nullptr)

Constructs a CleavageConfig instance starting using a limited set of parameters.

cleavage_agent: CleavageAgent to be used to initialize the base class.

partials: the partial cleavages;

is_sequence_embedded: indicates if the Oligomer sequence needs to be stored.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

### `[invokable]` CleavageConfig::CleavageConfig(MsXpS::libXpertMassCore::PolChemDefCstSPtr pol_chem_def_csp, const QString &name, const QString &pattern, int partials = 0, bool is_sequence_embedded = false, QObject *parent = nullptr)

Constructs a CleavageConfig instance using a full set of parameters.

pol_chem_def_csp: the polymer chemistry definition.

name: the name of CleavageAgent;

pattern: the cleavage pattern of the CleavageAgent;

partials: the partial cleavages;

is_sequence_embedded: indicates if the Oligomer sequence needs to be stored.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

### `[invokable]` CleavageConfig::CleavageConfig(const MsXpS::libXpertMassCore::CleavageConfig &other, QObject *parent = nullptr)

Constructs a CleavageConfig instance as a copy of other

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

### `[virtual noexcept]` CleavageConfig::~CleavageConfig()

Destructs this CleavageConfig instance.

### int CleavageConfig::getPartials() const

Returns the partial cleavages.

Note: Getter function for property partials.

### int CleavageConfig::getStartIonizeLevel() const

Returns the ionization start level.

Note: Getter function for property startIonizeLevel.

### int CleavageConfig::getStopIonizeLevel() const

Returns the ionization stop level.

Note: Getter function for property stopIonizeLevel.

### `[invokable]` bool CleavageConfig::initialize(const MsXpS::libXpertMassCore::CleavageConfig &other)

Initializes this CleavageConfig instance using other.

If no initialization error occurred, return true, false otherwise.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

### bool CleavageConfig::isSequenceEmbedded() const

Returns the sequence embedded boolean value.

Note: Getter function for property sequenceEmbedded.

### `[invokable]` bool CleavageConfig::setCleavageAgent(const MsXpS::libXpertMassCore::CleavageAgent &cleavage_agent)

Sets this instance's CleavageAgent base class to cleavage_agent.

Returns true the CleavageAgent initialization succeeded, false otherwise.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

### `[invokable]` void CleavageConfig::setIonizeLevels(int value1, int value2)

Sets both the ionization start and stop levels to value1 and value2, respectively.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

### void CleavageConfig::setPartials(int value)

Set the partial cleavages to value.

Note: Setter function for property partials.

### void CleavageConfig::setSequenceEmbedded(bool is_sequence_embedded)

Sets the sequence embedded boolean value to is_sequence_embedded.

Note: Setter function for property sequenceEmbedded.

See also isSequenceEmbedded().

### void CleavageConfig::setStartIonizeLevel(int value)

Sets the ionization start level to value.

Note: Setter function for property startIonizeLevel.

### void CleavageConfig::setStopIonizeLevel(int value)

Sets the ionization stop level to value.

Note: Setter function for property stopIonizeLevel.

### bool CleavageConfig::operator!=(const MsXpS::libXpertMassCore::CleavageConfig &other) const

Returns true if this instance and other differ, false otherwise. Returns the negative value of opearator==().

See also operator==().

### bool CleavageConfig::operator==(const MsXpS::libXpertMassCore::CleavageConfig &other) const

Returns true if this CleavageConfig instance and other are identical, false otherwise.

See also operator!=().

## Member Variable Documentation

### int CleavageConfig::m_partials

This variable holds the partial cleavages accepted.

### bool CleavageConfig::m_sequenceEmbedded

Tells if the sequence of the obtained Oligomer instance need to embed their sequence.

### int CleavageConfig::m_startIonizeLevel

This variable holds the first ionization level of the range.

### int CleavageConfig::m_stopIonizeLevel

This variable holds the last ionization level of the range.