BamTools  2.5.1
SamConstants.h
Go to the documentation of this file.
1 // ***************************************************************************
2 // SamConstants.h (c) 2010 Derek Barnett
3 // Marth Lab, Department of Biology, Boston College
4 // ---------------------------------------------------------------------------
5 // Last modified: 27 March 2012 (DB)
6 // ---------------------------------------------------------------------------
7 // Provides constants for SAM header
8 // ***************************************************************************
9 
10 #ifndef SAM_CONSTANTS_H
11 #define SAM_CONSTANTS_H
12 
13 #include <string>
14 #include "api/api_global.h"
15 
16 namespace BamTools {
17 namespace Constants {
18 
19 // basic char constants used in SAM format
20 const char SAM_COLON = ':';
21 const char SAM_EQUAL = '=';
22 const char SAM_PERIOD = '.';
23 const char SAM_STAR = '*';
24 const char SAM_TAB = '\t';
25 const std::string SAM_DIGITS = "0123456789";
26 
27 const std::string SAM_CURRENT_VERSION = "1.4";
28 
29 // HD entries
30 const std::string SAM_HD_BEGIN_TOKEN = "@HD";
31 const std::string SAM_HD_VERSION_TAG = "VN";
32 const std::string SAM_HD_SORTORDER_TAG = "SO";
33 const std::string SAM_HD_GROUPORDER_TAG = "GO";
34 
35 // SQ entries
36 const std::string SAM_SQ_BEGIN_TOKEN = "@SQ";
37 const std::string SAM_SQ_ASSEMBLYID_TAG = "AS";
38 const std::string SAM_SQ_CHECKSUM_TAG = "M5";
39 const std::string SAM_SQ_LENGTH_TAG = "LN";
40 const std::string SAM_SQ_NAME_TAG = "SN";
41 const std::string SAM_SQ_SPECIES_TAG = "SP";
42 const std::string SAM_SQ_URI_TAG = "UR";
43 
44 // RG entries
45 const std::string SAM_RG_BEGIN_TOKEN = "@RG";
46 const std::string SAM_RG_DESCRIPTION_TAG = "DS";
47 const std::string SAM_RG_FLOWORDER_TAG = "FO";
48 const std::string SAM_RG_ID_TAG = "ID";
49 const std::string SAM_RG_KEYSEQUENCE_TAG = "KS";
50 const std::string SAM_RG_LIBRARY_TAG = "LB";
51 const std::string SAM_RG_PLATFORMUNIT_TAG = "PU";
52 const std::string SAM_RG_PREDICTEDINSERTSIZE_TAG = "PI";
53 const std::string SAM_RG_PRODUCTIONDATE_TAG = "DT";
54 const std::string SAM_RG_PROGRAM_TAG = "PG";
55 const std::string SAM_RG_SAMPLE_TAG = "SM";
56 const std::string SAM_RG_SEQCENTER_TAG = "CN";
57 const std::string SAM_RG_SEQTECHNOLOGY_TAG = "PL";
58 
59 // PG entries
60 const std::string SAM_PG_BEGIN_TOKEN = "@PG";
61 const std::string SAM_PG_COMMANDLINE_TAG = "CL";
62 const std::string SAM_PG_ID_TAG = "ID";
63 const std::string SAM_PG_NAME_TAG = "PN";
64 const std::string SAM_PG_PREVIOUSPROGRAM_TAG = "PP";
65 const std::string SAM_PG_VERSION_TAG = "VN";
66 
67 // CO entries
68 const std::string SAM_CO_BEGIN_TOKEN = "@CO";
69 
70 // HD:SO values
71 const std::string SAM_HD_SORTORDER_COORDINATE = "coordinate";
72 const std::string SAM_HD_SORTORDER_QUERYNAME = "queryname";
73 const std::string SAM_HD_SORTORDER_UNKNOWN = "unknown";
74 const std::string SAM_HD_SORTORDER_UNSORTED = "unsorted";
75 
76 // HD:GO values
77 const std::string SAM_HD_GROUPORDER_NONE = "none";
78 const std::string SAM_HD_GROUPORDER_QUERY = "query";
79 const std::string SAM_HD_GROUPORDER_REFERENCE = "reference";
80 
81 // SQ:LN values
82 const unsigned int SAM_SQ_LENGTH_MIN = 1;
83 const unsigned int SAM_SQ_LENGTH_MAX = 536870911; // 2^29 - 1
84 
85 // RG:PL values
86 const std::string SAM_RG_SEQTECHNOLOGY_CAPILLARY = "CAPILLARY";
87 const std::string SAM_RG_SEQTECHNOLOGY_HELICOS = "HELICOS";
88 const std::string SAM_RG_SEQTECHNOLOGY_ILLUMINA = "ILLUMINA";
89 const std::string SAM_RG_SEQTECHNOLOGY_IONTORRENT = "IONTORRENT";
90 const std::string SAM_RG_SEQTECHNOLOGY_LS454 = "LS454";
91 const std::string SAM_RG_SEQTECHNOLOGY_PACBIO = "PACBIO";
92 const std::string SAM_RG_SEQTECHNOLOGY_SOLID = "SOLID";
93 
94 } // namespace Constants
95 } // namespace BamTools
96 
97 #endif // SAM_CONSTANTS_H
const char SAM_PERIOD
Definition: SamConstants.h:22
const std::string SAM_HD_VERSION_TAG
Definition: SamConstants.h:31
const std::string SAM_CURRENT_VERSION
Definition: SamConstants.h:27
const std::string SAM_HD_SORTORDER_QUERYNAME
Definition: SamConstants.h:72
const std::string SAM_RG_SAMPLE_TAG
Definition: SamConstants.h:55
const std::string SAM_PG_BEGIN_TOKEN
Definition: SamConstants.h:60
const std::string SAM_HD_SORTORDER_TAG
Definition: SamConstants.h:32
const std::string SAM_SQ_BEGIN_TOKEN
Definition: SamConstants.h:36
const std::string SAM_PG_PREVIOUSPROGRAM_TAG
Definition: SamConstants.h:64
const std::string SAM_HD_SORTORDER_UNSORTED
Definition: SamConstants.h:74
const std::string SAM_SQ_LENGTH_TAG
Definition: SamConstants.h:39
const std::string SAM_HD_GROUPORDER_NONE
Definition: SamConstants.h:77
const std::string SAM_RG_PRODUCTIONDATE_TAG
Definition: SamConstants.h:53
const std::string SAM_RG_SEQTECHNOLOGY_ILLUMINA
Definition: SamConstants.h:88
const std::string SAM_RG_BEGIN_TOKEN
Definition: SamConstants.h:45
const char SAM_COLON
Definition: SamConstants.h:20
const std::string SAM_SQ_NAME_TAG
Definition: SamConstants.h:40
const std::string SAM_PG_ID_TAG
Definition: SamConstants.h:62
const std::string SAM_RG_KEYSEQUENCE_TAG
Definition: SamConstants.h:49
const std::string SAM_HD_SORTORDER_UNKNOWN
Definition: SamConstants.h:73
const std::string SAM_RG_LIBRARY_TAG
Definition: SamConstants.h:50
const std::string SAM_HD_GROUPORDER_REFERENCE
Definition: SamConstants.h:79
const std::string SAM_HD_SORTORDER_COORDINATE
Definition: SamConstants.h:71
const std::string SAM_RG_SEQTECHNOLOGY_HELICOS
Definition: SamConstants.h:87
const unsigned int SAM_SQ_LENGTH_MAX
Definition: SamConstants.h:83
const std::string SAM_PG_NAME_TAG
Definition: SamConstants.h:63
const std::string SAM_RG_DESCRIPTION_TAG
Definition: SamConstants.h:46
const std::string SAM_RG_PREDICTEDINSERTSIZE_TAG
Definition: SamConstants.h:52
const std::string SAM_RG_SEQTECHNOLOGY_TAG
Definition: SamConstants.h:57
const std::string SAM_RG_PLATFORMUNIT_TAG
Definition: SamConstants.h:51
const std::string SAM_DIGITS
Definition: SamConstants.h:25
const std::string SAM_RG_SEQTECHNOLOGY_CAPILLARY
Definition: SamConstants.h:86
const std::string SAM_HD_GROUPORDER_QUERY
Definition: SamConstants.h:78
const std::string SAM_CO_BEGIN_TOKEN
Definition: SamConstants.h:68
const std::string SAM_RG_SEQTECHNOLOGY_IONTORRENT
Definition: SamConstants.h:89
const std::string SAM_RG_SEQTECHNOLOGY_PACBIO
Definition: SamConstants.h:91
const std::string SAM_RG_SEQCENTER_TAG
Definition: SamConstants.h:56
const std::string SAM_SQ_URI_TAG
Definition: SamConstants.h:42
const std::string SAM_RG_SEQTECHNOLOGY_LS454
Definition: SamConstants.h:90
const std::string SAM_RG_FLOWORDER_TAG
Definition: SamConstants.h:47
const std::string SAM_PG_VERSION_TAG
Definition: SamConstants.h:65
const std::string SAM_PG_COMMANDLINE_TAG
Definition: SamConstants.h:61
const char SAM_TAB
Definition: SamConstants.h:24
const std::string SAM_SQ_CHECKSUM_TAG
Definition: SamConstants.h:38
const std::string SAM_RG_SEQTECHNOLOGY_SOLID
Definition: SamConstants.h:92
const unsigned int SAM_SQ_LENGTH_MIN
Definition: SamConstants.h:82
const char SAM_STAR
Definition: SamConstants.h:23
const std::string SAM_RG_ID_TAG
Definition: SamConstants.h:48
const std::string SAM_SQ_SPECIES_TAG
Definition: SamConstants.h:41
const std::string SAM_HD_BEGIN_TOKEN
Definition: SamConstants.h:30
const char SAM_EQUAL
Definition: SamConstants.h:21
const std::string SAM_HD_GROUPORDER_TAG
Definition: SamConstants.h:33
const std::string SAM_SQ_ASSEMBLYID_TAG
Definition: SamConstants.h:37
const std::string SAM_RG_PROGRAM_TAG
Definition: SamConstants.h:54
Contains all BamTools classes & methods.
Definition: Sort.h:24