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

# libXpertMassCore Library Module

Contains non-GUI classes for the modelling of linear polymer chemistries. More...

## Classes

MsXpS::libXpertMassCore::Averagine | Features to use the Averagine concept
MsXpS::libXpertMassCore::CalcOptions | The specifications that configure the way masses are calculated for Oligomers, Polymers and product ions
MsXpS::libXpertMassCore::ChemicalGroup | Model for specifying the acido-basic behaviour of a chemical group of either a Monomer object or of a Modif object
MsXpS::libXpertMassCore::ChemicalGroupProp | Prop instance of which the member data points to a dynamically allocated ChemicalGroup instance
MsXpS::libXpertMassCore::ChemicalGroupRule | Model for refining the acido-basic behaviour of a chemical group of either a Monomer object or of a Modif object
MsXpS::libXpertMassCore::CleavageAgent | Model for specifying aqueous cleavage specifications (patterns) of Polymer Sequences
MsXpS::libXpertMassCore::CleavageConfig | 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
MsXpS::libXpertMassCore::CleavageMotif | Model for specifying aqueous cleavage motfis of Polymer Sequences
MsXpS::libXpertMassCore::CleavageRule | Model for specifying aqueous cleavage rules for refining cleavage agent specifications (CleavageAgent) of Polymer Sequences
MsXpS::libXpertMassCore::Cleaver | Model for performing aqueous cleavage reactions involving CleavageAgent objects and Polymer Sequences
MsXpS::libXpertMassCore::CrossLink | Abstractions to work with a cross-link entity between Monomer instances
MsXpS::libXpertMassCore::CrossLinkedRegion | Abstractions to work with cross-links and detect the region of oligomers that are linked together
MsXpS::libXpertMassCore::CrossLinker | Abstractions to define the chemical basis of a cross-linking reaction
MsXpS::libXpertMassCore::DoubleProp | The specialized class for properties that hold data in the form of double values
MsXpS::libXpertMassCore::Formula | Sophisticated abstractions to work with formulas
MsXpS::libXpertMassCore::FragmentationConfig | Derives from FragmentationPathway and adds functionality to configure the way the fragmentation occurs in the Oligomer Sequence
MsXpS::libXpertMassCore::FragmentationPathway | Model for specifying gas phase fragmentation pathways of Oligomer Sequences
MsXpS::libXpertMassCore::FragmentationRule | Model for specifying gas phase fragmentation rules for refining fragmentation pathway specifications (FragmentationPathway) of Oligomer Sequences
MsXpS::libXpertMassCore::Fragmenter | Model for performing gas phase fragmentation reactions involving FragmentationPathway objects and Polymer Sequences
MsXpS::libXpertMassCore::IndexRange | Range of indices that delimit a region of interest in a Polymer's Sequence instance
MsXpS::libXpertMassCore::IndexRangeCollection | Collection of IndexRange instances that enable delimiting Sequence regions of interest in a given Polymer instance
MsXpS::libXpertMassCore::IntProp | The specialized class for properties that hold data in the form of integer values
MsXpS::libXpertMassCore::Ionizer | Abstractions to ionize analytes
MsXpS::libXpertMassCore::Isotope | Models an isotope
MsXpS::libXpertMassCore::IsotopicClusterGenerator | The features needed to model isotopic clusters starting from (elemental-composition, charge) pairs. Neutral analytes can have their isotopic cluster modelle by setting the charge to 0
MsXpS::libXpertMassCore::IsotopicClusterShaper | The features needed to shape sets of (peak centroid m/z, intensity) pairs associated to a given charge into a mass spectral pappso;:Trace
MsXpS::libXpertMassCore::IsotopicData | Collection of Isotopes and associated methods to access them in various ways
MsXpS::libXpertMassCore::IsotopicDataBaseHandler | Features basic handling of IsotopicData
MsXpS::libXpertMassCore::IsotopicDataLibraryHandler | Handles IsotopicData from the IsoSpec element data tables directly from the library's data. These are the reference, pristine, unmodified, isotopic data
MsXpS::libXpertMassCore::IsotopicDataManualConfigHandler | Handles a peculiar kind of IsotopicData that cannot be handled with the other handlers
MsXpS::libXpertMassCore::IsotopicDataUserConfigHandler | Handles user-defined IsotopicData
MsXpS::libXpertMassCore::MassCollection | Container for masses (as double values) and for text representing thoses values
MsXpS::libXpertMassCore::MassDataCborBaseHandler | Features to handle mass spectrometric data using the CBOR (Concise Binary Object Representation) container streaming classes
MsXpS::libXpertMassCore::MassDataCborMassSpectrumHandler | Features to handle mass spectrum data using the CBOR (Concise Binary Object Representation) container streaming classes
MsXpS::libXpertMassCore::MassDataClient | Network client
MsXpS::libXpertMassCore::MassDataServer | Network server
MsXpS::libXpertMassCore::MassPeakShaper | The features needed to shape a mass peak
MsXpS::libXpertMassCore::MassPeakShaperConfig | The features required to configure the shaping of a mass peak centroid into a Gaussian or a Lorentzian fully profiled shape
MsXpS::libXpertMassCore::Modif | Abstractions to work with chemical modifications
MsXpS::libXpertMassCore::Monomer | Abstractions to work with monomers
MsXpS::libXpertMassCore::MonomerDictionary | Monomer code dictionary allowing the user to automatically translate Monomer codes from x-letter codes to y-letter codes. For example, a monomer dictionary file can define how to translate 3-letter monomer codes to 1-letter codes. This is typically useful when working on Protein Database (PDB) file
MsXpS::libXpertMassCore::NoDeletePointerProp | Pointer property
MsXpS::libXpertMassCore::Oligomer | Abstractions to work with an oligomer molecule (peptide or oligonucleotide, for example)
MsXpS::libXpertMassCore::OligomerCollection | Abstractions to work with Oligomer instances that have been produced in specific contexts, like Polymer cleavages or Oligomer fragmentations
MsXpS::libXpertMassCore::OligomerPair | Abstractions to work with a pair of Oligomer instances
MsXpS::libXpertMassCore::PkaPhPi | Model for specifying the acido-basic properties of a chemical entity
MsXpS::libXpertMassCore::PkaPhPiDataParser | File reader for the pKa, pH, pI data XML file
MsXpS::libXpertMassCore::PolChemDef | Complete set of chemical entities fully qualifying a polymer chemistry definition, like Proteins, Saccharides or Nucleic acids
MsXpS::libXpertMassCore::PolChemDefSpec | Metadata for accessing a given polymer chemistry definition's data on disk
MsXpS::libXpertMassCore::Polymer | Abstractions to work with a polymer molecule (protein or saccharide , for example)
MsXpS::libXpertMassCore::Prop | The abstract base class for a number of specialized properties
MsXpS::libXpertMassCore::PropListHolder | The base class for a number of classes that need storing Prop instances
MsXpS::libXpertMassCore::Sequence | Abstractions to work with a simple sequence of Monomers
MsXpS::libXpertMassCore::StringProp | The specialized class for properties that hold data in the form of string objects
MsXpS::libXpertMassCore::Utils | Number of utilitary features that may be of use anywhere in the XpertMass source code tree

## Detailed Description

The libXpertMassCore module provides classes to model all the chemical entities required to fully characterize the behaviour of polymer chemistries both in solution and in the gas phase. It offers both high-level classes such as Polymer and low-level classes such as Isotope. Other classes define how polymers of a given polymer chemistry might be modified, either in solution or in the gas phase (cleavages or fragmentations).

- Global variables, enums and functions,
- The property system,
- Polymer chemistry definition,
- Polymer chemistry building blocks,
- Aqueous chemical reactions,
- Gas-phase chemical reactions,
- libXpertMassCore Mass calculations: configuration of mass calculations, isotopic cluster calculations, peak shaping functions,
- libXpertMassCore Utilities: Network-related classes and other utilities.