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
******************************************************************************/
/*********** enumerations *********************************/
/** \def ExternalDatabase external database references
*
*/
enum class ExternalDatabase : std::int8_t
{
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, ///< MS:1001476 X!Tandem was used to analyze the spectra.
mascot = 2, ///< MS:1001207 The name of the Mascot search engine.
peptider = 3, ///< peptider
OMSSA = 4, ///< MS:1001475 Open Mass Spectrometry Search Algorithm was used to
///< analyze the spectra.
SEQUEST = 5, ///< MS:1001208 The name of the SEQUEST search engine.
Comet = 6, ///< MS:1002251 Comet open-source sequence search engine developed
///< at the University of Washington. PMID:23148064
Morpheus = 7, ///< MS:1002661 "Morpheus search engine." [PMID:23323968]
MSGFplus =
8, ///< MS:1002048 "MS-GF+ software used to analyze the spectra." [PSI:PI]
/** \def PeptideEvidenceParam peptide evidence specific parameters
* is_a: MS:1001143 ! PSM-level search engine specific statistic
*/
enum class PeptideEvidenceParam : std::int8_t
{
tandem_hyperscore = 0, ///< X!Tandem hyperscore MS:1001331
tandem_expectation_value = 1, ///< X!Tandem expectation value MS:1001330
mascot_score = 2, ///< PSI-MS MS:1001171 mascot:score 56.16
mascot_expectation_value =
3, ///< PSI-MS MS:1001172 mascot:expectation value 2.42102904673618e-006
peptide_prophet_probability = 4, ///< no PSI MS description
peptide_inter_prophet_probability = 5, ///< no PSI MS description
omssa_evalue = 6, ///< MS:1001328 "OMSSA E-value." [PSI:PI]
omssa_pvalue = 7, ///< MS:1001329 "OMSSA p-value." [PSI:PI]
msgfplus_raw = 8, ///< MS:1002049 "MS-GF raw score." [PSI:PI]
msgfplus_denovo = 9, ///< MS:1002050 "MS-GF de novo score." [PSI:PI]
msgfplus_energy = 10, ///< MS:1002051 "MS-GF energy score." [PSI:PI]
msgfplus_SpecEValue = 11, ///< MS:1002052 "MS-GF spectral E-value." [PSI:PI]
msgfplus_EValue = 12, ///< MS:1002053 "MS-GF E-value." [PSI:PI]
msgfplus_isotope_error = 13, ///< MS-GF isotope error
comet_xcorr = 14, ///< MS:1002252 "The Comet result 'XCorr'." [PSI:PI]
comet_deltacn = 15, ///< MS:1002253 "The Comet result 'DeltaCn'." [PSI:PI]
comet_deltacnstar =
16, ///< MS:1002254 "The Comet result 'DeltaCnStar'." [PSI:PI]
comet_spscore = 17, ///< MS:1002255 "The Comet result 'SpScore'." [PSI:PI]
comet_sprank = 18, ///< MS:1002256 "The Comet result 'SpRank'." [PSI:PI]
comet_expectation_value =
19, ///< MS:1002257 "The Comet result 'Expectation value'." [PSI:PI]
};
/** \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
tic_spectra_ms1 = 5, ///< total ion current in MS1 spectra
tic_spectra_ms2 = 6, ///< total ion current in MS2 spectra
tic_spectra_ms3 = 7, ///< total ion current in MS3 spectra
/** \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
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
/** \def export fasta files
*
*/
enum class ExportFastaType : std::int8_t
{
all = 0, ///< all grouped proteins
oneBySubgroup = 1, ///< export only one by subgroup
oneByGroup = 2, ///< export only one by group
};
/** \def TableFileFormat file format of tables
*
*/
enum class TableFileFormat : std::int8_t
{
ods = 1, ///< Open Document Spreadsheet
tsv = 2, ///< tabulated separated values