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