]> git.donarmstrong.com Git - bamtools.git/blob - src/api/SamConstants.h
6412b3d0bce6bb9eefcbb205352cfaae0e4b3013
[bamtools.git] / src / api / SamConstants.h
1 // ***************************************************************************
2 // SamConstants.h (c) 2010 Derek Barnett
3 // Marth Lab, Department of Biology, Boston College
4 // All rights reserved.
5 // ---------------------------------------------------------------------------
6 // Last modified: 23 December 2010 (DB)
7 // ---------------------------------------------------------------------------
8 // Provides constants for SAM header
9 // ***************************************************************************
10
11 #ifndef SAM_CONSTANTS_H
12 #define SAM_CONSTANTS_H
13
14 #include <api/api_global.h>
15 #include <string>
16
17 namespace BamTools {
18 namespace Constants {
19
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 // HD entries
28 const std::string SAM_HD_BEGIN_TOKEN    = "@HD";
29 const std::string SAM_HD_VERSION_TAG    = "VN";
30 const std::string SAM_HD_SORTORDER_TAG  = "SO";
31 const std::string SAM_HD_GROUPORDER_TAG = "GO";
32
33 // SQ entries
34 const std::string SAM_SQ_BEGIN_TOKEN    = "@SQ";
35 const std::string SAM_SQ_NAME_TAG       = "SN";
36 const std::string SAM_SQ_LENGTH_TAG     = "LN";
37 const std::string SAM_SQ_ASSEMBLYID_TAG = "AS";
38 const std::string SAM_SQ_URI_TAG        = "UR";
39 const std::string SAM_SQ_CHECKSUM_TAG   = "M5";
40 const std::string SAM_SQ_SPECIES_TAG    = "SP";
41
42 // RG entries
43 const std::string SAM_RG_BEGIN_TOKEN             = "@RG";
44 const std::string SAM_RG_ID_TAG                  = "ID";
45 const std::string SAM_RG_SAMPLE_TAG              = "SM";
46 const std::string SAM_RG_LIBRARY_TAG             = "LB";
47 const std::string SAM_RG_DESCRIPTION_TAG         = "DS";
48 const std::string SAM_RG_PLATFORMUNIT_TAG        = "PU";
49 const std::string SAM_RG_PREDICTEDINSERTSIZE_TAG = "PI";
50 const std::string SAM_RG_SEQCENTER_TAG           = "CN";
51 const std::string SAM_RG_PRODUCTIONDATE_TAG      = "DT";
52 const std::string SAM_RG_SEQTECHNOLOGY_TAG       = "PL";
53
54 // PG entries
55 const std::string SAM_PG_BEGIN_TOKEN     = "@PG";
56 const std::string SAM_PG_NAME_TAG        = "ID";
57 const std::string SAM_PG_VERSION_TAG     = "VN";
58 const std::string SAM_PG_COMMANDLINE_TAG = "CL";
59
60 // CO entries
61 const std::string SAM_CO_BEGIN_TOKEN = "@CO";
62
63 // HD:SO values
64 const std::string SAM_HD_SORTORDER_COORDINATE = "coordinate";
65 const std::string SAM_HD_SORTORDER_QUERYNAME  = "queryname";
66 const std::string SAM_HD_SORTORDER_UNSORTED   = "unsorted";
67
68 // HD:GO values
69 const std::string SAM_HD_GROUPORDER_NONE      = "none";
70 const std::string SAM_HD_GROUPORDER_QUERY     = "query";
71 const std::string SAM_HD_GROUPORDER_REFERENCE = "reference";
72
73 // SQ:LN values
74 const unsigned int SAM_SQ_LENGTH_MIN = 1;
75 const unsigned int SAM_SQ_LENGTH_MAX = 536870911; // 2^29 - 1
76
77 // --------------
78 // RG:PL values
79
80 // 454
81 const std::string SAM_RG_SEQTECHNOLOGY_454         = "454";
82 const std::string SAM_RG_SEQTECHNOLOGY_LS454_LOWER = "ls454";
83 const std::string SAM_RG_SEQTECHNOLOGY_LS454_UPPER = "LS454";
84
85 // Helicos
86 const std::string SAM_RG_SEQTECHNOLOGY_HELICOS_LOWER = "helicos";
87 const std::string SAM_RG_SEQTECHNOLOGY_HELICOS_UPPER = "HELICOS";
88
89 // Illumina
90 const std::string SAM_RG_SEQTECHNOLOGY_ILLUMINA_LOWER = "illumina";
91 const std::string SAM_RG_SEQTECHNOLOGY_ILLUMINA_UPPER = "ILLUMINA";
92
93 // PacBio
94 const std::string SAM_RG_SEQTECHNOLOGY_PACBIO_LOWER = "pacbio";
95 const std::string SAM_RG_SEQTECHNOLOGY_PACBIO_UPPER = "PACBIO";
96
97 // SOLiD
98 const std::string SAM_RG_SEQTECHNOLOGY_SOLID_LOWER = "solid";
99 const std::string SAM_RG_SEQTECHNOLOGY_SOLID_UPPER = "SOLID";
100
101 } // namespace Constants
102 } // namespace BamTools
103
104 #endif // SAM_CONSTANTS_H