]> git.donarmstrong.com Git - bamtools.git/commitdiff
Added BamConstants.h
authorderek <derekwbarnett@gmail.com>
Wed, 12 Jan 2011 16:37:17 +0000 (11:37 -0500)
committerderek <derekwbarnett@gmail.com>
Wed, 12 Jan 2011 16:37:17 +0000 (11:37 -0500)
src/api/BamConstants.h [new file with mode: 0644]

diff --git a/src/api/BamConstants.h b/src/api/BamConstants.h
new file mode 100644 (file)
index 0000000..5bf03f9
--- /dev/null
@@ -0,0 +1,50 @@
+#ifndef BAM_CONSTANTS_H
+#define BAM_CONSTANTS_H
+
+#include <string>
+
+namespace BamTools {
+namespace Constants {
+
+const int BAM_SIZEOF_INT = 4;
+
+// header magic number
+const char* const  BAM_HEADER_MAGIC = "BAM\001";
+const unsigned int BAM_HEADER_MAGIC_SIZE = 4;
+
+// BAM alignment core size
+const int BAM_CORE_SIZE = 32;
+
+// BAM alignment flags
+const int BAM_ALIGNMENT_PAIRED              = 1;
+const int BAM_ALIGNMENT_PROPER_PAIR         = 2;
+const int BAM_ALIGNMENT_UNMAPPED            = 4;
+const int BAM_ALIGNMENT_MATE_UNMAPPED       = 8;
+const int BAM_ALIGNMENT_REVERSE_STRAND      = 16;
+const int BAM_ALIGNMENT_MATE_REVERSE_STRAND = 32;
+const int BAM_ALIGNMENT_READ_1              = 64;
+const int BAM_ALIGNMENT_READ_2              = 128;
+const int BAM_ALIGNMENT_SECONDARY           = 256;
+const int BAM_ALIGNMENT_QC_FAILED           = 512;
+const int BAM_ALIGNMENT_DUPLICATE           = 1024;
+
+// CIGAR constants
+const char* const BAM_CIGAR_LOOKUP = "MIDNSHP";
+const int BAM_CIGAR_MATCH    = 0;
+const int BAM_CIGAR_INS      = 1;
+const int BAM_CIGAR_DEL      = 2;
+const int BAM_CIGAR_REFSKIP  = 3;
+const int BAM_CIGAR_SOFTCLIP = 4;
+const int BAM_CIGAR_HARDCLIP = 5;
+const int BAM_CIGAR_PAD      = 6;
+
+const int BAM_CIGAR_SHIFT    = 4;
+const int BAM_CIGAR_MASK     = ((1 << BAM_CIGAR_SHIFT) - 1);
+
+// DNA bases
+const char* const BAM_DNA_LOOKUP = "=ACMGRSVTWYHKDBN";
+
+} // namespace Constants
+} // namespace BamTools
+
+#endif // BAM_CONSTANTS_H