annotate spp/src/BamWriter.cpp @ 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 // BamWriter.cpp (c) 2009 Michael Str�mberg, 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: 22 November 2010 (DB)
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
7 // ---------------------------------------------------------------------------
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
8 // Provides the basic functionality for producing BAM files
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
9 // ***************************************************************************
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
10
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
11 #include <BamWriter.h>
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
12 #include <BamWriter_p.h>
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
13 using namespace BamTools;
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
14 using namespace BamTools::Internal;
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
15
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
16 #include <iostream>
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
17 using namespace std;
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
18
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
19 // constructor
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
20 BamWriter::BamWriter(void) {
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
21 d = new BamWriterPrivate;
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
22 }
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
23
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
24 // destructor
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
25 BamWriter::~BamWriter(void) {
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
26 delete d;
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
27 d = 0;
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
28 }
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
29
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
30 // closes the alignment archive
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
31 void BamWriter::Close(void) {
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
32 d->Close();
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
33 }
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
34
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
35 // opens the alignment archive
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
36 bool BamWriter::Open(const string& filename,
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
37 const string& samHeader,
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
38 const RefVector& referenceSequences,
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
39 bool isWriteUncompressed)
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
40 {
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
41 return d->Open(filename, samHeader, referenceSequences, isWriteUncompressed);
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
42 }
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
43
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
44 // saves the alignment to the alignment archive
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
45 void BamWriter::SaveAlignment(const BamAlignment& al) {
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
46 d->SaveAlignment(al);
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
47 }