X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Fapi%2FBamMultiReader.h;h=27745628cb0f0dabf3c819d2eb659b15aca5a33b;hb=574a2bfb36f7107529e7ccda0f75e70a493460e5;hp=ea068d0c0ad58a9736fde8b4abb34de6632fcefe;hpb=19077d59154eeb244af96b1fd9658e535c24c1be;p=bamtools.git diff --git a/src/api/BamMultiReader.h b/src/api/BamMultiReader.h index ea068d0..2774562 100644 --- a/src/api/BamMultiReader.h +++ b/src/api/BamMultiReader.h @@ -2,7 +2,7 @@ // BamMultiReader.h (c) 2010 Erik Garrison, Derek Barnett // Marth Lab, Department of Biology, Boston College // --------------------------------------------------------------------------- -// Last modified: 10 October 2011 (DB) +// Last modified: 14 January 2013 (DB) // --------------------------------------------------------------------------- // Convenience class for reading multiple BAM files. // *************************************************************************** @@ -25,6 +25,14 @@ namespace Internal { class API_EXPORT BamMultiReader { + // enums + public: + // possible merge order strategies + enum MergeOrder { RoundRobinMerge = 0 + , MergeByCoordinate + , MergeByName + }; + // constructor / destructor public: BamMultiReader(void); @@ -43,6 +51,8 @@ class API_EXPORT BamMultiReader { bool CloseFile(const std::string& filename); // returns list of filenames for all open BAM files const std::vector Filenames(void) const; + // returns curent merge order strategy + BamMultiReader::MergeOrder GetMergeOrder(void) const; // returns true if multireader has any open BAM files bool HasOpenReaders(void) const; // performs random-access jump within current BAM files @@ -53,6 +63,8 @@ class API_EXPORT BamMultiReader { bool OpenFile(const std::string& filename); // returns file pointers to beginning of alignments bool Rewind(void); + // sets an explicit merge order, regardless of the BAM files' SO header tag + void SetExplicitMergeOrder(BamMultiReader::MergeOrder order); // sets the target region of interest bool SetRegion(const BamRegion& region); // sets the target region of interest