Skip to content
Snippets Groups Projects
types.h 2.93 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 IdentificationEngine identification engine
 *
 */
enum class IdentificationEngine {
    unknown, ///< X!Tandem
    XTandem, ///< X!Tandem
    peptider ///< peptider
};

/** \def PeptideMatchParam peptide match specific parameters
 *
 */
enum class PeptideMatchParam {
    tandem_hyperscore ///< X!Tandem hyperscore
};

/** \def IdentificationEngineParam identification engine parameters
 *
 */
enum class IdentificationEngineParam {
    tandem_param ///< X!Tandem xml parameters file
};

/** \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 {
Olivier Langella's avatar
Olivier Langella committed
     unknown, ///< unknown format
     mzML, ///< mzML
     mzXML, ///< mzXML
Olivier Langella's avatar
Olivier Langella committed
     MGF, ///< 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
     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
Olivier Langella's avatar
Olivier Langella committed
/** \def ProteinListColumn list of available fields to display in protein list
 *
 */

enum class ProteinListColumn {
     checked, ///< manual checked
     group, ///< group id
     accession, ///< accession
     description, ///< protein description
     evalue, ///< Evalue
     spectrum, ///< spectrum count
     specific_spectrum, ///< specific spectrum count
     sequence, ///< unique sequence count
     specific_sequence, ///< specific unique sequence
     coverage, ///< protein coverage
     pai, ///< PAI
};

#endif /* _TYPES_H_ */