1 #ifndef OLIGOFAR_CSAM__HPP
2 #define OLIGOFAR_CSAM__HPP
3 
4 #include "defs.hpp"
5 
6 BEGIN_OLIGOFAR_SCOPES
7 
8 class CSamBase
9 {
10     public:
11         enum ESamColumns {
12             eCol_qname = 0,
13             eCol_flags = 1,
14             eCol_rname = 2,
15             eCol_pos   = 3,
16             eCol_mapq  = 4,
17             eCol_cigar = 5,
18             eCol_mrnm  = 6,
19             eCol_mpos  = 7,
20             eCol_isize = 8,
21             eCol_seq   = 9,
22             eCol_qual  = 10,
23             eCol_tags  = 11
24         };
25         enum FSamFlags {
26             fPairedQuery   = 0x0001,
27             fPairedHit     = 0x0002,
28             fSeqUnmapped   = 0x0004,
29             fMateUnmapped  = 0x0008,
30             fSeqReverse    = 0x0010,
31             fMateReverse   = 0x0020,
32             fSeqIsFirst    = 0x0040,
33             fSeqIsSecond   = 0x0080,
34             fHitSuboptimal = 0x0100,
35             fReadFailedQC  = 0x0200,
36             fReadDuplicate = 0x0400
37         };
38         enum ESamTagType {
39             eTag_int = 'i',
40             eTag_char = 'A',
41             eTag_float = 'f',
42             eTag_string = 'Z',
43             eTag_hex = 'H',
44             eTag_none = 0
45         };
46 };
47 
48 
49 END_OLIGOFAR_SCOPES
50 
51 #endif
52