annotate spp/src/BamAlignment.h @ 6:ce08b0efa3fd draft

Uploaded
author zzhou
date Tue, 27 Nov 2012 16:11:40 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
1 // ***************************************************************************
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
2 // BamAlignment.h (c) 2009 Derek Barnett
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
3 // Marth Lab, Department of Biology, Boston College
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
4 // All rights reserved.
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
5 // ---------------------------------------------------------------------------
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
6 // Last modified: 13 December 2010 (DB)
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
7 // ---------------------------------------------------------------------------
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
8 // Provides the BamAlignment data structure
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
9 // ***************************************************************************
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
10
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
11 #ifndef BAMALIGNMENT_H
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
12 #define BAMALIGNMENT_H
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
13
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
14 #include <api_global.h>
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
15 #include <BamAux.h>
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
16 #include <string>
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
17 #include <vector>
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
18
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
19 namespace BamTools {
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
20
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
21 // forward declare BamAlignment's friend classes
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
22 namespace Internal {
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
23 class BamReaderPrivate;
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
24 class BamWriterPrivate;
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
25 } // namespace Internal
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
26
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
27 // BamAlignment data structure
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
28 // explicitly labeled as 'struct' to indicate that (most of) its fields are public
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
29 struct API_EXPORT BamAlignment {
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
30
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
31 // constructors & destructor
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
32 public:
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
33 BamAlignment(void);
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
34 BamAlignment(const BamAlignment& other);
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
35 ~BamAlignment(void);
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
36
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
37 // Queries against alignment flags
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
38 public:
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
39 bool IsDuplicate(void) const; // Returns true if this read is a PCR duplicate
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
40 bool IsFailedQC(void) const; // Returns true if this read failed quality control
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
41 bool IsFirstMate(void) const; // Returns true if alignment is first mate on read
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
42 bool IsMapped(void) const; // Returns true if alignment is mapped
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
43 bool IsMateMapped(void) const; // Returns true if alignment's mate is mapped
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
44 bool IsMateReverseStrand(void) const; // Returns true if alignment's mate mapped to reverse strand
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
45 bool IsPaired(void) const; // Returns true if alignment part of paired-end read
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
46 bool IsPrimaryAlignment(void) const; // Returns true if reported position is primary alignment
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
47 bool IsProperPair(void) const; // Returns true if alignment is part of read that satisfied paired-end resolution
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
48 bool IsReverseStrand(void) const; // Returns true if alignment mapped to reverse strand
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
49 bool IsSecondMate(void) const; // Returns true if alignment is second mate on read
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
50
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
51 // Manipulate alignment flags
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
52 public:
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
53 void SetIsDuplicate(bool ok); // Sets "PCR duplicate" flag
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
54 void SetIsFailedQC(bool ok); // Sets "failed quality control" flag
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
55 void SetIsFirstMate(bool ok); // Sets "alignment is first mate" flag
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
56 void SetIsMapped(bool ok); // Sets "alignment is mapped" flag
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
57 void SetIsMateMapped(bool ok); // Sets "alignment's mate is mapped" flag
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
58 void SetIsMateReverseStrand(bool ok); // Sets "alignment's mate mapped to reverse strand" flag
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
59 void SetIsPaired(bool ok); // Sets "alignment part of paired-end read" flag
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
60 void SetIsPrimaryAlignment(bool ok); // Sets "position is primary alignment" flag
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
61 void SetIsProperPair(bool ok); // Sets "alignment is part of read that satisfied paired-end resolution" flag
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
62 void SetIsReverseStrand(bool ok); // Sets "alignment mapped to reverse strand" flag
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
63 void SetIsSecondMate(bool ok); // Sets "alignment is second mate on read" flag
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
64
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
65 // legacy methods (deprecated, but available)
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
66 void SetIsMateUnmapped(bool ok); // Complement of IsMateMapped() flag
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
67 void SetIsSecondaryAlignment(bool ok); // Complement of IsPrimaryAlignment() flag
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
68 void SetIsUnmapped(bool ok); // Complement of IsMapped() flag
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
69
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
70 // Tag data access methods
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
71 public:
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
72 // -------------------------------------------------------------------------------------
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
73 // N.B. - The following tag access methods may not be used on BamAlignments fetched
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
74 // using BamReader::GetNextAlignmentCore(). Attempting to use them will not result in
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
75 // error message (to keep output clean) but will ALWAYS return false. Only user-created
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
76 // BamAlignments or those retrieved using BamReader::GetNextAlignment() are valid here.
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
77
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
78 // add tag data (create new TAG entry with TYPE and VALUE)
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
79 // TYPE is one of {A, i, f, Z, H} depending on VALUE - see SAM/BAM spec for details
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
80 // returns true if new data added, false if error or TAG already exists
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
81 // N.B. - will NOT modify existing tag. Use EditTag() instead
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
82 // @tag - two character tag name
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
83 // @type - single character tag type (see SAM/BAM spec for details)
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
84 // @value - value to associate with tag
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
85 bool AddTag(const std::string& tag, const std::string& type, const std::string& value); // type must be Z or H
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
86 bool AddTag(const std::string& tag, const std::string& type, const uint32_t& value); // type must be A or i
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
87 bool AddTag(const std::string& tag, const std::string& type, const int32_t& value); // type must be A or i
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
88 bool AddTag(const std::string& tag, const std::string& type, const float& value); // type must be A, i, or f
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
89
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
90 // edit tag data (sets existing TAG with TYPE to VALUE or adds new TAG if not already present)
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
91 // TYPE is one of {A, i, f, Z, H} depending on VALUE - see SAM/BAM spec for details
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
92 // returns true if edit was successfaul, false if error
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
93 // @tag - two character tag name
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
94 // @type - single character tag type (see SAM/BAM spec for details)
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
95 // @value - new value for tag
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
96 bool EditTag(const std::string& tag, const std::string& type, const std::string& value); // type must be Z or H
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
97 bool EditTag(const std::string& tag, const std::string& type, const uint32_t& value); // type must be A or i
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
98 bool EditTag(const std::string& tag, const std::string& type, const int32_t& value); // type must be A or i
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
99 bool EditTag(const std::string& tag, const std::string& type, const float& value); // type must be A, i, or f
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
100
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
101 // specific tag data access methods - these only remain for legacy support
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
102 // returns whether specific tag could be retrieved
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
103 bool GetEditDistance(uint32_t& editDistance) const; // get "NM" tag data (equivalent to GetTag("NM", editDistance))
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
104 bool GetReadGroup(std::string& readGroup) const; // get "RG" tag data (equivalent to GetTag("RG", readGroup))
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
105
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
106 // generic tag data access methods
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
107 // returns whether tag is found & tag type is compatible with DESTINATION
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
108 // @tag - two character tag name
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
109 // @destination - if found, tag value is stored here
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
110 bool GetTag(const std::string& tag, std::string& destination) const; // access variable-length char or hex strings
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
111 bool GetTag(const std::string& tag, uint32_t& destination) const; // access unsigned integer data
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
112 bool GetTag(const std::string& tag, int32_t& destination) const; // access signed integer data
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
113 bool GetTag(const std::string& tag, float& destination) const; // access floating point data
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
114
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
115 // retrieve the tag type code for TAG
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
116 // returns true if tag could be found and type determined
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
117 bool GetTagType(const std::string& tag, char& type) const;
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
118
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
119 // remove tag data
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
120 // returns true if removal was successful, false if error
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
121 // N.B. - returns false if TAG does not exist (no removal can occur)
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
122 // @tag - two character tag name
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
123 bool RemoveTag(const std::string& tag);
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
124
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
125 // Additional data access methods
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
126 public:
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
127 // calculates & returns alignment end position, based on starting position and CIGAR operations
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
128 // @usePadded - if true, counts inserted bases. Default is false, so that alignment end position matches the last base's position in reference
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
129 // @zeroBased - if true, returns 0-based coordinate; else returns 1-based. Setting this to false is useful when using BAM data along with other, half-open formats.
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
130 int GetEndPosition(bool usePadded = false, bool zeroBased = true) const;
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
131
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
132 // 'internal' utility methods
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
133 private:
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
134 static bool FindTag(const std::string& tag, char* &pTagData, const unsigned int& tagDataLength, unsigned int& numBytesParsed);
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
135 static bool SkipToNextTag(const char storageType, char* &pTagData, unsigned int& numBytesParsed);
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
136
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
137 // Data members
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
138 public:
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
139 std::string Name; // Read name
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
140 int32_t Length; // Query length
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
141 std::string QueryBases; // 'Original' sequence (as reported from sequencing machine)
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
142 std::string AlignedBases; // 'Aligned' sequence (includes any indels, padding, clipping)
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
143 std::string Qualities; // FASTQ qualities (ASCII characters, not numeric values)
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
144 std::string TagData; // Tag data (accessor methods will pull the requested information out)
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
145 int32_t RefID; // ID number for reference sequence
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
146 int32_t Position; // Position (0-based) where alignment starts
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
147 uint16_t Bin; // Bin in BAM file where this alignment resides
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
148 uint16_t MapQuality; // Mapping quality score
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
149 uint32_t AlignmentFlag; // Alignment bit-flag - see Is<something>() methods to query this value, SetIs<something>() methods to manipulate
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
150 std::vector<CigarOp> CigarData; // CIGAR operations for this alignment
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
151 int32_t MateRefID; // ID number for reference sequence where alignment's mate was aligned
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
152 int32_t MatePosition; // Position (0-based) where alignment's mate starts
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
153 int32_t InsertSize; // Mate-pair insert size
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
154
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
155 // Internal data, inaccessible to client code
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
156 // but available BamReaderPrivate & BamWriterPrivate
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
157 private:
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
158 struct BamAlignmentSupportData {
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
159
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
160 // data members
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
161 std::string AllCharData;
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
162 uint32_t BlockLength;
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
163 uint32_t NumCigarOperations;
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
164 uint32_t QueryNameLength;
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
165 uint32_t QuerySequenceLength;
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
166 bool HasCoreOnly;
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
167
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
168 // constructor
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
169 BamAlignmentSupportData(void)
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
170 : BlockLength(0)
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
171 , NumCigarOperations(0)
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
172 , QueryNameLength(0)
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
173 , QuerySequenceLength(0)
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
174 , HasCoreOnly(false)
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
175 { }
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
176 };
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
177 BamAlignmentSupportData SupportData;
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
178 friend class Internal::BamReaderPrivate;
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
179 friend class Internal::BamWriterPrivate;
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
180
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
181 // Alignment flag query constants
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
182 // Use the get/set methods above instead
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
183 private:
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
184 enum { PAIRED = 1
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
185 , PROPER_PAIR = 2
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
186 , UNMAPPED = 4
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
187 , MATE_UNMAPPED = 8
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
188 , REVERSE = 16
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
189 , MATE_REVERSE = 32
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
190 , READ_1 = 64
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
191 , READ_2 = 128
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
192 , SECONDARY = 256
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
193 , QC_FAILED = 512
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
194 , DUPLICATE = 1024
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
195 };
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
196 };
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
197
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
198 // convenience typedef(s)
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
199 typedef std::vector<BamAlignment> BamAlignmentVector;
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
200
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
201 } // namespace BamTools
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
202
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
203 #endif // BAMALIGNMENT_H