X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=src%2Fapi%2Finternal%2Fbam%2FBamMultiReader_p.h;h=c84a8cff16bb7cb81caf11d8659396cefadb3f29;hb=574a2bfb36f7107529e7ccda0f75e70a493460e5;hp=9d7c39ae0c2717b8c4d0a4aa27caa7493b2d8ace;hpb=8077f86ef52bfb08c17430b797c737d217d41cf3;p=bamtools.git diff --git a/src/api/internal/bam/BamMultiReader_p.h b/src/api/internal/bam/BamMultiReader_p.h index 9d7c39a..c84a8cf 100644 --- a/src/api/internal/bam/BamMultiReader_p.h +++ b/src/api/internal/bam/BamMultiReader_p.h @@ -2,7 +2,7 @@ // BamMultiReader_p.h (c) 2010 Derek Barnett // Marth Lab, Department of Biology, Boston College // --------------------------------------------------------------------------- -// Last modified: 25 October 2011 (DB) +// Last modified: 14 January 2013 (DB) // --------------------------------------------------------------------------- // Functionality for simultaneously reading multiple BAM files // ************************************************************************* @@ -54,9 +54,11 @@ class BamMultiReaderPrivate { bool SetRegion(const BamRegion& region); // access alignment data + BamMultiReader::MergeOrder GetMergeOrder(void) const; bool GetNextAlignment(BamAlignment& al); bool GetNextAlignmentCore(BamAlignment& al); bool HasOpenReaders(void); + void SetExplicitMergeOrder(BamMultiReader::MergeOrder order); // access auxiliary data SamHeader GetHeader(void) const; @@ -78,7 +80,7 @@ class BamMultiReaderPrivate { public: bool CloseFiles(const std::vector& filenames); - IMultiMerger* CreateAlignmentCache(void) const; + IMultiMerger* CreateAlignmentCache(void); bool PopNextCachedAlignment(BamAlignment& al, const bool needCharData); bool RewindReaders(void); void SaveNextAlignment(BamReader* reader, BamAlignment* alignment); @@ -90,6 +92,10 @@ class BamMultiReaderPrivate { public: std::vector m_readers; IMultiMerger* m_alignmentCache; + + bool m_hasUserMergeOrder; + BamMultiReader::MergeOrder m_mergeOrder; + mutable std::string m_errorString; };