From d51ee65181b527013be6e4087c1edc816505fbbb Mon Sep 17 00:00:00 2001 From: derek Date: Wed, 12 Jan 2011 11:37:17 -0500 Subject: [PATCH] Added BamConstants.h --- src/api/BamConstants.h | 50 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/api/BamConstants.h diff --git a/src/api/BamConstants.h b/src/api/BamConstants.h new file mode 100644 index 0000000..5bf03f9 --- /dev/null +++ b/src/api/BamConstants.h @@ -0,0 +1,50 @@ +#ifndef BAM_CONSTANTS_H +#define BAM_CONSTANTS_H + +#include + +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 -- 2.39.5