diff --git a/src/utils/BamTools/src/api/BamAlignment.h b/src/utils/BamTools/src/api/BamAlignment.h index fb1e8722d9fc70bbc118552e209fba44ef2dbc07..81684ecbfa7790203bcb40aa9ab1f0eb12f073d0 100644 --- a/src/utils/BamTools/src/api/BamAlignment.h +++ b/src/utils/BamTools/src/api/BamAlignment.h @@ -29,7 +29,7 @@ namespace Internal { //! \endcond // BamAlignment data structure -struct API_EXPORT BamAlignment { +class API_EXPORT BamAlignment { // constructors & destructor public: diff --git a/src/utils/BamTools/src/api/SamHeader.h b/src/utils/BamTools/src/api/SamHeader.h index 50049947e627a29f5b077cb719b0c1a7874bb75a..869a3478b655797f014046cc2394585d219da153 100644 --- a/src/utils/BamTools/src/api/SamHeader.h +++ b/src/utils/BamTools/src/api/SamHeader.h @@ -19,8 +19,8 @@ namespace BamTools { -struct API_EXPORT SamHeader { - +class API_EXPORT SamHeader { +public: // ctor & dtor SamHeader(const std::string& headerText = ""); SamHeader(const SamHeader& other); diff --git a/src/utils/BamTools/src/api/internal/io/TcpSocketEngine_p.h b/src/utils/BamTools/src/api/internal/io/TcpSocketEngine_p.h index 9218278b6342de7675528a4fdab0ddc773af9c03..a3153346816c7cf52abaefc941ab96b77e230fe7 100644 --- a/src/utils/BamTools/src/api/internal/io/TcpSocketEngine_p.h +++ b/src/utils/BamTools/src/api/internal/io/TcpSocketEngine_p.h @@ -30,7 +30,7 @@ namespace BamTools { namespace Internal { -struct TcpSocketEngine { +class TcpSocketEngine { // ctors & dtor public: diff --git a/src/utils/BamTools/src/api/internal/sam/SamHeaderValidator_p.h b/src/utils/BamTools/src/api/internal/sam/SamHeaderValidator_p.h index 7d0c60aa32e464f1774c882848413d27cd034f8e..3ade4f3b66dd81f15ce9d76cb7ee569789fb2223 100644 --- a/src/utils/BamTools/src/api/internal/sam/SamHeaderValidator_p.h +++ b/src/utils/BamTools/src/api/internal/sam/SamHeaderValidator_p.h @@ -27,8 +27,8 @@ namespace BamTools { class SamHeader; -class SamReadGroup; -class SamSequence; +struct SamReadGroup; +struct SamSequence; namespace Internal { diff --git a/src/utils/FileRecordTools/Records/BamRecord.h b/src/utils/FileRecordTools/Records/BamRecord.h index 022ecb4d94da5f96133c487e774de7ff4377be00..427fcf4f78237aa021b2cde8c0219357f4b8f201 100644 --- a/src/utils/FileRecordTools/Records/BamRecord.h +++ b/src/utils/FileRecordTools/Records/BamRecord.h @@ -23,9 +23,25 @@ public: BamRecord(); virtual const BamRecord &operator=(const BamRecord &); + + + // This using statement is only being added to supress warning from the CLANG compiler regarding + // hidden overriden methods. Though it makes the base class methods available, developers should + // not actually call them on a BamRecord object. + using Bed6Interval::initFromFile; + + bool initFromFile(FileReader *); virtual bool initFromFile(BamFileReader *); virtual void clear(); + + + // As above, this using statement is only being added to supress warning from the CLANG compiler + // regarding hidden overriden methods. Though it makes the base class methods available, developers + // should not actually call them on a BamRecord object. + using Bed6Interval::print; + + virtual void print(QuickString &outBuf, int start, int end, RecordKeyList *keyList) const; virtual void print(QuickString &outBuf, RecordKeyList *keyList) const; virtual void print(QuickString &outBuf, const QuickString & start, const QuickString & end, RecordKeyList *keyList) const; diff --git a/test/merge/precisionTest.bed b/test/merge/precisionTest.bed new file mode 100644 index 0000000000000000000000000000000000000000..e9f36f0af0e5d60ba47c8cd952f0cdb2dfd35fe2 --- /dev/null +++ b/test/merge/precisionTest.bed @@ -0,0 +1,10 @@ +chr2L 1 54 . 0.05 +chr2L 65 128 . 0.33 +chr2L 129 180 . 0.04 +chr2L 193 259 . -0.18 +chr2L 257 317 . -0.07 +chr2L 321 375 . -0.07 +chr2L 385 448 . -0.11 +chr2L 449 502 . 0.4 +chr2L 513 570 . 0.48 +chr2L 577 635 . -0.24 diff --git a/test/merge/test-merge.sh b/test/merge/test-merge.sh index 051fc12fe2eb25422afb106db8f35908913ac2f9..9cde0cdda4f3b9a6688efcba3b80e55056fc0d95 100644 --- a/test/merge/test-merge.sh +++ b/test/merge/test-merge.sh @@ -276,3 +276,20 @@ $BT merge -i a.full.bed > obs check exp obs rm exp obs +########################################################### +# Test that precision is correct +########################################################### +echo " merge.t22...\c" +echo \ +"chr2L 1 54 0.05 +chr2L 65 128 0.33 +chr2L 129 180 0.04 +chr2L 193 317 -0.125 +chr2L 321 375 -0.07 +chr2L 385 448 -0.11 +chr2L 449 502 0.4 +chr2L 513 570 0.48 +chr2L 577 635 -0.24" > exp +$BT merge -i precisionTest.bed -c 5 -o mean > obs +check obs exp +rm obs exp