1 // ***************************************************************************
\r
2 // BamWriter.h (c) 2009 Michael Str�mberg, Derek Barnett
\r
3 // Marth Lab, Department of Biology, Boston College
\r
4 // All rights reserved.
\r
5 // ---------------------------------------------------------------------------
\r
6 // Last modified: 11 January 2011 (DB)
\r
7 // ---------------------------------------------------------------------------
\r
8 // Provides the basic functionality for producing BAM files
\r
9 // ***************************************************************************
\r
14 #include <api/api_global.h>
\r
15 #include <api/BamAlignment.h>
\r
16 #include <api/SamHeader.h>
\r
19 namespace BamTools {
\r
21 namespace Internal {
\r
22 class BamWriterPrivate;
\r
23 } // namespace Internal
\r
25 class API_EXPORT BamWriter {
\r
27 // constructor/destructor
\r
34 // closes the alignment archive
\r
36 // opens the alignment archive (using std::string SAM header)
\r
37 bool Open(const std::string& filename,
\r
38 const std::string& samHeader,
\r
39 const BamTools::RefVector& referenceSequences,
\r
40 bool writeUncompressed = false);
\r
41 // opens the alignment archive (using SamHeader object)
\r
42 bool Open(const std::string& filename,
\r
43 const SamHeader& samHeader,
\r
44 const BamTools::RefVector& referenceSequences,
\r
45 bool writeUncompressed = false);
\r
46 // saves the alignment to the alignment archive
\r
47 void SaveAlignment(const BamTools::BamAlignment& al);
\r
49 // private implementation
\r
51 Internal::BamWriterPrivate* d;
\r
54 } // namespace BamTools
\r
56 #endif // BAMWRITER_H
\r