Skip to content
Snippets Groups Projects
types.h 4.1 KiB
Newer Older

/*******************************************************************************
* Copyright (c) 2017 Olivier Langella <olivier.langella@u-psud.fr>.
*
* This file is part of XTPcpp.
*
*     XTPcpp is free software: you can redistribute it and/or modify
*     it under the terms of the GNU General Public License as published by
*     the Free Software Foundation, either version 3 of the License, or
*     (at your option) any later version.
*
*     XTPcpp is distributed in the hope that it will be useful,
*     but WITHOUT ANY WARRANTY; without even the implied warranty of
*     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*     GNU General Public License for more details.
*
*     You should have received a copy of the GNU General Public License
*     along with XTPcpp.  If not, see <http://www.gnu.org/licenses/>.
*
* Contributors:
*     Olivier Langella <olivier.langella@u-psud.fr> - initial API and implementation
******************************************************************************/


#ifndef _TYPES_H_
#define _TYPES_H_ 1

Olivier Langella's avatar
Olivier Langella committed
#include <cstdint>
/*********** enumerations *********************************/

/** \def ExternalDatabase external database references
 *
 */
Olivier Langella's avatar
Olivier Langella committed
enum class ExternalDatabase: std::int8_t {
Olivier Langella's avatar
Olivier Langella committed
    OboPsiMod =1, ///< OBO PSI MOD
    SwissProt =2, ///< Swiss-Prot
    TrEMBL=3, ///< TrEMBL
    AGI_LocusCode=4, ///< AGI_LocusCode
    NCBI_gi=5, ///< NCBI_gi
    ref=6 ///< ref
/** \def IdentificationEngine identification engine
 *
 */
enum class IdentificationEngine: std::int8_t {
    unknown=0, ///< X!Tandem
    XTandem=1, ///< X!Tandem
    mascot=2, ///< Mascot
    peptider=3 ///< peptider
/** \def PeptideEvidenceParam peptide evidence specific parameters
enum class PeptideEvidenceParam: std::int8_t {
    tandem_hyperscore=0 ///< X!Tandem hyperscore
/** \def IdentificationEngineParam identification engine parameters
 *
 */
enum class IdentificationEngineParam: std::int8_t {
    tandem_param=0 ///< X!Tandem xml parameters file

/** \def IdentificationEngineStatistics identification engine statistics
 *
 */
enum class IdentificationEngineStatistics: std::int8_t {
    total_spectra_assigned=1, ///< total_spectra_assigned in one identification file (one sample)
    total_spectra_used=2,///< total_spectra_used in one identification file (one sample)
    total_peptide_used=3,///< total number of peptides generated and used in identification
    total_proteins_used=4,///< total number of proteins generated and used in identification
    total_unique_assigned=5,///< total number unique peptide sequence assigned
};

/** \def MsRunStatistics MS run statistics
 *
 */
enum class MsRunStatistics: std::int8_t {
    total_spectra=1, ///< total number of spectra
    total_spectra_ms1=2,///< total number of MS1 spectra
    total_spectra_ms2=3,///< total number of MS2 spectra
    total_spectra_ms3=4,///< total number of MS3 spectra
};



/** \def XixExtactMethod method to extract Xic
 *
 */
enum class XicExtractMethod: std::int8_t {
    sum=1, ///< sum of intensities
    max=2 ///< maximum of intensities
/** \def ProjectMode separate each samples or combine all
 *
 */
enum class ProjectMode {
    individual, ///< separate each biological samples (2D spots for example)
    combined ///< combine every MS runs to get only one protein list
};


/** \def GroupingType list of available grouping algoritms
 *
 */
enum class GroupingType {
    PeptideMass, ///< protein grouper algo
    Phospho, ///< phospho peptides grouping
    SampleScan ///< X!TandemPipeline algo
};

/** \def MzFormat mz data file format types
 *
 */

enum class MzFormat: std::int8_t {
    unknown=0, ///< unknown format
    mzML=1, ///< mzML
    mzXML=2, ///< mzXML
    MGF=3, ///< Mascot format
Olivier Langella's avatar
Olivier Langella committed
/** \def ValidationState
 *
 */

Olivier Langella's avatar
Olivier Langella committed
enum class ValidationState: std::int8_t {
    notValid = 0,///< notValid : automatic filter validation failed
Olivier Langella's avatar
Olivier Langella committed
    valid =1, ///< valid : automatic filter validation passed
    validAndChecked=2, ///< validAndChecked : automatic filter validation passed + manual checking
    grouped=3 ///< grouped : automatic filter validation passed + manual checking + grouped
#endif /* _TYPES_H_ */