]> git.donarmstrong.com Git - bamtools.git/blob - src/api/BamWriter.cpp
Update to BamTools API 0.9.2 with exposure of SamHeader object from BamReader and...
[bamtools.git] / src / api / BamWriter.cpp
1 // ***************************************************************************\r
2 // BamWriter.cpp (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
10 \r
11 #include <api/BamWriter.h>\r
12 #include <api/internal/BamWriter_p.h>\r
13 using namespace BamTools;\r
14 using namespace BamTools::Internal;\r
15 \r
16 #include <iostream>\r
17 using namespace std;\r
18 \r
19 // constructor\r
20 BamWriter::BamWriter(void) {\r
21     d = new BamWriterPrivate;\r
22 }\r
23 \r
24 // destructor\r
25 BamWriter::~BamWriter(void) {\r
26     delete d;\r
27     d = 0;\r
28 }\r
29 \r
30 // closes the alignment archive\r
31 void BamWriter::Close(void) {\r
32     d->Close();\r
33 }\r
34 \r
35 // opens the alignment archive (using std::string SAM header)\r
36 bool BamWriter::Open(const string& filename,\r
37                      const string& samHeader,\r
38                      const RefVector& referenceSequences,\r
39                      bool isWriteUncompressed)\r
40 {\r
41     return d->Open(filename, samHeader, referenceSequences, isWriteUncompressed);\r
42 }\r
43 \r
44 // opens the alignment archive (using SamHeader object)\r
45 bool BamWriter::Open(const string& filename,\r
46                      const SamHeader& samHeader,\r
47                      const RefVector& referenceSequences,\r
48                      bool isWriteUncompressed)\r
49 {\r
50     return d->Open(filename, samHeader.ToString(), referenceSequences, isWriteUncompressed);\r
51 }\r
52 \r
53 // saves the alignment to the alignment archive\r
54 void BamWriter::SaveAlignment(const BamAlignment& al) {\r
55     d->SaveAlignment(al);\r
56 }\r