00001 // *************************************************************************** 00002 // SamConstants.h (c) 2010 Derek Barnett 00003 // Marth Lab, Department of Biology, Boston College 00004 // --------------------------------------------------------------------------- 00005 // Last modified: 27 March 2012 (DB) 00006 // --------------------------------------------------------------------------- 00007 // Provides constants for SAM header 00008 // *************************************************************************** 00009 00010 #ifndef SAM_CONSTANTS_H 00011 #define SAM_CONSTANTS_H 00012 00013 #include "api/api_global.h" 00014 #include <string> 00015 00016 namespace BamTools { 00017 namespace Constants { 00018 00019 // basic char constants used in SAM format 00020 const char SAM_COLON = ':'; 00021 const char SAM_EQUAL = '='; 00022 const char SAM_PERIOD = '.'; 00023 const char SAM_STAR = '*'; 00024 const char SAM_TAB = '\t'; 00025 const std::string SAM_DIGITS = "0123456789"; 00026 00027 const std::string SAM_CURRENT_VERSION = "1.4"; 00028 00029 // HD entries 00030 const std::string SAM_HD_BEGIN_TOKEN = "@HD"; 00031 const std::string SAM_HD_VERSION_TAG = "VN"; 00032 const std::string SAM_HD_SORTORDER_TAG = "SO"; 00033 const std::string SAM_HD_GROUPORDER_TAG = "GO"; 00034 00035 // SQ entries 00036 const std::string SAM_SQ_BEGIN_TOKEN = "@SQ"; 00037 const std::string SAM_SQ_ASSEMBLYID_TAG = "AS"; 00038 const std::string SAM_SQ_CHECKSUM_TAG = "M5"; 00039 const std::string SAM_SQ_LENGTH_TAG = "LN"; 00040 const std::string SAM_SQ_NAME_TAG = "SN"; 00041 const std::string SAM_SQ_SPECIES_TAG = "SP"; 00042 const std::string SAM_SQ_URI_TAG = "UR"; 00043 00044 // RG entries 00045 const std::string SAM_RG_BEGIN_TOKEN = "@RG"; 00046 const std::string SAM_RG_DESCRIPTION_TAG = "DS"; 00047 const std::string SAM_RG_FLOWORDER_TAG = "FO"; 00048 const std::string SAM_RG_ID_TAG = "ID"; 00049 const std::string SAM_RG_KEYSEQUENCE_TAG = "KS"; 00050 const std::string SAM_RG_LIBRARY_TAG = "LB"; 00051 const std::string SAM_RG_PLATFORMUNIT_TAG = "PU"; 00052 const std::string SAM_RG_PREDICTEDINSERTSIZE_TAG = "PI"; 00053 const std::string SAM_RG_PRODUCTIONDATE_TAG = "DT"; 00054 const std::string SAM_RG_PROGRAM_TAG = "PG"; 00055 const std::string SAM_RG_SAMPLE_TAG = "SM"; 00056 const std::string SAM_RG_SEQCENTER_TAG = "CN"; 00057 const std::string SAM_RG_SEQTECHNOLOGY_TAG = "PL"; 00058 00059 // PG entries 00060 const std::string SAM_PG_BEGIN_TOKEN = "@PG"; 00061 const std::string SAM_PG_COMMANDLINE_TAG = "CL"; 00062 const std::string SAM_PG_ID_TAG = "ID"; 00063 const std::string SAM_PG_NAME_TAG = "PN"; 00064 const std::string SAM_PG_PREVIOUSPROGRAM_TAG = "PP"; 00065 const std::string SAM_PG_VERSION_TAG = "VN"; 00066 00067 // CO entries 00068 const std::string SAM_CO_BEGIN_TOKEN = "@CO"; 00069 00070 // HD:SO values 00071 const std::string SAM_HD_SORTORDER_COORDINATE = "coordinate"; 00072 const std::string SAM_HD_SORTORDER_QUERYNAME = "queryname"; 00073 const std::string SAM_HD_SORTORDER_UNKNOWN = "unknown"; 00074 const std::string SAM_HD_SORTORDER_UNSORTED = "unsorted"; 00075 00076 // HD:GO values 00077 const std::string SAM_HD_GROUPORDER_NONE = "none"; 00078 const std::string SAM_HD_GROUPORDER_QUERY = "query"; 00079 const std::string SAM_HD_GROUPORDER_REFERENCE = "reference"; 00080 00081 // SQ:LN values 00082 const unsigned int SAM_SQ_LENGTH_MIN = 1; 00083 const unsigned int SAM_SQ_LENGTH_MAX = 536870911; // 2^29 - 1 00084 00085 // RG:PL values 00086 const std::string SAM_RG_SEQTECHNOLOGY_CAPILLARY = "CAPILLARY"; 00087 const std::string SAM_RG_SEQTECHNOLOGY_HELICOS = "HELICOS"; 00088 const std::string SAM_RG_SEQTECHNOLOGY_ILLUMINA = "ILLUMINA"; 00089 const std::string SAM_RG_SEQTECHNOLOGY_IONTORRENT = "IONTORRENT"; 00090 const std::string SAM_RG_SEQTECHNOLOGY_LS454 = "LS454"; 00091 const std::string SAM_RG_SEQTECHNOLOGY_PACBIO = "PACBIO"; 00092 const std::string SAM_RG_SEQTECHNOLOGY_SOLID = "SOLID"; 00093 00094 } // namespace Constants 00095 } // namespace BamTools 00096 00097 #endif // SAM_CONSTANTS_H