X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=src%2Fapi%2Finternal%2FBamWriter_p.h;h=dd2b0fe1178ce8c2c52a9b2b4b0406ba9a81c122;hb=8c80d760637f8df39262683cd2570f0589423d36;hp=d9314053e9bfd8fdee7d5134f24d02f3f3f61f49;hpb=577b6032aa3d85616047c8aba6061dd8dad20cfc;p=bamtools.git diff --git a/src/api/internal/BamWriter_p.h b/src/api/internal/BamWriter_p.h index d931405..dd2b0fe 100644 --- a/src/api/internal/BamWriter_p.h +++ b/src/api/internal/BamWriter_p.h @@ -3,7 +3,7 @@ // Marth Lab, Department of Biology, Boston College // All rights reserved. // --------------------------------------------------------------------------- -// Last modified: 19 November 2010 (DB) +// Last modified: 24 February 2011 (DB) // --------------------------------------------------------------------------- // Provides the basic functionality for producing BAM files // *************************************************************************** @@ -22,42 +22,43 @@ // We mean it. #include -#include +#include #include #include namespace BamTools { - -class SamHeader; - namespace Internal { class BamWriterPrivate { // ctor & dtor public: - BamWriterPrivate(void); - ~BamWriterPrivate(void); + BamWriterPrivate(void); + ~BamWriterPrivate(void); - // "public" interface to BamWriter + // interface methods public: - void Close(void); - bool Open(const std::string& filename, - const std::string& samHeader, - const BamTools::RefVector& referenceSequences, - bool isWriteUncompressed); - void SaveAlignment(const BamAlignment& al); + void Close(void); + bool IsOpen(void) const; + bool Open(const std::string& filename, + const std::string& samHeaderText, + const BamTools::RefVector& referenceSequences); + void SaveAlignment(const BamAlignment& al); + void SetWriteCompressed(bool ok); - // internal methods + // 'internal' methods public: - const unsigned int CalculateMinimumBin(const int begin, int end) const; - void CreatePackedCigar(const std::vector& cigarOperations, std::string& packedCigar); - void EncodeQuerySequence(const std::string& query, std::string& encodedQuery); + unsigned int CalculateMinimumBin(const int begin, int end) const; + void CreatePackedCigar(const std::vector& cigarOperations, std::string& packedCigar); + void EncodeQuerySequence(const std::string& query, std::string& encodedQuery); + void WriteMagicNumber(void); + void WriteReferences(const BamTools::RefVector& referenceSequences); + void WriteSamHeaderText(const std::string& samHeaderText); // data members - public: - BgzfData mBGZF; - bool IsBigEndian; + private: + BgzfStream m_stream; + bool m_isBigEndian; }; } // namespace Internal