annotate spp/src/BamWriter.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 // BamWriter.h (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: 19 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 #ifndef BAMWRITER_H
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
12 #define BAMWRITER_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 <BamAlignment.h>
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
16 #include <string>
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
17
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
18 namespace BamTools {
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
19
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
20 namespace Internal {
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
21 class BamWriterPrivate;
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
22 } // namespace Internal
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
23
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
24 class API_EXPORT BamWriter {
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
25
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
26 // constructor/destructor
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
27 public:
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
28 BamWriter(void);
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
29 ~BamWriter(void);
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
30
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
31 // public interface
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
32 public:
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
33 // closes the alignment archive
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
34 void Close(void);
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
35 // opens the alignment archive
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
36 bool Open(const std::string& filename,
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
37 const std::string& samHeader,
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
38 const BamTools::RefVector& referenceSequences,
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
39 bool writeUncompressed = false);
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
40 // saves the alignment to the alignment archive
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
41 void SaveAlignment(const BamTools::BamAlignment& al);
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
42
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
43 // private implementation
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
44 private:
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
45 Internal::BamWriterPrivate* d;
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
46 };
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
47
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
48 } // namespace BamTools
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
49
ce08b0efa3fd Uploaded
zzhou
parents:
diff changeset
50 #endif // BAMWRITER_H