BamWriter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef BAMWRITER_H
00011 #define BAMWRITER_H
00012
00013 #include "api/api_global.h"
00014 #include "api/BamAux.h"
00015 #include <string>
00016
00017 namespace BamTools {
00018
00019 class BamAlignment;
00020 class SamHeader;
00021
00023 namespace Internal {
00024 class BamWriterPrivate;
00025 }
00027
00028 class API_EXPORT BamWriter {
00029
00030
00031 public:
00032 enum CompressionMode { Compressed = 0
00033 , Uncompressed
00034 };
00035
00036
00037 public:
00038 BamWriter(void);
00039 ~BamWriter(void);
00040
00041
00042 public:
00043
00044 void Close(void);
00045
00046 std::string GetErrorString(void) const;
00047
00048 bool IsOpen(void) const;
00049
00050 bool Open(const std::string& filename,
00051 const std::string& samHeaderText,
00052 const RefVector& referenceSequences);
00053
00054 bool Open(const std::string& filename,
00055 const SamHeader& samHeader,
00056 const RefVector& referenceSequences);
00057
00058 bool SaveAlignment(const BamAlignment& alignment);
00059
00060 void SetCompressionMode(const BamWriter::CompressionMode& compressionMode);
00061
00062
00063 private:
00064 Internal::BamWriterPrivate* d;
00065 };
00066
00067 }
00068
00069 #endif // BAMWRITER_H