diff --git a/.gitignore b/.gitignore deleted file mode 100644 index e70b1d8..0000000 --- a/.gitignore +++ /dev/null @@ -1,22 +0,0 @@ -/BEDTools-User-Manual.v3.pdf -/BEDTools.v2.9.0.tar.gz -/BEDTools.v2.10.1.tar.gz -/BEDTools-User-Manual.v4.pdf -/BEDTools.v2.11.2.tar.gz -/BEDTools.v2.12.0.tar.gz -/BEDTools.v2.13.1.tar.gz -/BEDTools.v2.13.4.tar.gz -/BEDTools.v2.15.0.tar.gz -/BEDTools.v2.17.0.tar.gz -/bedtools-2.19.0.tar.gz -/bedtools-2.19.1.tar.gz -/bedtools-2.20.1.tar.gz -/bedtools-2.22.0.tar.gz -/bedtools-2.23.0.tar.gz -/bedtools-2.24.0.tar.gz -/bedtools-2.25.0.tar.gz -/bedtools-2.26.0.tar.gz -/BEDTools-double-parenthesis.patch -/bedtools-2.27.0.tar.gz -/0001-Ditch-bizarre-inclusion-then-mock-out-of-matplotlib-.patch -/bedtools-2.27.1.tar.gz diff --git a/0001-Ditch-bizarre-inclusion-then-mock-out-of-matplotlib-.patch b/0001-Ditch-bizarre-inclusion-then-mock-out-of-matplotlib-.patch deleted file mode 100644 index 3e2e9e0..0000000 --- a/0001-Ditch-bizarre-inclusion-then-mock-out-of-matplotlib-.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 7fa71987b67f158728618e3e123710332e8bb7d6 Mon Sep 17 00:00:00 2001 -From: Adam Williamson -Date: Thu, 8 Mar 2018 13:09:12 -0800 -Subject: [PATCH] Ditch bizarre inclusion-then-mock-out of matplotlib from - sphinx - -A long time ago, commit ff358b3 - "add plotting to conf.py" - -added several plotting-related sphinx modules provided by -matplotlib to the sphinx config. Notably, it did not actually -add any *use* of these modules, so far as I can tell. Neither -did anything else later, again so far as I can tell. - -Bizarrely, commit 9323618 - which followed it a month later - -proceeded to *mock these modules and their dependencies right -back out again*. - -I have no idea what the idea was here, but it seems rather -weird. More to the point, it breaks build of the docs with -recent Sphinx, as this artisanal Mock() implementation is not -iterable: - -Exception occurred: - File "/usr/lib/python2.7/site-packages/sphinx/registry.py", line 225, in load_extension - app.extensions[extname] = Extension(extname, mod, **metadata) -TypeError: 'Mock' object is not iterable - -So, let's throw out this entire edifice of zaniness. The docs -build just fine with the remaining matplotlib module (the others -got taken out over the years) cut out from the extensions list, -and the whole weird Mock bit chopped. - -Signed-off-by: Adam Williamson ---- - docs/conf.py | 24 +----------------------- - 1 file changed, 1 insertion(+), 23 deletions(-) - -diff --git a/docs/conf.py b/docs/conf.py -index c44fa35b..389569bf 100755 ---- a/docs/conf.py -+++ b/docs/conf.py -@@ -27,8 +27,7 @@ sys.path.append(os.path.abspath('pyplots')) - extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest', - 'sphinx.ext.intersphinx', 'sphinx.ext.todo', - 'sphinx.ext.coverage', 'sphinx.ext.pngmath', -- 'sphinx.ext.ifconfig', 'sphinx.ext.viewcode', -- 'matplotlib.sphinxext.plot_directive'] -+ 'sphinx.ext.ifconfig', 'sphinx.ext.viewcode'] - - # Add any paths that contain templates here, relative to this directory. - templates_path = ['templates'] -@@ -224,24 +223,3 @@ man_pages = [ - - # Example configuration for intersphinx: refer to the Python standard library. - intersphinx_mapping = {'bedtools': ('http://bedtools.readthedocs.org/en/latest/', None)} -- --class Mock(object): -- def __init__(self, *args, **kwargs): -- pass -- -- def __call__(self, *args, **kwargs): -- return Mock() -- -- @classmethod -- def __getattr__(cls, name): -- if name in ('__file__', '__path__'): -- return '/dev/null' -- elif name[0] == name[0].upper(): -- return type(name, (), {}) -- else: -- return Mock() -- --MOCK_MODULES = ['numpy', 'matplotlib', 'matplotlib.pyplot', -- 'matplotlib.sphinxext', 'matplotlib.sphinxext.plot_directive'] --for mod_name in MOCK_MODULES: -- sys.modules[mod_name] = Mock() --- -2.16.2 - diff --git a/107f803ec758427839c674be2af13742f0e2404f.patch b/107f803ec758427839c674be2af13742f0e2404f.patch deleted file mode 100644 index bbaf781..0000000 --- a/107f803ec758427839c674be2af13742f0e2404f.patch +++ /dev/null @@ -1,855 +0,0 @@ -From 107f803ec758427839c674be2af13742f0e2404f Mon Sep 17 00:00:00 2001 -From: Neil Kindlon -Date: Thu, 4 Jun 2015 16:53:35 -0400 -Subject: [PATCH] Added -mean to coverage w/ unit test - ---- - src/coverageFile/coverageFile.cpp | 19 +- - src/coverageFile/coverageFile.h | 1 + - src/coverageFile/coverageHelp.cpp | 2 + - src/utils/Contexts/ContextCoverage.cpp | 21 +- - src/utils/Contexts/ContextCoverage.h | 6 +- - test/coverage/test-coverage.sh | 587 ++++++++++++++++++--------------- - 6 files changed, 358 insertions(+), 278 deletions(-) - -diff --git a/src/coverageFile/coverageFile.cpp b/src/coverageFile/coverageFile.cpp -index 57a6a24..859cfdc 100644 ---- a/src/coverageFile/coverageFile.cpp -+++ b/src/coverageFile/coverageFile.cpp -@@ -47,6 +47,10 @@ void CoverageFile::processHits(RecordOutputMgr *outputMgr, RecordKeyVector &hits - doPerBase(outputMgr, hits); - break; - -+ case ContextCoverage::MEAN: -+ doMean(outputMgr, hits); -+ break; -+ - case ContextCoverage::HIST: - doHist(outputMgr, hits); - break; -@@ -55,6 +59,7 @@ void CoverageFile::processHits(RecordOutputMgr *outputMgr, RecordKeyVector &hits - default: - doDefault(outputMgr, hits); - break; -+ - } - - } -@@ -139,7 +144,7 @@ void CoverageFile::doCounts(RecordOutputMgr *outputMgr, RecordKeyVector &hits) - - void CoverageFile::doPerBase(RecordOutputMgr *outputMgr, RecordKeyVector &hits) - { -- //loop through all bases in query, printing full record and metrcis for each -+ //loop through all bases in query, printing full record and metrics for each - const Record * queryRec = hits.getKey(); - for (size_t i= 0; i < _queryLen; i++) { - _finalOutput = i +1; -@@ -150,6 +155,17 @@ void CoverageFile::doPerBase(RecordOutputMgr *outputMgr, RecordKeyVector &hits) - } - } - -+void CoverageFile::doMean(RecordOutputMgr *outputMgr, RecordKeyVector &hits) -+{ -+ size_t sum =0; -+ for (size_t i= 0; i < _queryLen; i++) { -+ sum += _depthArray[i]; -+ } -+ format((float)sum / (float)_queryLen); -+ outputMgr->printRecord(hits.getKey(), _finalOutput); -+} -+ -+ - void CoverageFile::doHist(RecordOutputMgr *outputMgr, RecordKeyVector &hits) - { - //make a map of depths to num bases with that depth -@@ -200,4 +216,3 @@ void CoverageFile::format(float val) - sprintf(_floatValBuf, "%0.7f", val); - _finalOutput.append(_floatValBuf); - } -- -diff --git a/src/coverageFile/coverageFile.h b/src/coverageFile/coverageFile.h -index 414f636..e5b3ce9 100644 ---- a/src/coverageFile/coverageFile.h -+++ b/src/coverageFile/coverageFile.h -@@ -43,6 +43,7 @@ class CoverageFile : public IntersectFile { - - void doCounts(RecordOutputMgr *outputMgr, RecordKeyVector &hits); - void doPerBase(RecordOutputMgr *outputMgr, RecordKeyVector &hits); -+ void doMean(RecordOutputMgr *outputMgr, RecordKeyVector &hits); - void doHist(RecordOutputMgr *outputMgr, RecordKeyVector &hits); - void doDefault(RecordOutputMgr *outputMgr, RecordKeyVector &hits); - -diff --git a/src/coverageFile/coverageHelp.cpp b/src/coverageFile/coverageHelp.cpp -index b7686e9..8425f0d 100644 ---- a/src/coverageFile/coverageHelp.cpp -+++ b/src/coverageFile/coverageHelp.cpp -@@ -34,6 +34,8 @@ void coverage_help(void) { - - cerr << "\t-counts\t" << "Only report the count of overlaps, don't compute fraction, etc." << endl << endl; - -+ cerr << "\t-mean\t" << "Report the mean depth of all positions in each A feature." << endl << endl; -+ - - IntersectCommonHelp(); - sortedHelp(); -diff --git a/src/utils/Contexts/ContextCoverage.cpp b/src/utils/Contexts/ContextCoverage.cpp -index b2b2b60..1dce8f2 100644 ---- a/src/utils/Contexts/ContextCoverage.cpp -+++ b/src/utils/Contexts/ContextCoverage.cpp -@@ -11,9 +11,12 @@ ContextCoverage::ContextCoverage() - : _count(false), - _perBase(false), - _showHist(false), -- _coverageType(DEFAULT) -+ _coverageType(DEFAULT), -+ _usingColOps(false) - { - setExplicitBedOutput(true); //do not allow BAM output -+ setColumnOpsMethods(true); -+ - - } - -@@ -36,6 +39,10 @@ bool ContextCoverage::parseCmdArgs(int argc, char **argv, int skipFirstArgs) { - if (strcmp(_argv[_i], "-hist") == 0) { - if (!handle_hist()) return false; - } -+ if (strcmp(_argv[_i], "-mean") == 0) { -+ if (!handle_mean()) return false; -+ } -+ - } - return ContextIntersect::parseCmdArgs(argc, argv, _skipFirstArgs); - } -@@ -46,8 +53,8 @@ bool ContextCoverage::isValidState() - return false; - } - //Can only use one output option. Were two or more set? -- if (((int)_count + (int)_perBase + (int)_showHist) > 1) { -- _errorMsg = "\n***** ERROR: -counts, -d, and -hist are mutually exclusive options. *****"; -+ if (((int)_count + (int)_perBase + (int)_showHist) + (int)_mean > 1) { -+ _errorMsg = "\n***** ERROR: -counts, -d, -mean, and -hist are all mutually exclusive options. *****"; - return false; - } - -@@ -76,3 +83,11 @@ bool ContextCoverage::handle_hist() - markUsed(_i - _skipFirstArgs); - return true; - } -+ -+bool ContextCoverage::handle_mean() -+{ -+ _mean = true; -+ _coverageType = MEAN; -+ markUsed(_i - _skipFirstArgs); -+ return true; -+} -diff --git a/src/utils/Contexts/ContextCoverage.h b/src/utils/Contexts/ContextCoverage.h -index 5a7b6b0..0c17beb 100644 ---- a/src/utils/Contexts/ContextCoverage.h -+++ b/src/utils/Contexts/ContextCoverage.h -@@ -19,18 +19,22 @@ class ContextCoverage : public ContextIntersect { - virtual bool hasIntersectMethods() const { return true; } - virtual bool isValidState(); - -- typedef enum { DEFAULT, COUNT, PER_BASE, HIST } coverageType; -+ typedef enum { DEFAULT, COUNT, PER_BASE, HIST, MEAN } coverageType; - coverageType getCoverageType() const { return _coverageType; } -+ virtual bool usingColOps() const { return _usingColOps; } - - private: - bool _count; - bool _perBase; - bool _showHist; -+ bool _mean; - coverageType _coverageType; -+ bool _usingColOps; - - bool handle_c(); - bool handle_d(); - bool handle_hist(); -+ bool handle_mean(); - - - }; -diff --git a/test/coverage/test-coverage.sh b/test/coverage/test-coverage.sh -index 8ea4f41..71a124d 100644 ---- a/test/coverage/test-coverage.sh -+++ b/test/coverage/test-coverage.sh -@@ -41,12 +41,12 @@ rm *.bam - echo " coverage.t2...\c" - echo \ - "chr1 20 70 6 25 + 2 50 50 1.0000000 --chr1 50 100 1 25 - 2 50 50 1.0000000 --chr1 200 250 3 25 + 1 50 50 1.0000000 --chr2 80 130 5 25 - 1 50 50 1.0000000 --chr2 150 200 4 25 + 2 50 50 1.0000000 --chr2 180 230 2 25 - 2 50 50 1.0000000" > exp --$BT coverage -a a.bed -b a.bed > obs -+chr1 50 100 1 25 - 5 50 50 1.0000000 -+chr1 200 250 3 25 + 4 38 50 0.7600000 -+chr2 80 130 5 25 - 6 50 50 1.0000000 -+chr2 150 200 4 25 + 7 50 50 1.0000000 -+chr2 180 230 2 25 - 6 50 50 1.0000000" > exp -+$BT coverage -a a.bed -b b.bed > obs - check exp obs - rm exp obs - -@@ -57,12 +57,12 @@ rm exp obs - echo " coverage.t3...\c" - echo \ - "chr1 20 70 6 25 + 2 --chr1 50 100 1 25 - 2 --chr1 200 250 3 25 + 1 --chr2 80 130 5 25 - 1 --chr2 150 200 4 25 + 2 --chr2 180 230 2 25 - 2" > exp --$BT coverage -a a.bed -b a.bed -counts > obs -+chr1 50 100 1 25 - 5 -+chr1 200 250 3 25 + 4 -+chr2 80 130 5 25 - 6 -+chr2 150 200 4 25 + 7 -+chr2 180 230 2 25 - 6" > exp -+$BT coverage -a a.bed -b b.bed -counts > obs - check exp obs - rm exp obs - -@@ -73,19 +73,32 @@ rm exp obs - ################################################################## - echo " coverage.t4...\c" - echo \ --"chr1 20 70 6 25 + 1 30 50 0.6000000 --chr1 20 70 6 25 + 2 20 50 0.4000000 --chr1 50 100 1 25 - 1 30 50 0.6000000 --chr1 50 100 1 25 - 2 20 50 0.4000000 --chr1 200 250 3 25 + 1 50 50 1.0000000 --chr2 80 130 5 25 - 1 50 50 1.0000000 --chr2 150 200 4 25 + 1 30 50 0.6000000 --chr2 150 200 4 25 + 2 20 50 0.4000000 --chr2 180 230 2 25 - 1 30 50 0.6000000 --chr2 180 230 2 25 - 2 20 50 0.4000000 --all 1 220 300 0.7333333 --all 2 80 300 0.2666667" > exp --$BT coverage -a a.bed -b a.bed -hist > obs -+"chr1 20 70 6 25 + 2 50 50 1.0000000 -+chr1 50 100 1 25 - 2 40 50 0.8000000 -+chr1 50 100 1 25 - 3 10 50 0.2000000 -+chr1 200 250 3 25 + 0 12 50 0.2400000 -+chr1 200 250 3 25 + 1 20 50 0.4000000 -+chr1 200 250 3 25 + 2 11 50 0.2200000 -+chr1 200 250 3 25 + 3 4 50 0.0800000 -+chr1 200 250 3 25 + 4 3 50 0.0600000 -+chr2 80 130 5 25 - 3 46 50 0.9200000 -+chr2 80 130 5 25 - 4 4 50 0.0800000 -+chr2 150 200 4 25 + 5 22 50 0.4400000 -+chr2 150 200 4 25 + 6 28 50 0.5600000 -+chr2 180 230 2 25 - 1 16 50 0.3200000 -+chr2 180 230 2 25 - 2 2 50 0.0400000 -+chr2 180 230 2 25 - 3 6 50 0.1200000 -+chr2 180 230 2 25 - 4 4 50 0.0800000 -+chr2 180 230 2 25 - 5 13 50 0.2600000 -+chr2 180 230 2 25 - 6 9 50 0.1800000 -+all 0 12 300 0.0400000 -+all 1 36 300 0.1200000 -+all 2 103 300 0.3433333 -+all 3 66 300 0.2200000 -+all 4 11 300 0.0366667 -+all 5 35 300 0.1166667 -+all 6 37 300 0.1233333" > exp -+$BT coverage -a a.bed -b b.bed -hist > obs - check exp obs - rm exp obs - -@@ -94,36 +107,36 @@ rm exp obs - ################################################################## - echo " coverage.t5...\c" - echo \ --"chr1 20 70 6 25 + 1 1 --chr1 20 70 6 25 + 2 1 --chr1 20 70 6 25 + 3 1 --chr1 20 70 6 25 + 4 1 --chr1 20 70 6 25 + 5 1 --chr1 20 70 6 25 + 6 1 --chr1 20 70 6 25 + 7 1 --chr1 20 70 6 25 + 8 1 --chr1 20 70 6 25 + 9 1 --chr1 20 70 6 25 + 10 1 --chr1 20 70 6 25 + 11 1 --chr1 20 70 6 25 + 12 1 --chr1 20 70 6 25 + 13 1 --chr1 20 70 6 25 + 14 1 --chr1 20 70 6 25 + 15 1 --chr1 20 70 6 25 + 16 1 --chr1 20 70 6 25 + 17 1 --chr1 20 70 6 25 + 18 1 --chr1 20 70 6 25 + 19 1 --chr1 20 70 6 25 + 20 1 --chr1 20 70 6 25 + 21 1 --chr1 20 70 6 25 + 22 1 --chr1 20 70 6 25 + 23 1 --chr1 20 70 6 25 + 24 1 --chr1 20 70 6 25 + 25 1 --chr1 20 70 6 25 + 26 1 --chr1 20 70 6 25 + 27 1 --chr1 20 70 6 25 + 28 1 --chr1 20 70 6 25 + 29 1 --chr1 20 70 6 25 + 30 1 -+"chr1 20 70 6 25 + 1 2 -+chr1 20 70 6 25 + 2 2 -+chr1 20 70 6 25 + 3 2 -+chr1 20 70 6 25 + 4 2 -+chr1 20 70 6 25 + 5 2 -+chr1 20 70 6 25 + 6 2 -+chr1 20 70 6 25 + 7 2 -+chr1 20 70 6 25 + 8 2 -+chr1 20 70 6 25 + 9 2 -+chr1 20 70 6 25 + 10 2 -+chr1 20 70 6 25 + 11 2 -+chr1 20 70 6 25 + 12 2 -+chr1 20 70 6 25 + 13 2 -+chr1 20 70 6 25 + 14 2 -+chr1 20 70 6 25 + 15 2 -+chr1 20 70 6 25 + 16 2 -+chr1 20 70 6 25 + 17 2 -+chr1 20 70 6 25 + 18 2 -+chr1 20 70 6 25 + 19 2 -+chr1 20 70 6 25 + 20 2 -+chr1 20 70 6 25 + 21 2 -+chr1 20 70 6 25 + 22 2 -+chr1 20 70 6 25 + 23 2 -+chr1 20 70 6 25 + 24 2 -+chr1 20 70 6 25 + 25 2 -+chr1 20 70 6 25 + 26 2 -+chr1 20 70 6 25 + 27 2 -+chr1 20 70 6 25 + 28 2 -+chr1 20 70 6 25 + 29 2 -+chr1 20 70 6 25 + 30 2 - chr1 20 70 6 25 + 31 2 - chr1 20 70 6 25 + 32 2 - chr1 20 70 6 25 + 33 2 -@@ -164,54 +177,54 @@ chr1 50 100 1 25 - 17 2 - chr1 50 100 1 25 - 18 2 - chr1 50 100 1 25 - 19 2 - chr1 50 100 1 25 - 20 2 --chr1 50 100 1 25 - 21 1 --chr1 50 100 1 25 - 22 1 --chr1 50 100 1 25 - 23 1 --chr1 50 100 1 25 - 24 1 --chr1 50 100 1 25 - 25 1 --chr1 50 100 1 25 - 26 1 --chr1 50 100 1 25 - 27 1 --chr1 50 100 1 25 - 28 1 --chr1 50 100 1 25 - 29 1 --chr1 50 100 1 25 - 30 1 --chr1 50 100 1 25 - 31 1 --chr1 50 100 1 25 - 32 1 --chr1 50 100 1 25 - 33 1 --chr1 50 100 1 25 - 34 1 --chr1 50 100 1 25 - 35 1 --chr1 50 100 1 25 - 36 1 --chr1 50 100 1 25 - 37 1 --chr1 50 100 1 25 - 38 1 --chr1 50 100 1 25 - 39 1 --chr1 50 100 1 25 - 40 1 --chr1 50 100 1 25 - 41 1 --chr1 50 100 1 25 - 42 1 --chr1 50 100 1 25 - 43 1 --chr1 50 100 1 25 - 44 1 --chr1 50 100 1 25 - 45 1 --chr1 50 100 1 25 - 46 1 --chr1 50 100 1 25 - 47 1 --chr1 50 100 1 25 - 48 1 --chr1 50 100 1 25 - 49 1 --chr1 50 100 1 25 - 50 1 --chr1 200 250 3 25 + 1 1 --chr1 200 250 3 25 + 2 1 --chr1 200 250 3 25 + 3 1 --chr1 200 250 3 25 + 4 1 --chr1 200 250 3 25 + 5 1 --chr1 200 250 3 25 + 6 1 --chr1 200 250 3 25 + 7 1 --chr1 200 250 3 25 + 8 1 --chr1 200 250 3 25 + 9 1 --chr1 200 250 3 25 + 10 1 --chr1 200 250 3 25 + 11 1 --chr1 200 250 3 25 + 12 1 --chr1 200 250 3 25 + 13 1 --chr1 200 250 3 25 + 14 1 --chr1 200 250 3 25 + 15 1 --chr1 200 250 3 25 + 16 1 --chr1 200 250 3 25 + 17 1 --chr1 200 250 3 25 + 18 1 -+chr1 50 100 1 25 - 21 2 -+chr1 50 100 1 25 - 22 2 -+chr1 50 100 1 25 - 23 2 -+chr1 50 100 1 25 - 24 2 -+chr1 50 100 1 25 - 25 3 -+chr1 50 100 1 25 - 26 2 -+chr1 50 100 1 25 - 27 2 -+chr1 50 100 1 25 - 28 3 -+chr1 50 100 1 25 - 29 2 -+chr1 50 100 1 25 - 30 2 -+chr1 50 100 1 25 - 31 2 -+chr1 50 100 1 25 - 32 2 -+chr1 50 100 1 25 - 33 2 -+chr1 50 100 1 25 - 34 2 -+chr1 50 100 1 25 - 35 2 -+chr1 50 100 1 25 - 36 2 -+chr1 50 100 1 25 - 37 2 -+chr1 50 100 1 25 - 38 2 -+chr1 50 100 1 25 - 39 2 -+chr1 50 100 1 25 - 40 2 -+chr1 50 100 1 25 - 41 2 -+chr1 50 100 1 25 - 42 2 -+chr1 50 100 1 25 - 43 3 -+chr1 50 100 1 25 - 44 3 -+chr1 50 100 1 25 - 45 3 -+chr1 50 100 1 25 - 46 3 -+chr1 50 100 1 25 - 47 3 -+chr1 50 100 1 25 - 48 3 -+chr1 50 100 1 25 - 49 3 -+chr1 50 100 1 25 - 50 3 -+chr1 200 250 3 25 + 1 4 -+chr1 200 250 3 25 + 2 4 -+chr1 200 250 3 25 + 3 4 -+chr1 200 250 3 25 + 4 3 -+chr1 200 250 3 25 + 5 3 -+chr1 200 250 3 25 + 6 3 -+chr1 200 250 3 25 + 7 3 -+chr1 200 250 3 25 + 8 2 -+chr1 200 250 3 25 + 9 2 -+chr1 200 250 3 25 + 10 2 -+chr1 200 250 3 25 + 11 2 -+chr1 200 250 3 25 + 12 2 -+chr1 200 250 3 25 + 13 2 -+chr1 200 250 3 25 + 14 2 -+chr1 200 250 3 25 + 15 2 -+chr1 200 250 3 25 + 16 2 -+chr1 200 250 3 25 + 17 2 -+chr1 200 250 3 25 + 18 2 - chr1 200 250 3 25 + 19 1 - chr1 200 250 3 25 + 20 1 - chr1 200 250 3 25 + 21 1 -@@ -232,152 +245,152 @@ chr1 200 250 3 25 + 35 1 - chr1 200 250 3 25 + 36 1 - chr1 200 250 3 25 + 37 1 - chr1 200 250 3 25 + 38 1 --chr1 200 250 3 25 + 39 1 --chr1 200 250 3 25 + 40 1 --chr1 200 250 3 25 + 41 1 --chr1 200 250 3 25 + 42 1 --chr1 200 250 3 25 + 43 1 --chr1 200 250 3 25 + 44 1 --chr1 200 250 3 25 + 45 1 --chr1 200 250 3 25 + 46 1 --chr1 200 250 3 25 + 47 1 --chr1 200 250 3 25 + 48 1 --chr1 200 250 3 25 + 49 1 --chr1 200 250 3 25 + 50 1 --chr2 80 130 5 25 - 1 1 --chr2 80 130 5 25 - 2 1 --chr2 80 130 5 25 - 3 1 --chr2 80 130 5 25 - 4 1 --chr2 80 130 5 25 - 5 1 --chr2 80 130 5 25 - 6 1 --chr2 80 130 5 25 - 7 1 --chr2 80 130 5 25 - 8 1 --chr2 80 130 5 25 - 9 1 --chr2 80 130 5 25 - 10 1 --chr2 80 130 5 25 - 11 1 --chr2 80 130 5 25 - 12 1 --chr2 80 130 5 25 - 13 1 --chr2 80 130 5 25 - 14 1 --chr2 80 130 5 25 - 15 1 --chr2 80 130 5 25 - 16 1 --chr2 80 130 5 25 - 17 1 --chr2 80 130 5 25 - 18 1 --chr2 80 130 5 25 - 19 1 --chr2 80 130 5 25 - 20 1 --chr2 80 130 5 25 - 21 1 --chr2 80 130 5 25 - 22 1 --chr2 80 130 5 25 - 23 1 --chr2 80 130 5 25 - 24 1 --chr2 80 130 5 25 - 25 1 --chr2 80 130 5 25 - 26 1 --chr2 80 130 5 25 - 27 1 --chr2 80 130 5 25 - 28 1 --chr2 80 130 5 25 - 29 1 --chr2 80 130 5 25 - 30 1 --chr2 80 130 5 25 - 31 1 --chr2 80 130 5 25 - 32 1 --chr2 80 130 5 25 - 33 1 --chr2 80 130 5 25 - 34 1 --chr2 80 130 5 25 - 35 1 --chr2 80 130 5 25 - 36 1 --chr2 80 130 5 25 - 37 1 --chr2 80 130 5 25 - 38 1 --chr2 80 130 5 25 - 39 1 --chr2 80 130 5 25 - 40 1 --chr2 80 130 5 25 - 41 1 --chr2 80 130 5 25 - 42 1 --chr2 80 130 5 25 - 43 1 --chr2 80 130 5 25 - 44 1 --chr2 80 130 5 25 - 45 1 --chr2 80 130 5 25 - 46 1 --chr2 80 130 5 25 - 47 1 --chr2 80 130 5 25 - 48 1 --chr2 80 130 5 25 - 49 1 --chr2 80 130 5 25 - 50 1 --chr2 150 200 4 25 + 1 1 --chr2 150 200 4 25 + 2 1 --chr2 150 200 4 25 + 3 1 --chr2 150 200 4 25 + 4 1 --chr2 150 200 4 25 + 5 1 --chr2 150 200 4 25 + 6 1 --chr2 150 200 4 25 + 7 1 --chr2 150 200 4 25 + 8 1 --chr2 150 200 4 25 + 9 1 --chr2 150 200 4 25 + 10 1 --chr2 150 200 4 25 + 11 1 --chr2 150 200 4 25 + 12 1 --chr2 150 200 4 25 + 13 1 --chr2 150 200 4 25 + 14 1 --chr2 150 200 4 25 + 15 1 --chr2 150 200 4 25 + 16 1 --chr2 150 200 4 25 + 17 1 --chr2 150 200 4 25 + 18 1 --chr2 150 200 4 25 + 19 1 --chr2 150 200 4 25 + 20 1 --chr2 150 200 4 25 + 21 1 --chr2 150 200 4 25 + 22 1 --chr2 150 200 4 25 + 23 1 --chr2 150 200 4 25 + 24 1 --chr2 150 200 4 25 + 25 1 --chr2 150 200 4 25 + 26 1 --chr2 150 200 4 25 + 27 1 --chr2 150 200 4 25 + 28 1 --chr2 150 200 4 25 + 29 1 --chr2 150 200 4 25 + 30 1 --chr2 150 200 4 25 + 31 2 --chr2 150 200 4 25 + 32 2 --chr2 150 200 4 25 + 33 2 --chr2 150 200 4 25 + 34 2 --chr2 150 200 4 25 + 35 2 --chr2 150 200 4 25 + 36 2 --chr2 150 200 4 25 + 37 2 --chr2 150 200 4 25 + 38 2 --chr2 150 200 4 25 + 39 2 --chr2 150 200 4 25 + 40 2 --chr2 150 200 4 25 + 41 2 --chr2 150 200 4 25 + 42 2 --chr2 150 200 4 25 + 43 2 --chr2 150 200 4 25 + 44 2 --chr2 150 200 4 25 + 45 2 --chr2 150 200 4 25 + 46 2 --chr2 150 200 4 25 + 47 2 --chr2 150 200 4 25 + 48 2 --chr2 150 200 4 25 + 49 2 --chr2 150 200 4 25 + 50 2 --chr2 180 230 2 25 - 1 2 --chr2 180 230 2 25 - 2 2 --chr2 180 230 2 25 - 3 2 --chr2 180 230 2 25 - 4 2 --chr2 180 230 2 25 - 5 2 --chr2 180 230 2 25 - 6 2 --chr2 180 230 2 25 - 7 2 --chr2 180 230 2 25 - 8 2 --chr2 180 230 2 25 - 9 2 --chr2 180 230 2 25 - 10 2 --chr2 180 230 2 25 - 11 2 --chr2 180 230 2 25 - 12 2 --chr2 180 230 2 25 - 13 2 --chr2 180 230 2 25 - 14 2 --chr2 180 230 2 25 - 15 2 --chr2 180 230 2 25 - 16 2 --chr2 180 230 2 25 - 17 2 --chr2 180 230 2 25 - 18 2 --chr2 180 230 2 25 - 19 2 --chr2 180 230 2 25 - 20 2 --chr2 180 230 2 25 - 21 1 --chr2 180 230 2 25 - 22 1 --chr2 180 230 2 25 - 23 1 --chr2 180 230 2 25 - 24 1 --chr2 180 230 2 25 - 25 1 --chr2 180 230 2 25 - 26 1 --chr2 180 230 2 25 - 27 1 --chr2 180 230 2 25 - 28 1 --chr2 180 230 2 25 - 29 1 --chr2 180 230 2 25 - 30 1 --chr2 180 230 2 25 - 31 1 --chr2 180 230 2 25 - 32 1 --chr2 180 230 2 25 - 33 1 --chr2 180 230 2 25 - 34 1 -+chr1 200 250 3 25 + 39 0 -+chr1 200 250 3 25 + 40 0 -+chr1 200 250 3 25 + 41 0 -+chr1 200 250 3 25 + 42 0 -+chr1 200 250 3 25 + 43 0 -+chr1 200 250 3 25 + 44 0 -+chr1 200 250 3 25 + 45 0 -+chr1 200 250 3 25 + 46 0 -+chr1 200 250 3 25 + 47 0 -+chr1 200 250 3 25 + 48 0 -+chr1 200 250 3 25 + 49 0 -+chr1 200 250 3 25 + 50 0 -+chr2 80 130 5 25 - 1 4 -+chr2 80 130 5 25 - 2 3 -+chr2 80 130 5 25 - 3 3 -+chr2 80 130 5 25 - 4 3 -+chr2 80 130 5 25 - 5 3 -+chr2 80 130 5 25 - 6 3 -+chr2 80 130 5 25 - 7 3 -+chr2 80 130 5 25 - 8 3 -+chr2 80 130 5 25 - 9 3 -+chr2 80 130 5 25 - 10 3 -+chr2 80 130 5 25 - 11 3 -+chr2 80 130 5 25 - 12 3 -+chr2 80 130 5 25 - 13 3 -+chr2 80 130 5 25 - 14 3 -+chr2 80 130 5 25 - 15 3 -+chr2 80 130 5 25 - 16 3 -+chr2 80 130 5 25 - 17 3 -+chr2 80 130 5 25 - 18 3 -+chr2 80 130 5 25 - 19 3 -+chr2 80 130 5 25 - 20 3 -+chr2 80 130 5 25 - 21 3 -+chr2 80 130 5 25 - 22 3 -+chr2 80 130 5 25 - 23 3 -+chr2 80 130 5 25 - 24 3 -+chr2 80 130 5 25 - 25 3 -+chr2 80 130 5 25 - 26 3 -+chr2 80 130 5 25 - 27 3 -+chr2 80 130 5 25 - 28 3 -+chr2 80 130 5 25 - 29 3 -+chr2 80 130 5 25 - 30 3 -+chr2 80 130 5 25 - 31 3 -+chr2 80 130 5 25 - 32 3 -+chr2 80 130 5 25 - 33 3 -+chr2 80 130 5 25 - 34 3 -+chr2 80 130 5 25 - 35 3 -+chr2 80 130 5 25 - 36 3 -+chr2 80 130 5 25 - 37 3 -+chr2 80 130 5 25 - 38 3 -+chr2 80 130 5 25 - 39 3 -+chr2 80 130 5 25 - 40 3 -+chr2 80 130 5 25 - 41 3 -+chr2 80 130 5 25 - 42 3 -+chr2 80 130 5 25 - 43 3 -+chr2 80 130 5 25 - 44 3 -+chr2 80 130 5 25 - 45 3 -+chr2 80 130 5 25 - 46 3 -+chr2 80 130 5 25 - 47 3 -+chr2 80 130 5 25 - 48 4 -+chr2 80 130 5 25 - 49 4 -+chr2 80 130 5 25 - 50 4 -+chr2 150 200 4 25 + 1 6 -+chr2 150 200 4 25 + 2 6 -+chr2 150 200 4 25 + 3 5 -+chr2 150 200 4 25 + 4 5 -+chr2 150 200 4 25 + 5 5 -+chr2 150 200 4 25 + 6 5 -+chr2 150 200 4 25 + 7 5 -+chr2 150 200 4 25 + 8 5 -+chr2 150 200 4 25 + 9 5 -+chr2 150 200 4 25 + 10 5 -+chr2 150 200 4 25 + 11 5 -+chr2 150 200 4 25 + 12 5 -+chr2 150 200 4 25 + 13 5 -+chr2 150 200 4 25 + 14 6 -+chr2 150 200 4 25 + 15 6 -+chr2 150 200 4 25 + 16 6 -+chr2 150 200 4 25 + 17 6 -+chr2 150 200 4 25 + 18 6 -+chr2 150 200 4 25 + 19 6 -+chr2 150 200 4 25 + 20 6 -+chr2 150 200 4 25 + 21 6 -+chr2 150 200 4 25 + 22 6 -+chr2 150 200 4 25 + 23 6 -+chr2 150 200 4 25 + 24 6 -+chr2 150 200 4 25 + 25 6 -+chr2 150 200 4 25 + 26 6 -+chr2 150 200 4 25 + 27 6 -+chr2 150 200 4 25 + 28 6 -+chr2 150 200 4 25 + 29 6 -+chr2 150 200 4 25 + 30 6 -+chr2 150 200 4 25 + 31 6 -+chr2 150 200 4 25 + 32 6 -+chr2 150 200 4 25 + 33 6 -+chr2 150 200 4 25 + 34 6 -+chr2 150 200 4 25 + 35 6 -+chr2 150 200 4 25 + 36 6 -+chr2 150 200 4 25 + 37 6 -+chr2 150 200 4 25 + 38 6 -+chr2 150 200 4 25 + 39 6 -+chr2 150 200 4 25 + 40 5 -+chr2 150 200 4 25 + 41 5 -+chr2 150 200 4 25 + 42 5 -+chr2 150 200 4 25 + 43 5 -+chr2 150 200 4 25 + 44 5 -+chr2 150 200 4 25 + 45 5 -+chr2 150 200 4 25 + 46 5 -+chr2 150 200 4 25 + 47 5 -+chr2 150 200 4 25 + 48 5 -+chr2 150 200 4 25 + 49 5 -+chr2 150 200 4 25 + 50 5 -+chr2 180 230 2 25 - 1 6 -+chr2 180 230 2 25 - 2 6 -+chr2 180 230 2 25 - 3 6 -+chr2 180 230 2 25 - 4 6 -+chr2 180 230 2 25 - 5 6 -+chr2 180 230 2 25 - 6 6 -+chr2 180 230 2 25 - 7 6 -+chr2 180 230 2 25 - 8 6 -+chr2 180 230 2 25 - 9 6 -+chr2 180 230 2 25 - 10 5 -+chr2 180 230 2 25 - 11 5 -+chr2 180 230 2 25 - 12 5 -+chr2 180 230 2 25 - 13 5 -+chr2 180 230 2 25 - 14 5 -+chr2 180 230 2 25 - 15 5 -+chr2 180 230 2 25 - 16 5 -+chr2 180 230 2 25 - 17 5 -+chr2 180 230 2 25 - 18 5 -+chr2 180 230 2 25 - 19 5 -+chr2 180 230 2 25 - 20 5 -+chr2 180 230 2 25 - 21 5 -+chr2 180 230 2 25 - 22 5 -+chr2 180 230 2 25 - 23 4 -+chr2 180 230 2 25 - 24 4 -+chr2 180 230 2 25 - 25 4 -+chr2 180 230 2 25 - 26 4 -+chr2 180 230 2 25 - 27 3 -+chr2 180 230 2 25 - 28 3 -+chr2 180 230 2 25 - 29 3 -+chr2 180 230 2 25 - 30 3 -+chr2 180 230 2 25 - 31 3 -+chr2 180 230 2 25 - 32 3 -+chr2 180 230 2 25 - 33 2 -+chr2 180 230 2 25 - 34 2 - chr2 180 230 2 25 - 35 1 - chr2 180 230 2 25 - 36 1 - chr2 180 230 2 25 - 37 1 -@@ -394,50 +407,65 @@ chr2 180 230 2 25 - 47 1 - chr2 180 230 2 25 - 48 1 - chr2 180 230 2 25 - 49 1 - chr2 180 230 2 25 - 50 1" > exp --$BT coverage -a a.bed -b a.bed -d > obs -+$BT coverage -a a.bed -b b.bed -d > obs - check exp obs - rm exp obs - - -- - ################################################################## --# Test -s -+# Test mean - ################################################################## - echo " coverage.t6...\c" - echo \ --"chr1 20 70 6 25 + 1 50 50 1.0000000 --chr1 50 100 1 25 - 1 50 50 1.0000000 --chr1 200 250 3 25 + 1 50 50 1.0000000 --chr2 80 130 5 25 - 1 50 50 1.0000000 --chr2 150 200 4 25 + 1 50 50 1.0000000 --chr2 180 230 2 25 - 1 50 50 1.0000000" > exp --$BT coverage -a a.bed -b a.bed -s > obs -+"chr1 20 70 6 25 + 2.0000000 -+chr1 50 100 1 25 - 2.2000000 -+chr1 200 250 3 25 + 1.3200001 -+chr2 80 130 5 25 - 3.0799999 -+chr2 150 200 4 25 + 5.5599999 -+chr2 180 230 2 25 - 3.4600000" > exp -+$BT coverage -a a.bed -b b.bed -mean > obs - check exp obs - rm exp obs - - - ################################################################## --# Test -S -+# Test -s - ################################################################## - echo " coverage.t7...\c" - echo \ --"chr1 20 70 6 25 + 1 20 50 0.4000000 --chr1 50 100 1 25 - 1 20 50 0.4000000 -+"chr1 20 70 6 25 + 2 50 50 1.0000000 -+chr1 50 100 1 25 - 1 23 50 0.4600000 - chr1 200 250 3 25 + 0 0 50 0.0000000 --chr2 80 130 5 25 - 0 0 50 0.0000000 --chr2 150 200 4 25 + 1 20 50 0.4000000 --chr2 180 230 2 25 - 1 20 50 0.4000000" > exp --$BT coverage -a a.bed -b a.bed -S > obs -+chr2 80 130 5 25 - 4 50 50 1.0000000 -+chr2 150 200 4 25 + 3 50 50 1.0000000 -+chr2 180 230 2 25 - 4 34 50 0.6800000" > exp -+$BT coverage -a a.bed -b b.bed -s > obs - check exp obs - rm exp obs - - - ################################################################## --# Test that -counts, -hist are mutually exclusive options -+# Test -S - ################################################################## - echo " coverage.t8...\c" - echo \ --"***** ERROR: -counts, -d, and -hist are mutually exclusive options. *****" > exp -+"chr1 20 70 6 25 + 0 0 50 0.0000000 -+chr1 50 100 1 25 - 4 50 50 1.0000000 -+chr1 200 250 3 25 + 4 38 50 0.7600000 -+chr2 80 130 5 25 - 2 50 50 1.0000000 -+chr2 150 200 4 25 + 4 50 50 1.0000000 -+chr2 180 230 2 25 - 2 50 50 1.0000000" > exp -+$BT coverage -a a.bed -b b.bed -S > obs -+check exp obs -+rm exp obs -+ -+ -+################################################################## -+# Test that -counts, -hist are mutually exclusive options -+################################################################## -+echo " coverage.t9...\c" -+echo \ -+"***** ERROR: -counts, -d, -mean, and -hist are all mutually exclusive options. *****" > exp - $BT coverage -a a.bed -b b.bed -counts -hist 2>&1 > /dev/null | head -2 | tail -1 | cat - > obs - check exp obs - rm exp obs -@@ -445,9 +473,9 @@ rm exp obs - ################################################################## - # Test that -counts, -d are mutually exclusive options - ################################################################## --echo " coverage.t9...\c" -+echo " coverage.t10...\c" - echo \ --"***** ERROR: -counts, -d, and -hist are mutually exclusive options. *****" > exp -+"***** ERROR: -counts, -d, -mean, and -hist are all mutually exclusive options. *****" > exp - $BT coverage -a a.bed -b b.bed -counts -d 2>&1 > /dev/null | head -2 | tail -1 | cat - > obs - check exp obs - rm exp obs -@@ -455,9 +483,24 @@ rm exp obs - ################################################################## - # Test that -hist, -d are mutually exclusive options - ################################################################## --echo " coverage.t10...\c" -+echo " coverage.t11...\c" - echo \ --"***** ERROR: -counts, -d, and -hist are mutually exclusive options. *****" > exp -+"***** ERROR: -counts, -d, -mean, and -hist are all mutually exclusive options. *****" > exp - $BT coverage -a a.bed -b b.bed -hist -d 2>&1 > /dev/null | head -2 | tail -1 | cat - > obs - check exp obs - rm exp obs -+ -+ -+################################################################## -+# Test that -mean, -d are mutually exclusive options -+################################################################## -+echo " coverage.t12...\c" -+echo \ -+"***** ERROR: -counts, -d, -mean, and -hist are all mutually exclusive options. *****" > exp -+$BT coverage -a a.bed -b b.bed -mean -d 2>&1 > /dev/null | head -2 | tail -1 | cat - > obs -+check exp obs -+rm exp obs -+ -+ -+ -+ diff --git a/BEDTools-double-parenthesis.patch b/BEDTools-double-parenthesis.patch deleted file mode 100644 index d91ecb0..0000000 --- a/BEDTools-double-parenthesis.patch +++ /dev/null @@ -1,711 +0,0 @@ -diff -ur bedtools2/src/annotateBed/Makefile bedtools2.new/src/annotateBed/Makefile ---- bedtools2/src/annotateBed/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/annotateBed/Makefile 2016-08-06 07:49:57.388330540 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/bamToBed/Makefile bedtools2.new/src/bamToBed/Makefile ---- bedtools2/src/bamToBed/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/bamToBed/Makefile 2016-08-06 07:49:57.286339582 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/bamToFastq/Makefile bedtools2.new/src/bamToFastq/Makefile ---- bedtools2/src/bamToFastq/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/bamToFastq/Makefile 2016-08-06 07:49:57.362332845 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/bed12ToBed6/Makefile bedtools2.new/src/bed12ToBed6/Makefile ---- bedtools2/src/bed12ToBed6/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/bed12ToBed6/Makefile 2016-08-06 07:49:57.243343394 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/bedpeToBam/Makefile bedtools2.new/src/bedpeToBam/Makefile ---- bedtools2/src/bedpeToBam/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/bedpeToBam/Makefile 2016-08-06 07:49:57.288339405 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/bedToBam/Makefile bedtools2.new/src/bedToBam/Makefile ---- bedtools2/src/bedToBam/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/bedToBam/Makefile 2016-08-06 07:49:57.369332224 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/bedToIgv/Makefile bedtools2.new/src/bedToIgv/Makefile ---- bedtools2/src/bedToIgv/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/bedToIgv/Makefile 2016-08-06 07:49:57.282339937 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/closestFile/Makefile bedtools2.new/src/closestFile/Makefile ---- bedtools2/src/closestFile/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/closestFile/Makefile 2016-08-06 07:49:57.379331338 +0100 -@@ -1,7 +1,7 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ --TOOL_DIR = ../../src/ -+TOOL_DIR = ../../src - - # ------------------- - # define our includes -diff -ur bedtools2/src/clusterBed/Makefile bedtools2.new/src/clusterBed/Makefile ---- bedtools2/src/clusterBed/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/clusterBed/Makefile 2016-08-06 07:49:57.247343039 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/complementFile/Makefile bedtools2.new/src/complementFile/Makefile ---- bedtools2/src/complementFile/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/complementFile/Makefile 2016-08-06 07:49:57.280340114 +0100 -@@ -1,7 +1,7 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ --TOOL_DIR = ../../src/ -+TOOL_DIR = ../../src - - # ------------------- - # define our includes -diff -ur bedtools2/src/coverageFile/Makefile bedtools2.new/src/coverageFile/Makefile ---- bedtools2/src/coverageFile/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/coverageFile/Makefile 2016-08-06 07:49:57.259341976 +0100 -@@ -1,7 +1,7 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ --TOOL_DIR = ../../src/ -+TOOL_DIR = ../../src - - INCLUDES = -I$(UTILITIES_DIR)/Contexts/ \ - -I$(UTILITIES_DIR)/general/ \ -diff -ur bedtools2/src/expand/Makefile bedtools2.new/src/expand/Makefile ---- bedtools2/src/expand/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/expand/Makefile 2016-08-06 07:49:57.270341000 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/fastaFromBed/Makefile bedtools2.new/src/fastaFromBed/Makefile ---- bedtools2/src/fastaFromBed/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/fastaFromBed/Makefile 2016-08-06 07:49:57.367332401 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/fisher/Makefile bedtools2.new/src/fisher/Makefile ---- bedtools2/src/fisher/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/fisher/Makefile 2016-08-06 07:49:57.291339139 +0100 -@@ -1,7 +1,7 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ --TOOL_DIR = ../../src/ -+TOOL_DIR = ../../src - - # ------------------- - # define our includes -diff -ur bedtools2/src/flankBed/Makefile bedtools2.new/src/flankBed/Makefile ---- bedtools2/src/flankBed/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/flankBed/Makefile 2016-08-06 07:49:57.358333199 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/genomeCoverageBed/Makefile bedtools2.new/src/genomeCoverageBed/Makefile ---- bedtools2/src/genomeCoverageBed/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/genomeCoverageBed/Makefile 2016-08-06 07:49:57.277340380 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/getOverlap/Makefile bedtools2.new/src/getOverlap/Makefile ---- bedtools2/src/getOverlap/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/getOverlap/Makefile 2016-08-06 07:49:57.254342419 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/groupBy/Makefile bedtools2.new/src/groupBy/Makefile ---- bedtools2/src/groupBy/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/groupBy/Makefile 2016-08-06 07:49:57.266341355 +0100 -@@ -1,7 +1,7 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ --TOOL_DIR = ../../src/ -+TOOL_DIR = ../../src - - # ------------------- - # define our includes -diff -ur bedtools2/src/intersectFile/Makefile bedtools2.new/src/intersectFile/Makefile ---- bedtools2/src/intersectFile/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/intersectFile/Makefile 2016-08-06 07:49:57.353333643 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/jaccard/Makefile bedtools2.new/src/jaccard/Makefile ---- bedtools2/src/jaccard/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/jaccard/Makefile 2016-08-06 07:49:57.377331515 +0100 -@@ -1,7 +1,7 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ --TOOL_DIR = ../../src/ -+TOOL_DIR = ../../src - - # ------------------- - # define our includes -diff -ur bedtools2/src/linksBed/Makefile bedtools2.new/src/linksBed/Makefile ---- bedtools2/src/linksBed/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/linksBed/Makefile 2016-08-06 07:49:57.261341798 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/mapFile/Makefile bedtools2.new/src/mapFile/Makefile ---- bedtools2/src/mapFile/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/mapFile/Makefile 2016-08-06 07:49:57.383330983 +0100 -@@ -1,7 +1,7 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ --TOOL_DIR = ../../src/ -+TOOL_DIR = ../../src - - INCLUDES = -I$(UTILITIES_DIR)/Contexts/ \ - -I$(UTILITIES_DIR)/general/ \ -diff -ur bedtools2/src/maskFastaFromBed/Makefile bedtools2.new/src/maskFastaFromBed/Makefile ---- bedtools2/src/maskFastaFromBed/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/maskFastaFromBed/Makefile 2016-08-06 07:49:57.360333022 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/mergeFile/Makefile bedtools2.new/src/mergeFile/Makefile ---- bedtools2/src/mergeFile/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/mergeFile/Makefile 2016-08-06 07:49:57.374331781 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/multiBamCov/Makefile bedtools2.new/src/multiBamCov/Makefile ---- bedtools2/src/multiBamCov/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/multiBamCov/Makefile 2016-08-06 07:49:57.238343837 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/multiIntersectBed/Makefile bedtools2.new/src/multiIntersectBed/Makefile ---- bedtools2/src/multiIntersectBed/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/multiIntersectBed/Makefile 2016-08-06 07:49:57.233344280 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/nekSandbox1/Makefile bedtools2.new/src/nekSandbox1/Makefile ---- bedtools2/src/nekSandbox1/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/nekSandbox1/Makefile 2016-08-06 07:49:57.386330717 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/nucBed/Makefile bedtools2.new/src/nucBed/Makefile ---- bedtools2/src/nucBed/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/nucBed/Makefile 2016-08-06 07:49:57.293338961 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/pairToBed/Makefile bedtools2.new/src/pairToBed/Makefile ---- bedtools2/src/pairToBed/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/pairToBed/Makefile 2016-08-06 07:49:57.245343217 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/pairToPair/Makefile bedtools2.new/src/pairToPair/Makefile ---- bedtools2/src/pairToPair/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/pairToPair/Makefile 2016-08-06 07:49:57.273340734 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/randomBed/Makefile bedtools2.new/src/randomBed/Makefile ---- bedtools2/src/randomBed/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/randomBed/Makefile 2016-08-06 07:49:57.268341178 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/regressTest/Makefile bedtools2.new/src/regressTest/Makefile ---- bedtools2/src/regressTest/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/regressTest/Makefile 2016-08-06 07:49:57.376331604 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/reldist/Makefile bedtools2.new/src/reldist/Makefile ---- bedtools2/src/reldist/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/reldist/Makefile 2016-08-06 07:49:57.384330894 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/sampleFile/Makefile bedtools2.new/src/sampleFile/Makefile ---- bedtools2/src/sampleFile/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/sampleFile/Makefile 2016-08-06 07:49:57.257342153 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/shiftBed/Makefile bedtools2.new/src/shiftBed/Makefile ---- bedtools2/src/shiftBed/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/shiftBed/Makefile 2016-08-06 07:49:57.252342596 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/shuffleBed/Makefile bedtools2.new/src/shuffleBed/Makefile ---- bedtools2/src/shuffleBed/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/shuffleBed/Makefile 2016-08-06 07:49:57.364332667 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/slopBed/Makefile bedtools2.new/src/slopBed/Makefile ---- bedtools2/src/slopBed/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/slopBed/Makefile 2016-08-06 07:49:57.275340557 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/sortBed/Makefile bedtools2.new/src/sortBed/Makefile ---- bedtools2/src/sortBed/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/sortBed/Makefile 2016-08-06 07:49:57.250342773 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/spacingFile/Makefile bedtools2.new/src/spacingFile/Makefile ---- bedtools2/src/spacingFile/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/spacingFile/Makefile 2016-08-06 07:49:57.356333377 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/split/Makefile bedtools2.new/src/split/Makefile ---- bedtools2/src/split/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/split/Makefile 2016-08-06 07:49:57.263341621 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/subtractFile/Makefile bedtools2.new/src/subtractFile/Makefile ---- bedtools2/src/subtractFile/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/subtractFile/Makefile 2016-08-06 07:49:57.236344014 +0100 -@@ -1,7 +1,7 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ --TOOL_DIR = ../../src/ -+TOOL_DIR = ../../src - - # ------------------- - # define our includes -diff -ur bedtools2/src/tagBam/Makefile bedtools2.new/src/tagBam/Makefile ---- bedtools2/src/tagBam/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/tagBam/Makefile 2016-08-06 07:49:57.295338784 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/unionBedGraphs/Makefile bedtools2.new/src/unionBedGraphs/Makefile ---- bedtools2/src/unionBedGraphs/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/unionBedGraphs/Makefile 2016-08-06 07:49:57.381331160 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/utils/BamTools-Ancillary/Makefile bedtools2.new/src/utils/BamTools-Ancillary/Makefile ---- bedtools2/src/utils/BamTools-Ancillary/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/utils/BamTools-Ancillary/Makefile 2016-08-06 07:49:57.349333997 +0100 -@@ -1,6 +1,6 @@ - OBJ_DIR = ../../../obj/ - BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../ -+UTILITIES_DIR = .. - - INCLUDES = -I$(UTILITIES_DIR)/BamTools/include \ - -I$(UTILITIES_DIR)/bedFile/ \ -diff -ur bedtools2/src/utils/bedFile/Makefile bedtools2.new/src/utils/bedFile/Makefile ---- bedtools2/src/utils/bedFile/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/utils/bedFile/Makefile 2016-08-06 07:49:57.317336834 +0100 -@@ -1,6 +1,6 @@ - OBJ_DIR = ../../../obj/ - BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -diff -ur bedtools2/src/utils/bedFilePE/Makefile bedtools2.new/src/utils/bedFilePE/Makefile ---- bedtools2/src/utils/bedFilePE/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/utils/bedFilePE/Makefile 2016-08-06 07:49:57.334335327 +0100 -@@ -1,6 +1,6 @@ - OBJ_DIR = ../../../obj/ - BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -diff -ur bedtools2/src/utils/bedGraphFile/Makefile bedtools2.new/src/utils/bedGraphFile/Makefile ---- bedtools2/src/utils/bedGraphFile/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/utils/bedGraphFile/Makefile 2016-08-06 07:49:57.332335504 +0100 -@@ -1,6 +1,6 @@ - OBJ_DIR = ../../../obj/ - BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -diff -ur bedtools2/src/utils/BinTree/Makefile bedtools2.new/src/utils/BinTree/Makefile ---- bedtools2/src/utils/BinTree/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/utils/BinTree/Makefile 2016-08-06 07:49:57.330335681 +0100 -@@ -1,6 +1,6 @@ - OBJ_DIR = ../../../obj/ - BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -diff -ur bedtools2/src/utils/BlockedIntervals/Makefile bedtools2.new/src/utils/BlockedIntervals/Makefile ---- bedtools2/src/utils/BlockedIntervals/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/utils/BlockedIntervals/Makefile 2016-08-06 07:49:57.321336479 +0100 -@@ -1,6 +1,6 @@ - OBJ_DIR = ../../../obj/ - BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../ -+UTILITIES_DIR = .. - - INCLUDES = -I$(UTILITIES_DIR)/BamTools/include \ - -I$(UTILITIES_DIR)/bedFile/ \ -diff -ur bedtools2/src/utils/chromsweep/Makefile bedtools2.new/src/utils/chromsweep/Makefile ---- bedtools2/src/utils/chromsweep/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/utils/chromsweep/Makefile 2016-08-06 07:49:57.351333820 +0100 -@@ -1,6 +1,6 @@ - OBJ_DIR = ../../../obj/ - BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -diff -ur bedtools2/src/utils/Contexts/Makefile bedtools2.new/src/utils/Contexts/Makefile ---- bedtools2/src/utils/Contexts/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/utils/Contexts/Makefile 2016-08-06 07:49:57.319336657 +0100 -@@ -1,6 +1,6 @@ - OBJ_DIR = ../../../obj/ - BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -diff -ur bedtools2/src/utils/driver/Makefile bedtools2.new/src/utils/driver/Makefile ---- bedtools2/src/utils/driver/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/utils/driver/Makefile 2016-08-06 07:49:57.308337632 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../../utils/ -+UTILITIES_DIR = ../../utils - TOOLS_DIR = ../../../src/ - OBJ_DIR = ../../../obj/ - BIN_DIR = ../../../bin/ -diff -ur bedtools2/src/utils/Fasta/Makefile bedtools2.new/src/utils/Fasta/Makefile ---- bedtools2/src/utils/Fasta/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/utils/Fasta/Makefile 2016-08-06 07:49:57.323336302 +0100 -@@ -1,6 +1,6 @@ - OBJ_DIR = ../../../obj/ - BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -diff -ur bedtools2/src/utils/FileRecordTools/FileReaders/Makefile bedtools2.new/src/utils/FileRecordTools/FileReaders/Makefile ---- bedtools2/src/utils/FileRecordTools/FileReaders/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/utils/FileRecordTools/FileReaders/Makefile 2016-08-06 07:49:57.345334352 +0100 -@@ -1,6 +1,6 @@ - OBJ_DIR = ../../../../obj/ - BIN_DIR = ../../../../bin/ --UTILITIES_DIR = ../../../utils/ -+UTILITIES_DIR = ../../../utils - # ------------------- - # define our includes - # ------------------- -diff -ur bedtools2/src/utils/FileRecordTools/Makefile bedtools2.new/src/utils/FileRecordTools/Makefile ---- bedtools2/src/utils/FileRecordTools/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/utils/FileRecordTools/Makefile 2016-08-06 07:49:57.340334795 +0100 -@@ -1,6 +1,6 @@ - OBJ_DIR = ../../../obj/ - BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -diff -ur bedtools2/src/utils/FileRecordTools/Records/Makefile bedtools2.new/src/utils/FileRecordTools/Records/Makefile ---- bedtools2/src/utils/FileRecordTools/Records/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/utils/FileRecordTools/Records/Makefile 2016-08-06 07:49:57.343334529 +0100 -@@ -1,6 +1,6 @@ - OBJ_DIR = ../../../../obj/ - BIN_DIR = ../../../../bin/ --UTILITIES_DIR = ../../../utils/ -+UTILITIES_DIR = ../../../utils - # ------------------- - # define our includes - # ------------------- -diff -ur bedtools2/src/utils/fileType/Makefile bedtools2.new/src/utils/fileType/Makefile ---- bedtools2/src/utils/fileType/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/utils/fileType/Makefile 2016-08-06 07:49:57.299338430 +0100 -@@ -1,6 +1,6 @@ - OBJ_DIR = ../../../obj/ - BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -diff -ur bedtools2/src/utils/general/Makefile bedtools2.new/src/utils/general/Makefile ---- bedtools2/src/utils/general/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/utils/general/Makefile 2016-08-06 07:49:57.297338607 +0100 -@@ -1,6 +1,6 @@ - OBJ_DIR = ../../../obj/ - BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -diff -ur bedtools2/src/utils/GenomeFile/Makefile bedtools2.new/src/utils/GenomeFile/Makefile ---- bedtools2/src/utils/GenomeFile/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/utils/GenomeFile/Makefile 2016-08-06 07:49:57.310337454 +0100 -@@ -1,6 +1,6 @@ - OBJ_DIR = ../../../obj/ - BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../ -+UTILITIES_DIR = .. - # ------------------- - # define our includes - # ------------------- -diff -ur bedtools2/src/utils/gzstream/Makefile bedtools2.new/src/utils/gzstream/Makefile ---- bedtools2/src/utils/gzstream/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/utils/gzstream/Makefile 2016-08-06 07:49:57.313337189 +0100 -@@ -35,7 +35,7 @@ - INCLUDES = -I. - OBJ_DIR = ../../../obj/ - BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+UTILITIES_DIR = ../../utils - - ${OBJ_DIR}/gzstream.o : gzstream.C gzstream.h - $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $(OBJ_DIR)/gzstream.o gzstream.C $(INCLUDES) -diff -ur bedtools2/src/utils/KeyListOps/Makefile bedtools2.new/src/utils/KeyListOps/Makefile ---- bedtools2/src/utils/KeyListOps/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/utils/KeyListOps/Makefile 2016-08-06 07:49:57.338334972 +0100 -@@ -1,6 +1,6 @@ - OBJ_DIR = ../../../obj/ - BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -diff -ur bedtools2/src/utils/NewChromsweep/Makefile bedtools2.new/src/utils/NewChromsweep/Makefile ---- bedtools2/src/utils/NewChromsweep/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/utils/NewChromsweep/Makefile 2016-08-06 07:49:57.304337986 +0100 -@@ -1,6 +1,6 @@ - OBJ_DIR = ../../../obj/ - BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -diff -ur bedtools2/src/utils/RecordOutputMgr/Makefile bedtools2.new/src/utils/RecordOutputMgr/Makefile ---- bedtools2/src/utils/RecordOutputMgr/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/utils/RecordOutputMgr/Makefile 2016-08-06 07:49:57.347334174 +0100 -@@ -1,6 +1,6 @@ - OBJ_DIR = ../../../obj/ - BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -diff -ur bedtools2/src/utils/sequenceUtilities/Makefile bedtools2.new/src/utils/sequenceUtilities/Makefile ---- bedtools2/src/utils/sequenceUtilities/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/utils/sequenceUtilities/Makefile 2016-08-06 07:49:57.315337011 +0100 -@@ -1,6 +1,6 @@ - OBJ_DIR = ../../../obj/ - BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -diff -ur bedtools2/src/utils/tabFile/Makefile bedtools2.new/src/utils/tabFile/Makefile ---- bedtools2/src/utils/tabFile/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/utils/tabFile/Makefile 2016-08-06 07:49:57.336335150 +0100 -@@ -1,6 +1,6 @@ - OBJ_DIR = ../../../obj/ - BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -diff -ur bedtools2/src/utils/ToolBase/Makefile bedtools2.new/src/utils/ToolBase/Makefile ---- bedtools2/src/utils/ToolBase/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/utils/ToolBase/Makefile 2016-08-06 07:49:57.306337809 +0100 -@@ -1,6 +1,6 @@ - OBJ_DIR = ../../../obj/ - BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -diff -ur bedtools2/src/utils/VectorOps/Makefile bedtools2.new/src/utils/VectorOps/Makefile ---- bedtools2/src/utils/VectorOps/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/utils/VectorOps/Makefile 2016-08-06 07:49:57.325336125 +0100 -@@ -1,6 +1,6 @@ - OBJ_DIR = ../../../obj/ - BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+UTILITIES_DIR = ../../utils - - # ---------------------------------- - # define our source and object files -diff -ur bedtools2/src/utils/version/Makefile bedtools2.new/src/utils/version/Makefile ---- bedtools2/src/utils/version/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/utils/version/Makefile 2016-08-06 07:49:57.301338252 +0100 -@@ -1,6 +1,6 @@ - OBJ_DIR = ../../../obj/ - BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -diff -ur bedtools2/src/windowBed/Makefile bedtools2.new/src/windowBed/Makefile ---- bedtools2/src/windowBed/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/windowBed/Makefile 2016-08-06 07:49:57.284339759 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - -diff -ur bedtools2/src/windowMaker/Makefile bedtools2.new/src/windowMaker/Makefile ---- bedtools2/src/windowMaker/Makefile 2016-07-06 23:25:44.000000000 +0100 -+++ bedtools2.new/src/windowMaker/Makefile 2016-08-06 07:49:57.241343571 +0100 -@@ -1,4 +1,4 @@ --UTILITIES_DIR = ../utils/ -+UTILITIES_DIR = ../utils - OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - diff --git a/BEDTools.spec b/BEDTools.spec deleted file mode 100644 index f87b28a..0000000 --- a/BEDTools.spec +++ /dev/null @@ -1,250 +0,0 @@ -Name: BEDTools -Version: 2.27.1 -Release: 4%{?dist} -Summary: A flexible suite of utilities for comparing genomic features -License: GPLv2+ -URL: https://github.com/arq5x/bedtools2 -Source0: https://github.com/arq5x/bedtools2/releases/download/v%{version}/bedtools-%{version}.tar.gz -#Fix debuginfo canonicalization error -Patch0: BEDTools-double-parenthesis.patch -# Fix very bizarre mess in the sphinx config which breaks build: -# https://github.com/arq5x/bedtools2/pull/625 -Patch1: 0001-Ditch-bizarre-inclusion-then-mock-out-of-matplotlib-.patch - -BuildRequires: gcc-c++ -BuildRequires: gcc-c++ -BuildRequires: zlib-devel -BuildRequires: python2 -BuildRequires: python2-sphinx - -%description - -The BEDTools utilities allow one to address common genomics tasks such -as finding feature overlaps and computing coverage. The utilities are -largely based on four widely-used file formats: BED, GFF/GTF, VCF, and -SAM/BAM. Using BEDTools, one can develop sophisticated pipelines that -answer complicated research questions by "streaming" several BEDTools -together. - -%prep -%autosetup -n bedtools2 -p1 -# remove bundled curl library -rm -rf src/utils/curl - - -%build -# gzstream includes a local header file -make %{?_smp_mflags} CXXFLAGS="-I. %{optflags}" V=1 -cd docs -make clean html -cd .. - - -%install -mkdir -p %{buildroot}%{_bindir} -install -m 0755 bin/* %{buildroot}%{_bindir} -mkdir -p %{buildroot}%{_datadir}/%{name} -cp -a genomes/ %{buildroot}%{_datadir}/%{name} -cp -a data/ %{buildroot}%{_datadir}/%{name} -# fix permissions -find %{buildroot}%{_datadir}/%{name} -type f -exec chmod 0644 {} \; - - -%files -%doc README.md RELEASE_HISTORY docs/_build/html/ -%license LICENSE -%dir %{_datadir}/%{name} -%{_bindir}/* -%{_datadir}/%{name}/genomes -%{_datadir}/%{name}/data - -%changelog -* Wed Jul 24 2019 Fedora Release Engineering - 2.27.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Thu Jan 31 2019 Fedora Release Engineering - 2.27.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Thu Jul 12 2018 Fedora Release Engineering - 2.27.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Wed Apr 11 2018 Filipe Rosset - 2.27.1-1 -- update to latest upstream release 2.27.1 -- fixes rhbz #1555465 and rhbz #1526649 -- spec cleanup - -* Sat Mar 17 2018 Adam Huffman - 2.27.0-1 -- Update to latest upstream release 2.27.0 - -* Wed Mar 14 2018 Iryna Shcherbina - 2.26.0-8 -- Update Python 2 dependency declarations to new packaging standards - (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) - -* Wed Mar 07 2018 Adam Williamson - 2.26.0-7 -- Rebuild to fix GCC 8 mis-compilation - See https://da.gd/YJVwk ("GCC 8 ABI change on x86_64") - -* Wed Feb 07 2018 Fedora Release Engineering - 2.26.0-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Wed Aug 02 2017 Fedora Release Engineering - 2.26.0-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 2.26.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Fri Feb 10 2017 Fedora Release Engineering - 2.26.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Sat Aug 06 2016 Adam Huffman - 2.26.0-2 -- Fix from Kyle Powell to re-enable debuginfo - -* Sat Jul 09 2016 Adam Huffman - 2.26.0-1 -- Update to latest upstream release 2.26.0 - -* Wed Feb 03 2016 Fedora Release Engineering - 2.25.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Sat Sep 05 2015 Adam Huffman - 2.25.0-1 -- Update to latest upstream release 2.25.0 -- Disable upstreamed patches -- Disable double path separator patch for now - -* Sun Aug 23 2015 Adam Huffman - 2.24.0-6 -- Fix binary directory path - -* Sat Jul 18 2015 Adam Huffman - 2.24.0-5 -- Re-enable 32-bit and ARM builds - -* Fri Jul 17 2015 Adam Huffman - 2.24.0-4 -- Add temporary patches to fix 32-bit compilation derived from upstream commits - -* Sun Jul 12 2015 Adam Huffman - 2.24.0-3 -- Disable i686 build until upstream fixes arrive - -* Fri Jul 3 2015 Peter Robinson 2.24.0-2 -- Disable hardened build -- Exclude ARMv7 for the moment (tracked rhbz 1239119) - -* Wed Jul 01 2015 Adam Huffman - 2.24.0-1 -- Disable debuginfo for now to re-enable build -- Disable debuginfo-related patches for now - -* Tue Jun 16 2015 Fedora Release Engineering - 2.23.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Mon Apr 06 2015 Adam Huffman - 2.23.0-2 -- Simplify list of included binaries - -* Mon Mar 09 2015 Adam Huffman - 2.23.0-1 -- Update to upstream 2.23.0 - -* Sat Dec 27 2014 Adam Huffman - 2.22.0-1 -- Update to upstream 2.22.0 - -* Mon Aug 25 2014 Adam Huffman - 2.20.1-4 -- Update debugedit patch -- Reinstate gzstream patch - -* Fri Aug 15 2014 Fedora Release Engineering - 2.20.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sat Jun 14 2014 Adam Huffman - 2.20.1-2 -- More path changes to fix debuginfo build - -* Sat Jun 07 2014 Adam Huffman - 2.20.1-1 -- Update to upstream 2.20.1 -- Build integrated docs and remove obsolete PDF manual in -docs subpackage - -* Fri Jun 06 2014 Fedora Release Engineering - 2.19.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Wed Apr 16 2014 Adam Huffman - 2.19.1-2 -- Fix for debugedit canonicalization error -- Don't include jaccard, reldist and sample - -* Wed Apr 16 2014 Adam Huffman - 2.19.1-1 -- Update to upstream 2.19.1 release - -* Sun Mar 02 2014 Adam Huffman - 2.19.0-1 -- Update to upstream 2.19.0 release -- Upstream now hosted at Github, not Google Code -- Add three new tools - -* Tue Aug 06 2013 Adam Huffman - 2.17.0-1 -- Update to upstream 2.17.0 release -- Fix changed tarball directory name -- Add four new tools - -* Fri Aug 02 2013 Fedora Release Engineering - 2.15.0-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Wed Feb 13 2013 Fedora Release Engineering - 2.15.0-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Wed Jul 18 2012 Fedora Release Engineering - 2.15.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Tue Feb 28 2012 Fedora Release Engineering - 2.15.0-3 -- Rebuilt for c++ ABI breakage - -* Thu Jan 12 2012 Fedora Release Engineering - 2.15.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Wed Jan 4 2012 Adam Huffman - 2.15.0-1 -- update to new upstream release 2.15.0 -- new unified command line interface 'bedtools' -- add python BR for new Makefile target to generate legacy commands -- remove 'overlap' -- add 'bedpeToBam', 'clusterBed', 'getOverlap', 'groupBy' -- add 'multiIntersectBed', 'windowMaker' - -* Fri Oct 28 2011 Adam Huffman - 2.13.4-1 -- new upstream minor bugfix release, see http://code.google.com/p/bedtools/ - -* Thu Sep 8 2011 Adam Huffman - 2.13.1-1 -- new upstream minor release including fixes for tagBam - -* Tue Sep 6 2011 Adam Huffman - 2.13.0-1 -- new upstream release 2.13.0 -- new tools tagBam and nucBed - -* Tue Apr 12 2011 Adam Huffman - 2.12.0-1 -- new upstream release 2.12.0 -- new tools cuffToTrans and flankBed - -* Thu Feb 17 2011 Adam Huffman - 2.11.2-1 -- new upstream release -- now README.rst -- remove groupBy command, now in filo -- new fjoin command - -* Mon Feb 07 2011 Fedora Release Engineering - 2.10.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Wed Nov 17 2010 Adam Huffman - 2.10.1-1 -- new annotateBed tool -- updated manual - -* Sun Sep 12 2010 Adam Huffman - 2.9.0-5 -- add license for -docs - -* Wed Sep 1 2010 Adam Huffman - 2.9.0-4 -- add -docs subpackage including PDF manual - -* Tue Aug 31 2010 Adam Huffman - 2.9.0-3 -- remove 'curl' library properly - -* Tue Aug 31 2010 Adam Huffman - 2.9.0-2 -- fix license and add LICENSE file -- fix permissions of data/ -- remove bundled 'curl' library - -* Wed Aug 25 2010 Adam Huffman - 2.9.0-1 -- new upstream release -- add new unionBedGraphs tool - -* Mon Aug 2 2010 Adam Huffman - 2.8.3-1 -- initial version -- override upstream CFLAGS -- allow including gzstream header file diff --git a/b47dbefcb57f8e6c4fe397f64346338620740b71.patch b/b47dbefcb57f8e6c4fe397f64346338620740b71.patch deleted file mode 100644 index f1b3eff..0000000 --- a/b47dbefcb57f8e6c4fe397f64346338620740b71.patch +++ /dev/null @@ -1,167 +0,0 @@ -From b47dbefcb57f8e6c4fe397f64346338620740b71 Mon Sep 17 00:00:00 2001 -From: arq5x -Date: Wed, 15 Jul 2015 15:15:23 -0600 -Subject: [PATCH] settle on uint32_t signature for QuickString. Resolves #267 - and #271? - ---- - src/coverageFile/coverageFile.cpp | 24 ++++++++++++------------ - src/utils/general/QuickString.cpp | 27 ++++++++++++++------------- - src/utils/general/QuickString.h | 6 +++--- - 3 files changed, 29 insertions(+), 28 deletions(-) - -diff --git a/src/coverageFile/coverageFile.cpp b/src/coverageFile/coverageFile.cpp -index 859cfdc..0fb544b 100644 ---- a/src/coverageFile/coverageFile.cpp -+++ b/src/coverageFile/coverageFile.cpp -@@ -83,11 +83,11 @@ void CoverageFile::giveFinalReport(RecordOutputMgr *outputMgr) { - float depthPct = (float)basesAtDepth / (float)_totalQueryLen; - - _finalOutput = "all\t"; -- _finalOutput.append(depth); -+ _finalOutput.append(static_cast(depth)); - _finalOutput.append("\t"); -- _finalOutput.append(basesAtDepth); -+ _finalOutput.append(static_cast(basesAtDepth)); - _finalOutput.append("\t"); -- _finalOutput.append(_totalQueryLen); -+ _finalOutput.append(static_cast(_totalQueryLen)); - _finalOutput.append("\t"); - format(depthPct); - -@@ -138,7 +138,7 @@ size_t CoverageFile::countBasesAtDepth(size_t depth) { - - void CoverageFile::doCounts(RecordOutputMgr *outputMgr, RecordKeyVector &hits) - { -- _finalOutput = hits.size(); -+ _finalOutput = static_cast(hits.size()); - outputMgr->printRecord(hits.getKey(), _finalOutput); - } - -@@ -147,9 +147,9 @@ void CoverageFile::doPerBase(RecordOutputMgr *outputMgr, RecordKeyVector &hits) - //loop through all bases in query, printing full record and metrics for each - const Record * queryRec = hits.getKey(); - for (size_t i= 0; i < _queryLen; i++) { -- _finalOutput = i +1; -+ _finalOutput = static_cast(i+1); - _finalOutput.append("\t"); -- _finalOutput.append(_depthArray[i]); -+ _finalOutput.append(static_cast(_depthArray[i])); - - outputMgr->printRecord(queryRec, _finalOutput); - } -@@ -181,11 +181,11 @@ void CoverageFile::doHist(RecordOutputMgr *outputMgr, RecordKeyVector &hits) - size_t numBasesAtDepth = iter->second; - float coveredBases = (float)numBasesAtDepth / (float)_queryLen; - -- _finalOutput = depth; -+ _finalOutput = static_cast(depth); - _finalOutput.append("\t"); -- _finalOutput.append(numBasesAtDepth); -+ _finalOutput.append(static_cast(numBasesAtDepth)); - _finalOutput.append("\t"); -- _finalOutput.append(_queryLen); -+ _finalOutput.append(static_cast(_queryLen)); - _finalOutput.append("\t"); - format(coveredBases); - -@@ -199,11 +199,11 @@ void CoverageFile::doDefault(RecordOutputMgr *outputMgr, RecordKeyVector &hits) - size_t nonZeroBases = _queryLen - countBasesAtDepth(0); - float coveredBases = (float)nonZeroBases / (float)_queryLen; - -- _finalOutput = hits.size(); -+ _finalOutput = static_cast(hits.size()); - _finalOutput.append("\t"); -- _finalOutput.append(nonZeroBases); -+ _finalOutput.append(static_cast(nonZeroBases)); - _finalOutput.append("\t"); -- _finalOutput.append(_queryLen); -+ _finalOutput.append(static_cast(_queryLen)); - _finalOutput.append("\t"); - format(coveredBases); - -diff --git a/src/utils/general/QuickString.cpp b/src/utils/general/QuickString.cpp -index 0757009..a83263e 100644 ---- a/src/utils/general/QuickString.cpp -+++ b/src/utils/general/QuickString.cpp -@@ -105,11 +105,11 @@ QuickString &QuickString::operator = (uint32_t val) { - return *this; - } - --QuickString &QuickString::operator = (size_t val) { -- clear(); -- append(val); -- return *this; --} -+// QuickString &QuickString::operator = (size_t val) { -+// clear(); -+// append(val); -+// return *this; -+// } - - QuickString &QuickString::operator = (float val) { - clear(); -@@ -158,10 +158,11 @@ QuickString &QuickString::operator += (uint32_t num) { - return *this; - } - --QuickString &QuickString::operator += (size_t num) { -- append(num); -- return *this; --} -+// QuickString &QuickString::operator += (size_t num) { -+// append(num); -+// return *this; -+// } -+ - QuickString &QuickString::operator += (float num) { - append(num); - return *this; -@@ -273,12 +274,12 @@ void QuickString::append(int num) { - } - - void QuickString::append(uint32_t num) { -- int2str((int)num, *this, true); -+ int2str((int)num, *this, true); - } - --void QuickString::append(size_t num) { -- int2str((int)num, *this, true); --} -+// void QuickString::append(size_t num) { -+// int2str((int)num, *this, true); -+// } - - void QuickString::append(float num) { - append(ToString(num)); -diff --git a/src/utils/general/QuickString.h b/src/utils/general/QuickString.h -index b43fdfc..6e6fa94 100644 ---- a/src/utils/general/QuickString.h -+++ b/src/utils/general/QuickString.h -@@ -38,7 +38,7 @@ class QuickString { - QuickString &operator = (char); - QuickString &operator = (int); - QuickString &operator = (uint32_t); -- QuickString &operator = (size_t); -+ //QuickString &operator = (size_t); - QuickString &operator = (float); - QuickString &operator = (double); - QuickString &operator += (const QuickString &); -@@ -47,7 +47,7 @@ class QuickString { - QuickString &operator += (char); - QuickString &operator += (int); - QuickString &operator += (uint32_t); -- QuickString &operator += (size_t); -+ //QuickString &operator += (size_t); - QuickString &operator += (float); - QuickString &operator += (double); - -@@ -74,7 +74,7 @@ class QuickString { - //for better performance. - void append(int num); - void append(uint32_t num); -- void append(size_t num); -+ //void append(size_t num); - void append(float num); - void append(double num); - diff --git a/bedtools-debugedit.patch b/bedtools-debugedit.patch deleted file mode 100644 index 8b0436b..0000000 --- a/bedtools-debugedit.patch +++ /dev/null @@ -1,520 +0,0 @@ -diff -ur bedtools2-2.20.1/src/annotateBed/Makefile bedtools2-2.20.1.new/src/annotateBed/Makefile ---- bedtools2-2.20.1/src/annotateBed/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/annotateBed/Makefile 2014-08-25 09:10:49.597164885 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/bamToBed/Makefile bedtools2-2.20.1.new/src/bamToBed/Makefile ---- bedtools2-2.20.1/src/bamToBed/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/bamToBed/Makefile 2014-08-25 09:10:50.217223275 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/bamToFastq/Makefile bedtools2-2.20.1.new/src/bamToFastq/Makefile ---- bedtools2-2.20.1/src/bamToFastq/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/bamToFastq/Makefile 2014-08-25 09:10:50.349235706 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/bed12ToBed6/Makefile bedtools2-2.20.1.new/src/bed12ToBed6/Makefile ---- bedtools2-2.20.1/src/bed12ToBed6/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/bed12ToBed6/Makefile 2014-08-25 09:10:50.325233446 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/bedpeToBam/Makefile bedtools2-2.20.1.new/src/bedpeToBam/Makefile ---- bedtools2-2.20.1/src/bedpeToBam/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/bedpeToBam/Makefile 2014-08-25 09:10:50.250226383 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/bedToBam/Makefile bedtools2-2.20.1.new/src/bedToBam/Makefile ---- bedtools2-2.20.1/src/bedToBam/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/bedToBam/Makefile 2014-08-25 09:10:50.337234576 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/bedToIgv/Makefile bedtools2-2.20.1.new/src/bedToIgv/Makefile ---- bedtools2-2.20.1/src/bedToIgv/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/bedToIgv/Makefile 2014-08-25 09:10:50.212222804 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/clusterBed/Makefile bedtools2-2.20.1.new/src/clusterBed/Makefile ---- bedtools2-2.20.1/src/clusterBed/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/clusterBed/Makefile 2014-08-25 09:10:50.256226948 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/complementBed/Makefile bedtools2-2.20.1.new/src/complementBed/Makefile ---- bedtools2-2.20.1/src/complementBed/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/complementBed/Makefile 2014-08-25 09:10:50.263227607 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/coverageBed/Makefile bedtools2-2.20.1.new/src/coverageBed/Makefile ---- bedtools2-2.20.1/src/coverageBed/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/coverageBed/Makefile 2014-08-25 09:10:50.289230056 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/expand/Makefile bedtools2-2.20.1.new/src/expand/Makefile ---- bedtools2-2.20.1/src/expand/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/expand/Makefile 2014-08-25 09:10:49.606165733 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - - # ------------------- -diff -ur bedtools2-2.20.1/src/fastaFromBed/Makefile bedtools2-2.20.1.new/src/fastaFromBed/Makefile ---- bedtools2-2.20.1/src/fastaFromBed/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/fastaFromBed/Makefile 2014-08-25 09:10:50.241225535 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/flankBed/Makefile bedtools2-2.20.1.new/src/flankBed/Makefile ---- bedtools2-2.20.1/src/flankBed/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/flankBed/Makefile 2014-08-25 09:10:50.410241451 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/genomeCoverageBed/Makefile bedtools2-2.20.1.new/src/genomeCoverageBed/Makefile ---- bedtools2-2.20.1/src/genomeCoverageBed/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/genomeCoverageBed/Makefile 2014-08-25 09:10:50.308231845 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/getOverlap/Makefile bedtools2-2.20.1.new/src/getOverlap/Makefile ---- bedtools2-2.20.1/src/getOverlap/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/getOverlap/Makefile 2014-08-25 09:10:49.592164414 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - - # ------------------- -diff -ur bedtools2-2.20.1/src/groupBy/Makefile bedtools2-2.20.1.new/src/groupBy/Makefile ---- bedtools2-2.20.1/src/groupBy/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/groupBy/Makefile 2014-08-25 09:10:49.580163284 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - - # ------------------- -diff -ur bedtools2-2.20.1/src/intersectFile/Makefile bedtools2-2.20.1.new/src/intersectFile/Makefile ---- bedtools2-2.20.1/src/intersectFile/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/intersectFile/Makefile 2014-08-25 09:10:50.329233823 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/jaccard/Makefile bedtools2-2.20.1.new/src/jaccard/Makefile ---- bedtools2-2.20.1/src/jaccard/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/jaccard/Makefile 2014-08-25 09:10:50.357236460 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/linksBed/Makefile bedtools2-2.20.1.new/src/linksBed/Makefile ---- bedtools2-2.20.1/src/linksBed/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/linksBed/Makefile 2014-08-25 09:10:50.176219414 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/mapFile/Makefile bedtools2-2.20.1.new/src/mapFile/Makefile ---- bedtools2-2.20.1/src/mapFile/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/mapFile/Makefile 2014-08-25 09:10:50.341234953 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/maskFastaFromBed/Makefile bedtools2-2.20.1.new/src/maskFastaFromBed/Makefile ---- bedtools2-2.20.1/src/maskFastaFromBed/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/maskFastaFromBed/Makefile 2014-08-25 09:10:49.628167805 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/mergeFile/Makefile bedtools2-2.20.1.new/src/mergeFile/Makefile ---- bedtools2-2.20.1/src/mergeFile/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/mergeFile/Makefile 2014-08-25 09:10:50.283229491 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/multiBamCov/Makefile bedtools2-2.20.1.new/src/multiBamCov/Makefile ---- bedtools2-2.20.1/src/multiBamCov/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/multiBamCov/Makefile 2014-08-25 09:10:50.317232693 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/multiIntersectBed/Makefile bedtools2-2.20.1.new/src/multiIntersectBed/Makefile ---- bedtools2-2.20.1/src/multiIntersectBed/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/multiIntersectBed/Makefile 2014-08-25 09:10:50.193221015 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/nekSandbox1/Makefile bedtools2-2.20.1.new/src/nekSandbox1/Makefile ---- bedtools2-2.20.1/src/nekSandbox1/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/nekSandbox1/Makefile 2014-08-25 09:10:50.417242110 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/nucBed/Makefile bedtools2-2.20.1.new/src/nucBed/Makefile ---- bedtools2-2.20.1/src/nucBed/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/nucBed/Makefile 2014-08-25 09:10:50.201221768 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/pairToBed/Makefile bedtools2-2.20.1.new/src/pairToBed/Makefile ---- bedtools2-2.20.1/src/pairToBed/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/pairToBed/Makefile 2014-08-25 09:10:50.404240886 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/pairToPair/Makefile bedtools2-2.20.1.new/src/pairToPair/Makefile ---- bedtools2-2.20.1/src/pairToPair/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/pairToPair/Makefile 2014-08-25 09:10:50.300231092 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/randomBed/Makefile bedtools2-2.20.1.new/src/randomBed/Makefile ---- bedtools2-2.20.1/src/randomBed/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/randomBed/Makefile 2014-08-25 09:10:50.367237401 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/regressTest/Makefile bedtools2-2.20.1.new/src/regressTest/Makefile ---- bedtools2-2.20.1/src/regressTest/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/regressTest/Makefile 2014-08-25 09:10:49.610166110 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/reldist/Makefile bedtools2-2.20.1.new/src/reldist/Makefile ---- bedtools2-2.20.1/src/reldist/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/reldist/Makefile 2014-08-25 09:10:50.167218566 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/sampleFile/Makefile bedtools2-2.20.1.new/src/sampleFile/Makefile ---- bedtools2-2.20.1/src/sampleFile/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/sampleFile/Makefile 2014-08-25 09:10:49.584163661 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/shuffleBed/Makefile bedtools2-2.20.1.new/src/shuffleBed/Makefile ---- bedtools2-2.20.1/src/shuffleBed/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/shuffleBed/Makefile 2014-08-25 09:10:50.222223746 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/slopBed/Makefile bedtools2-2.20.1.new/src/slopBed/Makefile ---- bedtools2-2.20.1/src/slopBed/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/slopBed/Makefile 2014-08-25 09:10:50.183220073 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/sortBed/Makefile bedtools2-2.20.1.new/src/sortBed/Makefile ---- bedtools2-2.20.1/src/sortBed/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/sortBed/Makefile 2014-08-25 09:10:50.271228360 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/subtractBed/Makefile bedtools2-2.20.1.new/src/subtractBed/Makefile ---- bedtools2-2.20.1/src/subtractBed/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/subtractBed/Makefile 2014-08-25 09:10:49.619166957 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/tagBam/Makefile bedtools2-2.20.1.new/src/tagBam/Makefile ---- bedtools2-2.20.1/src/tagBam/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/tagBam/Makefile 2014-08-25 09:10:50.374238061 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/unionBedGraphs/Makefile bedtools2-2.20.1.new/src/unionBedGraphs/Makefile ---- bedtools2-2.20.1/src/unionBedGraphs/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/unionBedGraphs/Makefile 2014-08-25 09:10:50.394239944 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/windowBed/Makefile bedtools2-2.20.1.new/src/windowBed/Makefile ---- bedtools2-2.20.1/src/windowBed/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/windowBed/Makefile 2014-08-25 09:10:50.155217436 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes -diff -ur bedtools2-2.20.1/src/windowMaker/Makefile bedtools2-2.20.1.new/src/windowMaker/Makefile ---- bedtools2-2.20.1/src/windowMaker/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/windowMaker/Makefile 2014-08-25 09:10:50.231224593 +0100 -@@ -1,6 +1,6 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -+UTILITIES_DIR = ../utils -+OBJ_DIR = ../../obj -+BIN_DIR = ../../bin - - # ------------------- - # define our includes diff --git a/bedtools-debuginfo-path.patch b/bedtools-debuginfo-path.patch deleted file mode 100644 index 3eeb9b9..0000000 --- a/bedtools-debuginfo-path.patch +++ /dev/null @@ -1,386 +0,0 @@ -diff -ur bedtools2-2.20.1/src/utils/BamTools/Makefile bedtools2-2.20.1.new/src/utils/BamTools/Makefile ---- bedtools2-2.20.1/src/utils/BamTools/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/utils/BamTools/Makefile 2014-06-14 08:54:38.206849195 +0100 -@@ -1,7 +1,7 @@ - # ------------------- - # define our includes - # ------------------- --OBJ_DIR = ../../../obj/ -+OBJ_DIR = ../../../obj - INCLUDES = -Isrc/ -Iinclude/ - - # ---------------------------------- -diff -ur bedtools2-2.20.1/src/utils/BamTools-Ancillary/Makefile bedtools2-2.20.1.new/src/utils/BamTools-Ancillary/Makefile ---- bedtools2-2.20.1/src/utils/BamTools-Ancillary/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/utils/BamTools-Ancillary/Makefile 2014-06-14 08:54:00.845394556 +0100 -@@ -1,6 +1,6 @@ --OBJ_DIR = ../../../obj/ --BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../ -+OBJ_DIR = ../../../obj -+BIN_DIR = ../../../bin -+UTILITIES_DIR = .. - - INCLUDES = -I$(UTILITIES_DIR)/BamTools/include \ - -I$(UTILITIES_DIR)/bedFile/ \ -@@ -27,4 +27,4 @@ - @echo "Cleaning up." - @rm -f $(OBJ_DIR)/* $(BIN_DIR)/* - --.PHONY: clean -\ No newline at end of file -+.PHONY: clean -diff -ur bedtools2-2.20.1/src/utils/bedFile/Makefile bedtools2-2.20.1.new/src/utils/bedFile/Makefile ---- bedtools2-2.20.1/src/utils/bedFile/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/utils/bedFile/Makefile 2014-06-14 08:53:39.343406368 +0100 -@@ -1,6 +1,6 @@ --OBJ_DIR = ../../../obj/ --BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+OBJ_DIR = ../../../obj -+BIN_DIR = ../../../bin -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -@@ -29,4 +29,4 @@ - @echo "Cleaning up." - @rm -f $(OBJ_DIR)/* $(BIN_DIR)/* - --.PHONY: clean -\ No newline at end of file -+.PHONY: clean -diff -ur bedtools2-2.20.1/src/utils/bedFilePE/Makefile bedtools2-2.20.1.new/src/utils/bedFilePE/Makefile ---- bedtools2-2.20.1/src/utils/bedFilePE/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/utils/bedFilePE/Makefile 2014-06-14 08:53:13.494016197 +0100 -@@ -1,6 +1,6 @@ --OBJ_DIR = ../../../obj/ --BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+OBJ_DIR = ../../../obj -+BIN_DIR = ../../../bin -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -@@ -26,4 +26,4 @@ - @echo "Cleaning up." - @rm -f $(OBJ_DIR)/* $(BIN_DIR)/* - --.PHONY: clean -\ No newline at end of file -+.PHONY: clean -diff -ur bedtools2-2.20.1/src/utils/bedGraphFile/Makefile bedtools2-2.20.1.new/src/utils/bedGraphFile/Makefile ---- bedtools2-2.20.1/src/utils/bedGraphFile/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/utils/bedGraphFile/Makefile 2014-06-14 08:52:50.162858875 +0100 -@@ -1,6 +1,6 @@ --OBJ_DIR = ../../../obj/ --BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+OBJ_DIR = ../../../obj -+BIN_DIR = ../../../bin -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -diff -ur bedtools2-2.20.1/src/utils/BinTree/Makefile bedtools2-2.20.1.new/src/utils/BinTree/Makefile ---- bedtools2-2.20.1/src/utils/BinTree/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/utils/BinTree/Makefile 2014-06-14 08:51:35.924994455 +0100 -@@ -1,6 +1,6 @@ --OBJ_DIR = ../../../obj/ --BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+OBJ_DIR = ../../../obj -+BIN_DIR = ../../../bin -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -@@ -36,4 +36,4 @@ - @echo "Cleaning up." - @rm -f $(OBJ_DIR)/BinTree.o - --.PHONY: clean -\ No newline at end of file -+.PHONY: clean -diff -ur bedtools2-2.20.1/src/utils/BlockedIntervals/Makefile bedtools2-2.20.1.new/src/utils/BlockedIntervals/Makefile ---- bedtools2-2.20.1/src/utils/BlockedIntervals/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/utils/BlockedIntervals/Makefile 2014-06-14 08:50:30.322928549 +0100 -@@ -1,6 +1,6 @@ --OBJ_DIR = ../../../obj/ --BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../ -+OBJ_DIR = ../../../obj -+BIN_DIR = ../../../bin -+UTILITIES_DIR = .. - - INCLUDES = -I$(UTILITIES_DIR)/BamTools/include \ - -I$(UTILITIES_DIR)/bedFile/ \ -diff -ur bedtools2-2.20.1/src/utils/chromsweep/Makefile bedtools2-2.20.1.new/src/utils/chromsweep/Makefile ---- bedtools2-2.20.1/src/utils/chromsweep/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/utils/chromsweep/Makefile 2014-06-14 08:49:28.158180480 +0100 -@@ -1,6 +1,6 @@ --OBJ_DIR = ../../../obj/ --BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+OBJ_DIR = ../../../obj -+BIN_DIR = ../../../bin -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -@@ -29,4 +29,4 @@ - @echo "Cleaning up." - @rm -f $(OBJ_DIR)/* $(BIN_DIR)/* - --.PHONY: clean -\ No newline at end of file -+.PHONY: clean -diff -ur bedtools2-2.20.1/src/utils/Contexts/Makefile bedtools2-2.20.1.new/src/utils/Contexts/Makefile ---- bedtools2-2.20.1/src/utils/Contexts/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/utils/Contexts/Makefile 2014-06-14 08:50:03.671464219 +0100 -@@ -1,6 +1,6 @@ --OBJ_DIR = ../../../obj/ --BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+OBJ_DIR = ../../../obj -+BIN_DIR = ../../../bin -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -@@ -43,4 +43,4 @@ - $(OBJ_DIR)/ContextMerge.o \ - $(OBJ_DIR)/ContextJaccard.o \ - --.PHONY: clean -\ No newline at end of file -+.PHONY: clean -diff -ur bedtools2-2.20.1/src/utils/Fasta/Makefile bedtools2-2.20.1.new/src/utils/Fasta/Makefile ---- bedtools2-2.20.1/src/utils/Fasta/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/utils/Fasta/Makefile 2014-06-14 08:54:53.325247123 +0100 -@@ -1,6 +1,6 @@ --OBJ_DIR = ../../../obj/ --BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+OBJ_DIR = ../../../obj -+BIN_DIR = ../../../bin -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -diff -ur bedtools2-2.20.1/src/utils/FileRecordTools/Makefile bedtools2-2.20.1.new/src/utils/FileRecordTools/Makefile ---- bedtools2-2.20.1/src/utils/FileRecordTools/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/utils/FileRecordTools/Makefile 2014-06-14 08:56:04.393818506 +0100 -@@ -1,6 +1,6 @@ --OBJ_DIR = ../../../obj/ --BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+OBJ_DIR = ../../../obj -+BIN_DIR = ../../../bin -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -@@ -48,4 +48,4 @@ - @rm -f $(OBJ_DIR)/FileRecordMergeMgr.o - - --.PHONY: clean -\ No newline at end of file -+.PHONY: clean -diff -ur bedtools2-2.20.1/src/utils/fileType/Makefile bedtools2-2.20.1.new/src/utils/fileType/Makefile ---- bedtools2-2.20.1/src/utils/fileType/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/utils/fileType/Makefile 2014-06-14 08:56:38.004926372 +0100 -@@ -1,6 +1,6 @@ --OBJ_DIR = ../../../obj/ --BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+OBJ_DIR = ../../../obj -+BIN_DIR = ../../../bin -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -@@ -28,4 +28,4 @@ - @echo "Cleaning up." - @rm -f $(OBJ_DIR)/fileType.o $(OBJ_DIR)/FileRecordTypeChecker.o - --.PHONY: clean -\ No newline at end of file -+.PHONY: clean -diff -ur bedtools2-2.20.1/src/utils/general/Makefile bedtools2-2.20.1.new/src/utils/general/Makefile ---- bedtools2-2.20.1/src/utils/general/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/utils/general/Makefile 2014-06-14 08:56:59.510914933 +0100 -@@ -1,6 +1,6 @@ --OBJ_DIR = ../../../obj/ --BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+OBJ_DIR = ../../../obj -+BIN_DIR = ../../../bin -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -diff -ur bedtools2-2.20.1/src/utils/GenomeFile/Makefile bedtools2-2.20.1.new/src/utils/GenomeFile/Makefile ---- bedtools2-2.20.1/src/utils/GenomeFile/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/utils/GenomeFile/Makefile 2014-06-14 08:57:15.329377595 +0100 -@@ -1,6 +1,6 @@ --OBJ_DIR = ../../../obj/ --BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../ -+OBJ_DIR = ../../../obj -+BIN_DIR = ../../../bin -+UTILITIES_DIR = .. - # ------------------- - # define our includes - # ------------------- -diff -ur bedtools2-2.20.1/src/utils/gzstream/Makefile bedtools2-2.20.1.new/src/utils/gzstream/Makefile ---- bedtools2-2.20.1/src/utils/gzstream/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/utils/gzstream/Makefile 2014-06-14 08:57:51.588730334 +0100 -@@ -33,9 +33,9 @@ - # ---------------------------------------------------------------------------- - - INCLUDES = -I. --OBJ_DIR = ../../../obj/ --BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+OBJ_DIR = ../../../obj -+BIN_DIR = ../../../bin -+UTILITIES_DIR = ../../utils - - ${OBJ_DIR}/gzstream.o : gzstream.C gzstream.h - ${CXX} ${CXXFLAGS} -c -o ${OBJ_DIR}/gzstream.o gzstream.C $(INCLUDES) -diff -ur bedtools2-2.20.1/src/utils/KeyListOps/Makefile bedtools2-2.20.1.new/src/utils/KeyListOps/Makefile ---- bedtools2-2.20.1/src/utils/KeyListOps/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/utils/KeyListOps/Makefile 2014-06-14 08:58:07.554206590 +0100 -@@ -1,6 +1,6 @@ --OBJ_DIR = ../../../obj/ --BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+OBJ_DIR = ../../../obj -+BIN_DIR = ../../../bin -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -@@ -40,4 +40,4 @@ - @echo "Cleaning up." - @rm -f $(OBJ_DIR)/KeyListOps.o $(OBJ_DIR)/KeyListOpsMethods.o - --.PHONY: clean -\ No newline at end of file -+.PHONY: clean -diff -ur bedtools2-2.20.1/src/utils/NewChromsweep/Makefile bedtools2-2.20.1.new/src/utils/NewChromsweep/Makefile ---- bedtools2-2.20.1/src/utils/NewChromsweep/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/utils/NewChromsweep/Makefile 2014-06-14 08:58:36.332867624 +0100 -@@ -1,6 +1,6 @@ --OBJ_DIR = ../../../obj/ --BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+OBJ_DIR = ../../../obj -+BIN_DIR = ../../../bin -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -@@ -37,4 +37,4 @@ - @echo "Cleaning up." - @rm -f $(OBJ_DIR)/NewChromsweep.o $(BIN_DIR)/NewChromsweep.o - --.PHONY: clean -\ No newline at end of file -+.PHONY: clean -diff -ur bedtools2-2.20.1/src/utils/RecordOutputMgr/Makefile bedtools2-2.20.1.new/src/utils/RecordOutputMgr/Makefile ---- bedtools2-2.20.1/src/utils/RecordOutputMgr/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/utils/RecordOutputMgr/Makefile 2014-06-14 08:59:04.656486583 +0100 -@@ -1,6 +1,6 @@ --OBJ_DIR = ../../../obj/ --BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+OBJ_DIR = ../../../obj -+BIN_DIR = ../../../bin -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -@@ -37,4 +37,4 @@ - @echo "Cleaning up." - @rm -f $(OBJ_DIR)/RecordOutputMgr.o - --.PHONY: clean -\ No newline at end of file -+.PHONY: clean -diff -ur bedtools2-2.20.1/src/utils/sequenceUtilities/Makefile bedtools2-2.20.1.new/src/utils/sequenceUtilities/Makefile ---- bedtools2-2.20.1/src/utils/sequenceUtilities/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/utils/sequenceUtilities/Makefile 2014-06-14 08:59:21.389033768 +0100 -@@ -1,6 +1,6 @@ --OBJ_DIR = ../../../obj/ --BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+OBJ_DIR = ../../../obj -+BIN_DIR = ../../../bin -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -@@ -26,4 +26,4 @@ - @echo "Cleaning up." - @rm -f $(OBJ_DIR)/* $(BIN_DIR)/* - --.PHONY: clean -\ No newline at end of file -+.PHONY: clean -diff -ur bedtools2-2.20.1/src/utils/tabFile/Makefile bedtools2-2.20.1.new/src/utils/tabFile/Makefile ---- bedtools2-2.20.1/src/utils/tabFile/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/utils/tabFile/Makefile 2014-06-14 08:59:43.699096681 +0100 -@@ -1,6 +1,6 @@ --OBJ_DIR = ../../../obj/ --BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+OBJ_DIR = ../../../obj -+BIN_DIR = ../../../bin -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- -@@ -28,4 +28,4 @@ - @echo "Cleaning up." - @rm -f $(OBJ_DIR)/* $(BIN_DIR)/* - --.PHONY: clean -\ No newline at end of file -+.PHONY: clean -diff -ur bedtools2-2.20.1/src/utils/VectorOps/Makefile bedtools2-2.20.1.new/src/utils/VectorOps/Makefile ---- bedtools2-2.20.1/src/utils/VectorOps/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/utils/VectorOps/Makefile 2014-06-14 09:00:01.820772313 +0100 -@@ -1,6 +1,6 @@ --OBJ_DIR = ../../../obj/ --BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+OBJ_DIR = ../../../obj -+BIN_DIR = ../../../bin -+UTILITIES_DIR = ../../utils - - # ---------------------------------- - # define our source and object files -@@ -17,4 +17,4 @@ - @echo "Cleaning up." - @rm -f $(OBJ_DIR)/* $(BIN_DIR)/* - --.PHONY: clean -\ No newline at end of file -+.PHONY: clean -diff -ur bedtools2-2.20.1/src/utils/version/Makefile bedtools2-2.20.1.new/src/utils/version/Makefile ---- bedtools2-2.20.1/src/utils/version/Makefile 2014-05-24 02:35:47.000000000 +0100 -+++ bedtools2-2.20.1.new/src/utils/version/Makefile 2014-06-14 09:00:15.809065749 +0100 -@@ -1,6 +1,6 @@ --OBJ_DIR = ../../../obj/ --BIN_DIR = ../../../bin/ --UTILITIES_DIR = ../../utils/ -+OBJ_DIR = ../../../obj -+BIN_DIR = ../../../bin -+UTILITIES_DIR = ../../utils - # ------------------- - # define our includes - # ------------------- diff --git a/bedtools-gzstream-path.patch b/bedtools-gzstream-path.patch deleted file mode 100644 index 5016ef7..0000000 --- a/bedtools-gzstream-path.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur bedtools2-2.19.1/src/utils/gzstream/Makefile bedtools2-2.19.1.new/src/utils/gzstream/Makefile ---- bedtools2-2.19.1/src/utils/gzstream/Makefile 2014-03-06 19:20:54.000000000 +0000 -+++ bedtools2-2.19.1.new/src/utils/gzstream/Makefile 2014-04-16 23:36:08.334123261 +0100 -@@ -38,7 +38,7 @@ - UTILITIES_DIR = ../../utils/ - - ${OBJ_DIR}/gzstream.o : gzstream.C gzstream.h -- ${CXX} ${CXXFLAGS} -c -o ${OBJ_DIR}/gzstream.o gzstream.C $(INCLUDES) -+ ${CXX} ${CXXFLAGS} -c -o ${OBJ_DIR}gzstream.o gzstream.C $(INCLUDES) - - clean: - @echo "Cleaning up." diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..60a1a2b --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +BEDTools fails to build from source: https://bugzilla.redhat.com/show_bug.cgi?id=1674568 diff --git a/e052d77ffd20495dfbbda4b02730f93bb29f5411.patch b/e052d77ffd20495dfbbda4b02730f93bb29f5411.patch deleted file mode 100644 index c8c5c07..0000000 --- a/e052d77ffd20495dfbbda4b02730f93bb29f5411.patch +++ /dev/null @@ -1,2151 +0,0 @@ -From e052d77ffd20495dfbbda4b02730f93bb29f5411 Mon Sep 17 00:00:00 2001 -From: Neil Kindlon -Date: Mon, 11 May 2015 17:32:02 -0400 -Subject: [PATCH] first check in for new coverage tool - ---- - Makefile | 2 +- - src/bedtools.cpp | 6 +- - src/coverageBed/Makefile | 35 --- - src/coverageBed/coverageBed.cpp | 341 -------------------------- - src/coverageBed/coverageBed.h | 83 ------- - src/coverageBed/coverageMain.cpp | 180 -------------- - src/coverageFile/Makefile | 46 ++++ - src/coverageFile/coverageBed.cpp | 341 ++++++++++++++++++++++++++ - src/coverageFile/coverageBed.h | 83 +++++++ - src/coverageFile/coverageFile.cpp | 203 +++++++++++++++ - src/coverageFile/coverageFile.h | 54 ++++ - src/coverageFile/coverageHelp.cpp | 92 +++++++ - src/intersectFile/intersectFile.cpp | 1 + - src/mapFile/Makefile | 14 -- - src/mapFile/mapHelp.cpp | 1 + - src/utils/Contexts/ContextBase.cpp | 4 +- - src/utils/Contexts/ContextCoverage.cpp | 77 ++++++ - src/utils/Contexts/ContextCoverage.h | 40 +++ - src/utils/Contexts/ContextFisher.cpp | 7 - - src/utils/Contexts/ContextIntersect.h | 2 +- - src/utils/Contexts/ContextMap.cpp | 11 - - src/utils/Contexts/ContextMerge.cpp | 8 - - src/utils/Contexts/ContextSample.cpp | 12 - - src/utils/Contexts/ContextSpacing.cpp | 11 - - src/utils/Contexts/ContextSubtract.cpp | 13 - - src/utils/Contexts/Makefile | 5 +- - src/utils/RecordOutputMgr/RecordOutputMgr.cpp | 8 +- - src/utils/aux/BedtoolsDriver.cpp | 8 +- - src/utils/aux/Makefile | 2 +- - src/utils/general/QuickString.cpp | 14 ++ - src/utils/general/QuickString.h | 3 + - test/intersect/test-intersect.sh | 15 +- - 32 files changed, 988 insertions(+), 734 deletions(-) - delete mode 100644 src/coverageBed/Makefile - delete mode 100644 src/coverageBed/coverageBed.cpp - delete mode 100644 src/coverageBed/coverageBed.h - delete mode 100644 src/coverageBed/coverageMain.cpp - create mode 100644 src/coverageFile/Makefile - create mode 100644 src/coverageFile/coverageBed.cpp - create mode 100644 src/coverageFile/coverageBed.h - create mode 100644 src/coverageFile/coverageFile.cpp - create mode 100644 src/coverageFile/coverageFile.h - create mode 100644 src/coverageFile/coverageHelp.cpp - create mode 100644 src/utils/Contexts/ContextCoverage.cpp - create mode 100644 src/utils/Contexts/ContextCoverage.h - -diff --git a/Makefile b/Makefile -index 653f0c3..3119a93 100644 ---- a/Makefile -+++ b/Makefile -@@ -37,7 +37,7 @@ SUBDIRS = $(SRC_DIR)/annotateBed \ - $(SRC_DIR)/closestFile \ - $(SRC_DIR)/clusterBed \ - $(SRC_DIR)/complementBed \ -- $(SRC_DIR)/coverageBed \ -+ $(SRC_DIR)/coverageFile \ - $(SRC_DIR)/expand \ - $(SRC_DIR)/fastaFromBed \ - $(SRC_DIR)/flankBed \ -diff --git a/src/bedtools.cpp b/src/bedtools.cpp -index 68ea99c..2f09438 100644 ---- a/src/bedtools.cpp -+++ b/src/bedtools.cpp -@@ -47,7 +47,7 @@ int bedpetobam_main(int argc, char* argv[]);// - void closest_help(); - int cluster_main(int argc, char* argv[]); // - int complement_main(int argc, char* argv[]);// --int coverage_main(int argc, char* argv[]); // -+void coverage_help(); - int regress_test_main(int argc, char **argv); // - int expand_main(int argc, char* argv[]);// - int fastafrombed_main(int argc, char* argv[]);// -@@ -104,7 +104,6 @@ int main(int argc, char *argv[]) - - // genome arithmetic tools - else if (subCmd == "window") return window_main(argc-1, argv+1); -- else if (subCmd == "coverage") return coverage_main(argc-1, argv+1); - else if (subCmd == "genomecov") return genomecoverage_main(argc-1, argv+1); - else if (subCmd == "cluster") return cluster_main(argc-1, argv+1); - else if (subCmd == "complement") return complement_main(argc-1, argv+1); -@@ -306,5 +305,8 @@ void showHelp(const QuickString &subCmd) { - spacing_help(); - } else if (subCmd == "fisher") { - fisher_help(); -+ } else if (subCmd == "coverage") { -+ coverage_help(); - } -+ - } -diff --git a/src/coverageBed/Makefile b/src/coverageBed/Makefile -deleted file mode 100644 -index 581564e..0000000 ---- a/src/coverageBed/Makefile -+++ /dev/null -@@ -1,35 +0,0 @@ --UTILITIES_DIR = ../utils/ --OBJ_DIR = ../../obj/ --BIN_DIR = ../../bin/ -- --# ------------------- --# define our includes --# ------------------- --INCLUDES = -I$(UTILITIES_DIR)/bedFile/ \ -- -I$(UTILITIES_DIR)/gzstream/ \ -- -I$(UTILITIES_DIR)/genomeFile/ \ -- -I$(UTILITIES_DIR)/lineFileUtilities/ \ -- -I$(UTILITIES_DIR)/fileType/ \ -- -I$(UTILITIES_DIR)/BamTools/include \ -- -I$(UTILITIES_DIR)/BlockedIntervals \ -- -I$(UTILITIES_DIR)/version/ --# ---------------------------------- --# define our source and object files --# ---------------------------------- --SOURCES= coverageMain.cpp coverageBed.cpp coverageBed.h --OBJECTS= coverageMain.o coverageBed.o --BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS)) -- --all: $(BUILT_OBJECTS) -- --.PHONY: all -- --$(BUILT_OBJECTS): $(SOURCES) -- @echo " * compiling" $(*F).cpp -- @$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES) -- --clean: -- @echo "Cleaning up." -- @rm -f $(OBJ_DIR)/coverageMain.o $(OBJ_DIR)/coverageBed.o -- --.PHONY: clean -diff --git a/src/coverageBed/coverageBed.cpp b/src/coverageBed/coverageBed.cpp -deleted file mode 100644 -index 42ff265..0000000 ---- a/src/coverageBed/coverageBed.cpp -+++ /dev/null -@@ -1,341 +0,0 @@ --/***************************************************************************** -- coverageBed.cpp -- -- (c) 2009 - Aaron Quinlan -- Hall Laboratory -- Department of Biochemistry and Molecular Genetics -- University of Virginia -- aaronquinlan@gmail.com -- -- Licenced under the GNU General Public License 2.0 license. --******************************************************************************/ --#include "lineFileUtilities.h" --#include "coverageBed.h" -- --// build --BedCoverage::BedCoverage(string &bedAFile, string &bedBFile, -- bool sameStrand, bool diffStrand, -- bool writeHistogram, bool bamInput, -- bool obeySplits, bool eachBase, -- bool countsOnly) --{ -- -- _bedAFile = bedAFile; -- _bedBFile = bedBFile; -- -- _bedA = new BedFile(bedAFile); -- _bedB = new BedFile(bedBFile); -- -- _sameStrand = sameStrand; -- _diffStrand = diffStrand; -- _obeySplits = obeySplits; -- _eachBase = eachBase; -- _writeHistogram = writeHistogram; -- _bamInput = bamInput; -- _countsOnly = countsOnly; -- -- -- if (_bamInput == false) -- CollectCoverageBed(); -- else -- CollectCoverageBam(_bedA->bedFile); --} -- --// destroy --BedCoverage::~BedCoverage(void) { -- delete _bedA; -- delete _bedB; --} -- -- --void BedCoverage::CollectCoverageBed() { -- -- // load the "B" bed file into a map so -- // that we can easily compare "A" to it for overlaps -- _bedB->loadBedCovFileIntoMap(); -- -- BED a; -- _bedA->Open(); -- // process each entry in A -- while (_bedA->GetNextBed(a)) { -- if (_bedA->_status == BED_VALID) { -- // process the BED entry as a single block -- if (_obeySplits == false) -- _bedB->countHits(a, _sameStrand, -- _diffStrand, _countsOnly); -- // split the BED into discrete blocksand process -- // each independently. -- else { -- bedVector bedBlocks; -- GetBedBlocks(a, bedBlocks); -- // use countSplitHits to avoid over-counting -- // each split chunk as distinct read coverage. -- _bedB->countSplitHits(bedBlocks, _sameStrand, -- _diffStrand, _countsOnly); -- } -- } -- } -- _bedA->Close(); -- -- // report the coverage (summary or histogram) for BED B. -- if (_countsOnly == true) -- ReportCounts(); -- else -- ReportCoverage(); --} -- -- --void BedCoverage::CollectCoverageBam(string bamFile) { -- -- // load the "B" bed file into a map so -- // that we can easily compare "A" to it for overlaps -- _bedB->loadBedCovFileIntoMap(); -- -- // open the BAM file -- BamReader reader; -- if (!reader.Open(bamFile)) { -- cerr << "Failed to open BAM file " << bamFile << endl; -- exit(1); -- } -- // get header & reference information -- string header = reader.GetHeaderText(); -- RefVector refs = reader.GetReferenceData(); -- -- // convert each aligned BAM entry to BED -- // and compute coverage on B -- BamAlignment bam; -- while (reader.GetNextAlignment(bam)) { -- if (bam.IsMapped()) { -- // treat the BAM alignment as a single "block" -- if (_obeySplits == false) { -- // construct a new BED entry from the current -- // BAM alignment. -- BED a; -- -- try -- { -- a.chrom = refs.at(bam.RefID).RefName; -- a.start = bam.Position; -- a.end = bam.GetEndPosition(false, false); -- a.strand = "+"; -- if (bam.IsReverseStrand()) a.strand = "-"; -- -- _bedB->countHits(a, _sameStrand, -- _diffStrand, _countsOnly); -- } -- catch (out_of_range& oor) -- { -- cerr << bam.Name -- << " is said to be mapped (0x4 == false), " -- << "yet the chrom is missing. Skipping." -- << endl; -- } -- } -- // split the BAM alignment into discrete blocks and -- // look for overlaps only within each block. -- else { -- // vec to store the discrete BED "blocks" from a -- bedVector bedBlocks; -- // since we are counting coverage, we do want -- // to split blocks when a deletion (D) CIGAR op -- // is encountered (hence the true for the last parm) -- try -- { -- string chrom = refs.at(bam.RefID).RefName; -- GetBamBlocks(bam, chrom, bedBlocks, false, true); -- // use countSplitHits to avoid over-counting -- // each split chunk as distinct read coverage. -- _bedB->countSplitHits(bedBlocks, _sameStrand, -- _diffStrand, _countsOnly); -- } -- catch (out_of_range& oor) -- { -- cerr << bam.Name -- << " is said to be mapped (0x4 == false), " -- << "yet the chrom is missing. Skipping." -- << endl; -- } -- } -- } -- } -- // report the coverage (summary or histogram) for BED B. -- if (_countsOnly == true) -- ReportCounts(); -- else -- ReportCoverage(); -- // close the BAM file -- reader.Close(); --} -- -- --void BedCoverage::ReportCounts() { -- -- -- // process each chromosome -- masterBedCovMap::const_iterator chromItr = _bedB->bedCovMap.begin(); -- masterBedCovMap::const_iterator chromEnd = _bedB->bedCovMap.end(); -- for (; chromItr != chromEnd; ++chromItr) -- { -- // for each chrom, process each bin -- binsToBedCovs::const_iterator binItr = chromItr->second.begin(); -- binsToBedCovs::const_iterator binEnd = chromItr->second.end(); -- for (; binItr != binEnd; ++binItr) -- { -- // for each chrom & bin, compute and report -- // the observed coverage for each feature -- vector::const_iterator bedItr = binItr->second.begin(); -- vector::const_iterator bedEnd = binItr->second.end(); -- for (; bedItr != bedEnd; ++bedItr) -- { -- _bedB->reportBedTab(*bedItr); -- printf("%d\n", bedItr->count); -- } -- } -- } --} -- --void BedCoverage::ReportCoverage() { -- -- map allDepthHist; -- unsigned long totalLength = 0; -- -- // process each chromosome -- masterBedCovMap::const_iterator chromItr = _bedB->bedCovMap.begin(); -- masterBedCovMap::const_iterator chromEnd = _bedB->bedCovMap.end(); -- for (; chromItr != chromEnd; ++chromItr) -- { -- // for each chrom, process each bin -- binsToBedCovs::const_iterator binItr = chromItr->second.begin(); -- binsToBedCovs::const_iterator binEnd = chromItr->second.end(); -- for (; binItr != binEnd; ++binItr) -- { -- // for each chrom & bin, compute and report -- // the observed coverage for each feature -- vector::const_iterator bedItr = binItr->second.begin(); -- vector::const_iterator bedEnd = binItr->second.end(); -- for (; bedItr != bedEnd; ++bedItr) -- { -- int zeroDepthCount = 0; // number of bases with zero depth -- int depth = 0; // tracks the depth at the current base -- -- // the start is either the first base in the feature OR -- // the leftmost position of an overlapping feature. -- // e.g. (s = start): -- // A ---------- -- // B s ------------ -- int start = min(bedItr->minOverlapStart, bedItr->start); -- -- // track the number of bases in the feature covered by -- // 0, 1, 2, ... n features in A -- map depthHist; -- map::const_iterator depthItr; -- -- // compute the coverage observed at each base in -- // the feature marching from start to end. -- for (CHRPOS pos = start+1; pos <= bedItr->end; pos++) -- { -- // map pointer grabbing the starts and -- // ends observed at this position -- depthItr = bedItr->depthMap.find(pos); -- // increment coverage if starts observed at this position. -- if (depthItr != bedItr->depthMap.end()) -- depth += depthItr->second.starts; -- // update coverage assuming the current position is -- // within the current B feature -- if ((pos > bedItr->start) && (pos <= bedItr->end)) { -- if (depth == 0) zeroDepthCount++; -- // update our histograms, assuming we are not -- // reporting "per-base" coverage. -- if (_eachBase == false) { -- depthHist[depth]++; -- allDepthHist[depth]++; -- } -- else if ((_eachBase == true) && -- (bedItr->zeroLength == false)) -- { -- _bedB->reportBedTab(*bedItr); -- printf("%d\t%d\n", pos-bedItr->start, depth); -- } -- } -- // decrement coverage if ends observed at this position. -- if (depthItr != bedItr->depthMap.end()) -- depth = depth - depthItr->second.ends; -- } -- -- // handle the special case where the user wants "per-base" depth -- // but the current feature is length = 0. -- if ((_eachBase == true) && (bedItr->zeroLength == true)) { -- _bedB->reportBedTab(*bedItr); -- printf("1\t%d\n",depth); -- } -- // Summarize the coverage for the current interval, -- // assuming the user has not requested "per-base" coverage. -- else if (_eachBase == false) -- { -- CHRPOS length = bedItr->end - bedItr->start; -- if (bedItr->zeroLength == true) { -- length = 0; -- } -- totalLength += length; -- int nonZeroBases = (length - zeroDepthCount); -- -- float fractCovered = 0.0; -- if (bedItr->zeroLength == false) { -- fractCovered = (float) nonZeroBases / length; -- } -- -- // print a summary of the coverage -- if (_writeHistogram == false) { -- _bedB->reportBedTab(*bedItr); -- printf("%d\t%d\t%d\t%0.7f\n", -- bedItr->count, nonZeroBases, -- length, fractCovered); -- } -- // HISTOGRAM -- // report the number of bases with coverage == x -- else { -- // produce a histogram when not a zero length feature. -- if (bedItr->zeroLength == false) { -- map::const_iterator -- histItr = depthHist.begin(); -- map::const_iterator -- histEnd = depthHist.end(); -- for (; histItr != histEnd; ++histItr) -- { -- float fractAtThisDepth = (float) -- histItr->second / length; -- -- _bedB->reportBedTab(*bedItr); -- printf("%d\t%d\t%d\t%0.7f\n", -- histItr->first, histItr->second, -- length, fractAtThisDepth); -- } -- } -- // special case when it is a zero length feauture. -- else { -- _bedB->reportBedTab(*bedItr); -- printf("%d\t%d\t%d\t%0.7f\n", -- bedItr->count, 0, 0, 1.0000000); -- } -- } -- } -- } -- } -- } -- // report a histogram of coverage among _all_ -- // features in B. -- if (_writeHistogram == true) { -- map::const_iterator -- histItr = allDepthHist.begin(); -- map::const_iterator -- histEnd = allDepthHist.end(); -- for (; histItr != histEnd; ++histItr) { -- float fractAtThisDepth = (float) histItr->second / totalLength; -- printf("all\t%lu\t%lu\t%lu\t%0.7f\n", -- histItr->first, histItr->second, -- totalLength, fractAtThisDepth); -- } -- } --} -- -- -diff --git a/src/coverageBed/coverageBed.h b/src/coverageBed/coverageBed.h -deleted file mode 100644 -index a3b6656..0000000 ---- a/src/coverageBed/coverageBed.h -+++ /dev/null -@@ -1,83 +0,0 @@ --/***************************************************************************** -- coverageBed.h -- -- (c) 2009 - Aaron Quinlan -- Hall Laboratory -- Department of Biochemistry and Molecular Genetics -- University of Virginia -- aaronquinlan@gmail.com -- -- Licenced under the GNU General Public License 2.0 license. --******************************************************************************/ --#ifndef COVERAGEBED_H --#define COVERAGEBED_H -- --#include "bedFile.h" -- --#include "api/BamReader.h" --#include "api/BamAux.h" --#include "BlockedIntervals.h" --using namespace BamTools; -- --#include --#include --#include --#include --#include --#include -- --using namespace std; -- --//************************************************ --// Class methods and elements --//************************************************ --class BedCoverage { -- --public: -- -- // constructor -- BedCoverage(string &bedAFile, string &bedBFile, bool sameStrand, bool diffStrand, bool writeHistogram, -- bool bamInput, bool obeySplits, bool eachBase, bool countsOnly); -- -- // destructor -- ~BedCoverage(void); -- --private: -- -- // input files. -- string _bedAFile; -- string _bedBFile; -- -- // instance of a bed file class. -- BedFile *_bedA, *_bedB; -- -- // do we care about same or opposite strandedness when counting coverage? -- bool _sameStrand; -- bool _diffStrand; -- -- // should we write a histogram for each feature in B? -- bool _writeHistogram; -- -- // are we dealing with BAM input for "A"? -- bool _bamInput; -- -- // should we split BED/BAM into discrete blocks? -- bool _obeySplits; -- -- // should discrete coverage be reported for each base in each feature? -- bool _eachBase; -- -- // should we just count overlaps and not try to describe the breadth? -- bool _countsOnly; -- -- // private function for reporting coverage information -- void ReportCoverage(); -- -- // private function for reporting overlap counts -- void ReportCounts(); -- -- void CollectCoverageBed(); -- -- void CollectCoverageBam(string bamFile); --}; --#endif /* COVERAGEBED_H */ -diff --git a/src/coverageBed/coverageMain.cpp b/src/coverageBed/coverageMain.cpp -deleted file mode 100644 -index 05bd212..0000000 ---- a/src/coverageBed/coverageMain.cpp -+++ /dev/null -@@ -1,180 +0,0 @@ --/***************************************************************************** -- coverageMain.cpp -- -- (c) 2009 - Aaron Quinlan -- Hall Laboratory -- Department of Biochemistry and Molecular Genetics -- University of Virginia -- aaronquinlan@gmail.com -- -- Licenced under the GNU General Public License 2.0 license. --******************************************************************************/ --#include "coverageBed.h" --#include "version.h" -- --using namespace std; -- --// define the version --#define PROGRAM_NAME "bedtools coverage" -- --// define our parameter checking macro --#define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen) -- --// function declarations --void coverage_help(void); -- --int coverage_main(int argc, char* argv[]) { -- -- // our configuration variables -- bool showHelp = false; -- -- // input files -- string bedAFile; -- string bedBFile; -- -- // parm flags -- bool sameStrand = false; -- bool diffStrand = false; -- bool writeHistogram = false; -- bool eachBase = false; -- bool obeySplits = false; -- bool bamInput = false; -- bool haveBedA = false; -- bool haveBedB = false; -- bool countsOnly = false; -- -- // check to see if we should print out some help -- if(argc <= 1) showHelp = true; -- -- for(int i = 1; i < argc; i++) { -- int parameterLength = (int)strlen(argv[i]); -- -- if((PARAMETER_CHECK("-h", 2, parameterLength)) || -- (PARAMETER_CHECK("--help", 5, parameterLength))) { -- showHelp = true; -- } -- } -- -- if(showHelp) coverage_help(); -- -- // do some parsing (all of these parameters require 2 strings) -- for(int i = 1; i < argc; i++) { -- -- int parameterLength = (int)strlen(argv[i]); -- -- if(PARAMETER_CHECK("-a", 2, parameterLength)) { -- if ((i+1) < argc) { -- haveBedA = true; -- bedAFile = argv[i + 1]; -- i++; -- } -- } -- else if(PARAMETER_CHECK("-abam", 5, parameterLength)) { -- if ((i+1) < argc) { -- haveBedA = true; -- bamInput = true; -- bedAFile = argv[i + 1]; -- i++; -- } -- } -- else if(PARAMETER_CHECK("-b", 2, parameterLength)) { -- if ((i+1) < argc) { -- haveBedB = true; -- bedBFile = argv[i + 1]; -- i++; -- } -- } -- else if (PARAMETER_CHECK("-s", 2, parameterLength)) { -- sameStrand = true; -- } -- else if (PARAMETER_CHECK("-S", 2, parameterLength)) { -- diffStrand = true; -- } -- else if (PARAMETER_CHECK("-hist", 5, parameterLength)) { -- writeHistogram = true; -- } -- else if(PARAMETER_CHECK("-d", 2, parameterLength)) { -- eachBase = true; -- } -- else if (PARAMETER_CHECK("-split", 6, parameterLength)) { -- obeySplits = true; -- } -- else if (PARAMETER_CHECK("-counts", 7, parameterLength)) { -- countsOnly = true; -- } -- else { -- cerr << endl << "*****ERROR: Unrecognized parameter: " << argv[i] << " *****" << endl << endl; -- showHelp = true; -- } -- } -- -- // make sure we have both input files -- if (!haveBedA || !haveBedB) { -- cerr << endl << "*****" << endl << "*****ERROR: Need -a and -b files. " << endl << "*****" << endl; -- showHelp = true; -- } -- -- if (sameStrand && diffStrand) { -- cerr << endl << "*****" << endl << "*****ERROR: Request either -s OR -S, not both." << endl << "*****" << endl; -- showHelp = true; -- } -- -- if (!showHelp) { -- BedCoverage *bg = new BedCoverage(bedAFile, bedBFile, sameStrand, diffStrand, -- writeHistogram, bamInput, obeySplits, eachBase, countsOnly); -- delete bg; -- } -- else { -- coverage_help(); -- } -- return 0; --} -- --void coverage_help(void) { -- -- cerr << "\nTool: bedtools coverage (aka coverageBed)" << endl; -- cerr << "Version: " << VERSION << "\n"; -- cerr << "Summary: Returns the depth and breadth of coverage of features from A" << endl; -- cerr << "\t on the intervals in B." << endl << endl; -- -- cerr << "Usage: " << PROGRAM_NAME << " [OPTIONS] -a -b " << endl << endl; -- -- cerr << "Options: " << endl; -- -- cerr << "\t-abam\t" << "The A input file is in BAM format. Replaces -a." << endl << endl; -- -- cerr << "\t-s\t" << "Require same strandedness. That is, only counts hits in A that" << endl; -- cerr << "\t\toverlap B on the _same_ strand." << endl; -- cerr << "\t\t- By default, overlaps are counted without respect to strand." << endl << endl; -- -- cerr << "\t-S\t" << "Require different strandedness. That is, only report hits in A" << endl; -- cerr << "\t\tthat overlap B on the _opposite_ strand." << endl; -- cerr << "\t\t- By default, overlaps are counted without respect to strand." << endl << endl; -- -- cerr << "\t-hist\t" << "Report a histogram of coverage for each feature in B" << endl; -- cerr << "\t\tas well as a summary histogram for _all_ features in B." << endl << endl; -- cerr << "\t\tOutput (tab delimited) after each feature in B:" << endl; -- cerr << "\t\t 1) depth\n\t\t 2) # bases at depth\n\t\t 3) size of B\n\t\t 4) % of B at depth" << endl << endl; -- -- cerr << "\t-d\t" << "Report the depth at each position in each B feature." << endl; -- cerr << "\t\tPositions reported are one based. Each position" << endl; -- cerr << "\t\tand depth follow the complete B feature." << endl << endl; -- -- cerr << "\t-counts\t" << "Only report the count of overlaps, don't compute fraction, etc." << endl << endl; -- -- cerr << "\t-split\t" << "Treat \"split\" BAM or BED12 entries as distinct BED intervals." << endl; -- cerr << "\t\twhen computing coverage." << endl; -- cerr << "\t\tFor BAM files, this uses the CIGAR \"N\" and \"D\" operations " << endl; -- cerr << "\t\tto infer the blocks for computing coverage." << endl; -- cerr << "\t\tFor BED12 files, this uses the BlockCount, BlockStarts," << endl; -- cerr << "\t\tand BlockEnds fields (i.e., columns 10,11,12)." << endl << endl; -- -- cerr << "Default Output: " << endl; -- cerr << "\t" << " After each entry in B, reports: " << endl; -- cerr << "\t 1) The number of features in A that overlapped the B interval." << endl; -- cerr << "\t 2) The number of bases in B that had non-zero coverage." << endl; -- cerr << "\t 3) The length of the entry in B." << endl; -- cerr << "\t 4) The fraction of bases in B that had non-zero coverage." << endl << endl; -- -- exit(1); --} -diff --git a/src/coverageFile/Makefile b/src/coverageFile/Makefile -new file mode 100644 -index 0000000..4af8d7e ---- /dev/null -+++ b/src/coverageFile/Makefile -@@ -0,0 +1,46 @@ -+UTILITIES_DIR = ../utils/ -+OBJ_DIR = ../../obj/ -+BIN_DIR = ../../bin/ -+TOOL_DIR = ../../src/ -+ -+INCLUDES = -I$(UTILITIES_DIR)/Contexts/ \ -+ -I$(UTILITIES_DIR)/general/ \ -+ -I$(UTILITIES_DIR)/fileType/ \ -+ -I$(UTILITIES_DIR)/gzstream/ \ -+ -I$(UTILITIES_DIR)/GenomeFile/ \ -+ -I$(UTILITIES_DIR)/BamTools/include \ -+ -I$(UTILITIES_DIR)/BamTools/src \ -+ -I$(UTILITIES_DIR)/BlockedIntervals \ -+ -I$(UTILITIES_DIR)/BamTools-Ancillary \ -+ -I$(UTILITIES_DIR)/FileRecordTools/ \ -+ -I$(UTILITIES_DIR)/FileRecordTools/FileReaders/ \ -+ -I$(UTILITIES_DIR)/FileRecordTools/Records/ \ -+ -I$(UTILITIES_DIR)/RecordOutputMgr/ \ -+ -I$(UTILITIES_DIR)/KeyListOps/ \ -+ -I$(UTILITIES_DIR)/NewChromsweep \ -+ -I$(UTILITIES_DIR)/VectorOps \ -+ -I$(UTILITIES_DIR)/BinTree \ -+ -I$(UTILITIES_DIR)/version/ \ -+ -I$(UTILITIES_DIR)/ToolBase/ \ -+ -I$(TOOL_DIR)/intersectFile/ -+ -+# ---------------------------------- -+# define our source and object files -+# ---------------------------------- -+SOURCES= coverageHelp.cpp coverageFile.cpp coverageFile.h -+OBJECTS= coverageHelp.o coverageFile.o -+BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS)) -+ -+all: $(BUILT_OBJECTS) -+ -+.PHONY: all -+ -+$(BUILT_OBJECTS): $(SOURCES) -+ @echo " * compiling" $(*F).cpp -+ @$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(DFLAGS) $(INCLUDES) -+ -+clean: -+ @echo "Cleaning up." -+ @rm -f $(OBJ_DIR)/coverageHelp.o $(OBJ_DIR)/coverageFile.o -+ -+.PHONY: clean -diff --git a/src/coverageFile/coverageBed.cpp b/src/coverageFile/coverageBed.cpp -new file mode 100644 -index 0000000..42ff265 ---- /dev/null -+++ b/src/coverageFile/coverageBed.cpp -@@ -0,0 +1,341 @@ -+/***************************************************************************** -+ coverageBed.cpp -+ -+ (c) 2009 - Aaron Quinlan -+ Hall Laboratory -+ Department of Biochemistry and Molecular Genetics -+ University of Virginia -+ aaronquinlan@gmail.com -+ -+ Licenced under the GNU General Public License 2.0 license. -+******************************************************************************/ -+#include "lineFileUtilities.h" -+#include "coverageBed.h" -+ -+// build -+BedCoverage::BedCoverage(string &bedAFile, string &bedBFile, -+ bool sameStrand, bool diffStrand, -+ bool writeHistogram, bool bamInput, -+ bool obeySplits, bool eachBase, -+ bool countsOnly) -+{ -+ -+ _bedAFile = bedAFile; -+ _bedBFile = bedBFile; -+ -+ _bedA = new BedFile(bedAFile); -+ _bedB = new BedFile(bedBFile); -+ -+ _sameStrand = sameStrand; -+ _diffStrand = diffStrand; -+ _obeySplits = obeySplits; -+ _eachBase = eachBase; -+ _writeHistogram = writeHistogram; -+ _bamInput = bamInput; -+ _countsOnly = countsOnly; -+ -+ -+ if (_bamInput == false) -+ CollectCoverageBed(); -+ else -+ CollectCoverageBam(_bedA->bedFile); -+} -+ -+// destroy -+BedCoverage::~BedCoverage(void) { -+ delete _bedA; -+ delete _bedB; -+} -+ -+ -+void BedCoverage::CollectCoverageBed() { -+ -+ // load the "B" bed file into a map so -+ // that we can easily compare "A" to it for overlaps -+ _bedB->loadBedCovFileIntoMap(); -+ -+ BED a; -+ _bedA->Open(); -+ // process each entry in A -+ while (_bedA->GetNextBed(a)) { -+ if (_bedA->_status == BED_VALID) { -+ // process the BED entry as a single block -+ if (_obeySplits == false) -+ _bedB->countHits(a, _sameStrand, -+ _diffStrand, _countsOnly); -+ // split the BED into discrete blocksand process -+ // each independently. -+ else { -+ bedVector bedBlocks; -+ GetBedBlocks(a, bedBlocks); -+ // use countSplitHits to avoid over-counting -+ // each split chunk as distinct read coverage. -+ _bedB->countSplitHits(bedBlocks, _sameStrand, -+ _diffStrand, _countsOnly); -+ } -+ } -+ } -+ _bedA->Close(); -+ -+ // report the coverage (summary or histogram) for BED B. -+ if (_countsOnly == true) -+ ReportCounts(); -+ else -+ ReportCoverage(); -+} -+ -+ -+void BedCoverage::CollectCoverageBam(string bamFile) { -+ -+ // load the "B" bed file into a map so -+ // that we can easily compare "A" to it for overlaps -+ _bedB->loadBedCovFileIntoMap(); -+ -+ // open the BAM file -+ BamReader reader; -+ if (!reader.Open(bamFile)) { -+ cerr << "Failed to open BAM file " << bamFile << endl; -+ exit(1); -+ } -+ // get header & reference information -+ string header = reader.GetHeaderText(); -+ RefVector refs = reader.GetReferenceData(); -+ -+ // convert each aligned BAM entry to BED -+ // and compute coverage on B -+ BamAlignment bam; -+ while (reader.GetNextAlignment(bam)) { -+ if (bam.IsMapped()) { -+ // treat the BAM alignment as a single "block" -+ if (_obeySplits == false) { -+ // construct a new BED entry from the current -+ // BAM alignment. -+ BED a; -+ -+ try -+ { -+ a.chrom = refs.at(bam.RefID).RefName; -+ a.start = bam.Position; -+ a.end = bam.GetEndPosition(false, false); -+ a.strand = "+"; -+ if (bam.IsReverseStrand()) a.strand = "-"; -+ -+ _bedB->countHits(a, _sameStrand, -+ _diffStrand, _countsOnly); -+ } -+ catch (out_of_range& oor) -+ { -+ cerr << bam.Name -+ << " is said to be mapped (0x4 == false), " -+ << "yet the chrom is missing. Skipping." -+ << endl; -+ } -+ } -+ // split the BAM alignment into discrete blocks and -+ // look for overlaps only within each block. -+ else { -+ // vec to store the discrete BED "blocks" from a -+ bedVector bedBlocks; -+ // since we are counting coverage, we do want -+ // to split blocks when a deletion (D) CIGAR op -+ // is encountered (hence the true for the last parm) -+ try -+ { -+ string chrom = refs.at(bam.RefID).RefName; -+ GetBamBlocks(bam, chrom, bedBlocks, false, true); -+ // use countSplitHits to avoid over-counting -+ // each split chunk as distinct read coverage. -+ _bedB->countSplitHits(bedBlocks, _sameStrand, -+ _diffStrand, _countsOnly); -+ } -+ catch (out_of_range& oor) -+ { -+ cerr << bam.Name -+ << " is said to be mapped (0x4 == false), " -+ << "yet the chrom is missing. Skipping." -+ << endl; -+ } -+ } -+ } -+ } -+ // report the coverage (summary or histogram) for BED B. -+ if (_countsOnly == true) -+ ReportCounts(); -+ else -+ ReportCoverage(); -+ // close the BAM file -+ reader.Close(); -+} -+ -+ -+void BedCoverage::ReportCounts() { -+ -+ -+ // process each chromosome -+ masterBedCovMap::const_iterator chromItr = _bedB->bedCovMap.begin(); -+ masterBedCovMap::const_iterator chromEnd = _bedB->bedCovMap.end(); -+ for (; chromItr != chromEnd; ++chromItr) -+ { -+ // for each chrom, process each bin -+ binsToBedCovs::const_iterator binItr = chromItr->second.begin(); -+ binsToBedCovs::const_iterator binEnd = chromItr->second.end(); -+ for (; binItr != binEnd; ++binItr) -+ { -+ // for each chrom & bin, compute and report -+ // the observed coverage for each feature -+ vector::const_iterator bedItr = binItr->second.begin(); -+ vector::const_iterator bedEnd = binItr->second.end(); -+ for (; bedItr != bedEnd; ++bedItr) -+ { -+ _bedB->reportBedTab(*bedItr); -+ printf("%d\n", bedItr->count); -+ } -+ } -+ } -+} -+ -+void BedCoverage::ReportCoverage() { -+ -+ map allDepthHist; -+ unsigned long totalLength = 0; -+ -+ // process each chromosome -+ masterBedCovMap::const_iterator chromItr = _bedB->bedCovMap.begin(); -+ masterBedCovMap::const_iterator chromEnd = _bedB->bedCovMap.end(); -+ for (; chromItr != chromEnd; ++chromItr) -+ { -+ // for each chrom, process each bin -+ binsToBedCovs::const_iterator binItr = chromItr->second.begin(); -+ binsToBedCovs::const_iterator binEnd = chromItr->second.end(); -+ for (; binItr != binEnd; ++binItr) -+ { -+ // for each chrom & bin, compute and report -+ // the observed coverage for each feature -+ vector::const_iterator bedItr = binItr->second.begin(); -+ vector::const_iterator bedEnd = binItr->second.end(); -+ for (; bedItr != bedEnd; ++bedItr) -+ { -+ int zeroDepthCount = 0; // number of bases with zero depth -+ int depth = 0; // tracks the depth at the current base -+ -+ // the start is either the first base in the feature OR -+ // the leftmost position of an overlapping feature. -+ // e.g. (s = start): -+ // A ---------- -+ // B s ------------ -+ int start = min(bedItr->minOverlapStart, bedItr->start); -+ -+ // track the number of bases in the feature covered by -+ // 0, 1, 2, ... n features in A -+ map depthHist; -+ map::const_iterator depthItr; -+ -+ // compute the coverage observed at each base in -+ // the feature marching from start to end. -+ for (CHRPOS pos = start+1; pos <= bedItr->end; pos++) -+ { -+ // map pointer grabbing the starts and -+ // ends observed at this position -+ depthItr = bedItr->depthMap.find(pos); -+ // increment coverage if starts observed at this position. -+ if (depthItr != bedItr->depthMap.end()) -+ depth += depthItr->second.starts; -+ // update coverage assuming the current position is -+ // within the current B feature -+ if ((pos > bedItr->start) && (pos <= bedItr->end)) { -+ if (depth == 0) zeroDepthCount++; -+ // update our histograms, assuming we are not -+ // reporting "per-base" coverage. -+ if (_eachBase == false) { -+ depthHist[depth]++; -+ allDepthHist[depth]++; -+ } -+ else if ((_eachBase == true) && -+ (bedItr->zeroLength == false)) -+ { -+ _bedB->reportBedTab(*bedItr); -+ printf("%d\t%d\n", pos-bedItr->start, depth); -+ } -+ } -+ // decrement coverage if ends observed at this position. -+ if (depthItr != bedItr->depthMap.end()) -+ depth = depth - depthItr->second.ends; -+ } -+ -+ // handle the special case where the user wants "per-base" depth -+ // but the current feature is length = 0. -+ if ((_eachBase == true) && (bedItr->zeroLength == true)) { -+ _bedB->reportBedTab(*bedItr); -+ printf("1\t%d\n",depth); -+ } -+ // Summarize the coverage for the current interval, -+ // assuming the user has not requested "per-base" coverage. -+ else if (_eachBase == false) -+ { -+ CHRPOS length = bedItr->end - bedItr->start; -+ if (bedItr->zeroLength == true) { -+ length = 0; -+ } -+ totalLength += length; -+ int nonZeroBases = (length - zeroDepthCount); -+ -+ float fractCovered = 0.0; -+ if (bedItr->zeroLength == false) { -+ fractCovered = (float) nonZeroBases / length; -+ } -+ -+ // print a summary of the coverage -+ if (_writeHistogram == false) { -+ _bedB->reportBedTab(*bedItr); -+ printf("%d\t%d\t%d\t%0.7f\n", -+ bedItr->count, nonZeroBases, -+ length, fractCovered); -+ } -+ // HISTOGRAM -+ // report the number of bases with coverage == x -+ else { -+ // produce a histogram when not a zero length feature. -+ if (bedItr->zeroLength == false) { -+ map::const_iterator -+ histItr = depthHist.begin(); -+ map::const_iterator -+ histEnd = depthHist.end(); -+ for (; histItr != histEnd; ++histItr) -+ { -+ float fractAtThisDepth = (float) -+ histItr->second / length; -+ -+ _bedB->reportBedTab(*bedItr); -+ printf("%d\t%d\t%d\t%0.7f\n", -+ histItr->first, histItr->second, -+ length, fractAtThisDepth); -+ } -+ } -+ // special case when it is a zero length feauture. -+ else { -+ _bedB->reportBedTab(*bedItr); -+ printf("%d\t%d\t%d\t%0.7f\n", -+ bedItr->count, 0, 0, 1.0000000); -+ } -+ } -+ } -+ } -+ } -+ } -+ // report a histogram of coverage among _all_ -+ // features in B. -+ if (_writeHistogram == true) { -+ map::const_iterator -+ histItr = allDepthHist.begin(); -+ map::const_iterator -+ histEnd = allDepthHist.end(); -+ for (; histItr != histEnd; ++histItr) { -+ float fractAtThisDepth = (float) histItr->second / totalLength; -+ printf("all\t%lu\t%lu\t%lu\t%0.7f\n", -+ histItr->first, histItr->second, -+ totalLength, fractAtThisDepth); -+ } -+ } -+} -+ -+ -diff --git a/src/coverageFile/coverageBed.h b/src/coverageFile/coverageBed.h -new file mode 100644 -index 0000000..a3b6656 ---- /dev/null -+++ b/src/coverageFile/coverageBed.h -@@ -0,0 +1,83 @@ -+/***************************************************************************** -+ coverageBed.h -+ -+ (c) 2009 - Aaron Quinlan -+ Hall Laboratory -+ Department of Biochemistry and Molecular Genetics -+ University of Virginia -+ aaronquinlan@gmail.com -+ -+ Licenced under the GNU General Public License 2.0 license. -+******************************************************************************/ -+#ifndef COVERAGEBED_H -+#define COVERAGEBED_H -+ -+#include "bedFile.h" -+ -+#include "api/BamReader.h" -+#include "api/BamAux.h" -+#include "BlockedIntervals.h" -+using namespace BamTools; -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+using namespace std; -+ -+//************************************************ -+// Class methods and elements -+//************************************************ -+class BedCoverage { -+ -+public: -+ -+ // constructor -+ BedCoverage(string &bedAFile, string &bedBFile, bool sameStrand, bool diffStrand, bool writeHistogram, -+ bool bamInput, bool obeySplits, bool eachBase, bool countsOnly); -+ -+ // destructor -+ ~BedCoverage(void); -+ -+private: -+ -+ // input files. -+ string _bedAFile; -+ string _bedBFile; -+ -+ // instance of a bed file class. -+ BedFile *_bedA, *_bedB; -+ -+ // do we care about same or opposite strandedness when counting coverage? -+ bool _sameStrand; -+ bool _diffStrand; -+ -+ // should we write a histogram for each feature in B? -+ bool _writeHistogram; -+ -+ // are we dealing with BAM input for "A"? -+ bool _bamInput; -+ -+ // should we split BED/BAM into discrete blocks? -+ bool _obeySplits; -+ -+ // should discrete coverage be reported for each base in each feature? -+ bool _eachBase; -+ -+ // should we just count overlaps and not try to describe the breadth? -+ bool _countsOnly; -+ -+ // private function for reporting coverage information -+ void ReportCoverage(); -+ -+ // private function for reporting overlap counts -+ void ReportCounts(); -+ -+ void CollectCoverageBed(); -+ -+ void CollectCoverageBam(string bamFile); -+}; -+#endif /* COVERAGEBED_H */ -diff --git a/src/coverageFile/coverageFile.cpp b/src/coverageFile/coverageFile.cpp -new file mode 100644 -index 0000000..57a6a24 ---- /dev/null -+++ b/src/coverageFile/coverageFile.cpp -@@ -0,0 +1,203 @@ -+/* -+ * coverageFile.cpp -+ * -+ * Created on: May 8, 2015 -+ * Author: nek3d -+ */ -+ -+#include "coverageFile.h" -+ -+CoverageFile::CoverageFile(ContextCoverage *context) -+: IntersectFile(context), -+ _depthArray(NULL), -+ _depthArrayCapacity(0), -+ _queryLen(0), -+ _totalQueryLen(0), -+ _queryOffset(0), -+ _floatValBuf(NULL) -+{ -+ //allocate and initialize depth array. -+ //Use C's malloc and free becauase we want -+ //to be able to realloc. -+ //Not using vector because arrays are faster. -+ size_t newSize = sizeof(size_t) * DEFAULT_DEPTH_CAPACITY; -+ _depthArray = (size_t *)malloc(newSize); -+ memset(_depthArray, 0, newSize); -+ _depthArrayCapacity = DEFAULT_DEPTH_CAPACITY; -+ -+ _floatValBuf = new char[floatValBufLen]; -+} -+ -+CoverageFile::~CoverageFile() { -+ free(_depthArray); -+ delete _floatValBuf; -+} -+ -+ -+void CoverageFile::processHits(RecordOutputMgr *outputMgr, RecordKeyVector &hits) { -+ makeDepthCount(hits); -+ _finalOutput.clear(); -+ -+ switch(upCast(_context)->getCoverageType()) { -+ case ContextCoverage::COUNT: -+ doCounts(outputMgr, hits); -+ break; -+ -+ case ContextCoverage::PER_BASE: -+ doPerBase(outputMgr, hits); -+ break; -+ -+ case ContextCoverage::HIST: -+ doHist(outputMgr, hits); -+ break; -+ -+ case ContextCoverage::DEFAULT: -+ default: -+ doDefault(outputMgr, hits); -+ break; -+ } -+ -+} -+ -+void CoverageFile::cleanupHits(RecordKeyVector &hits) { -+ IntersectFile::cleanupHits(hits); -+ memset(_depthArray, 0, sizeof(size_t) * _queryLen); -+ -+} -+ -+void CoverageFile::giveFinalReport(RecordOutputMgr *outputMgr) { -+ -+ //only give report for histogram option -+ if (upCast(_context)->getCoverageType() != ContextCoverage::HIST) { -+ return; -+ } -+ -+ for (depthMapType::iterator iter = _finalDepthMap.begin(); iter != _finalDepthMap.end(); iter++) { -+ size_t depth = iter->first; -+ size_t basesAtDepth = iter->second; -+ float depthPct = (float)basesAtDepth / (float)_totalQueryLen; -+ -+ _finalOutput = "all\t"; -+ _finalOutput.append(depth); -+ _finalOutput.append("\t"); -+ _finalOutput.append(basesAtDepth); -+ _finalOutput.append("\t"); -+ _finalOutput.append(_totalQueryLen); -+ _finalOutput.append("\t"); -+ format(depthPct); -+ -+ outputMgr->printRecord(NULL, _finalOutput); -+ } -+ -+} -+ -+ -+void CoverageFile::makeDepthCount(RecordKeyVector &hits) { -+ const Record *key = hits.getKey(); -+ _queryOffset = key->getStartPos(); -+ _queryLen = (size_t)(key->getEndPos() - _queryOffset); -+ _totalQueryLen += _queryLen; -+ -+ //resize depth array if needed -+ if (_depthArrayCapacity < _queryLen) { -+ _depthArray = (size_t*)realloc(_depthArray, sizeof(size_t) * _queryLen); -+ _depthArrayCapacity = _queryLen; -+ memset(_depthArray, 0, sizeof(size_t) * _depthArrayCapacity); -+ } -+ -+ //loop through hits, which may not be in sorted order, due to -+ //potential multiple databases, and increment the depth array as needed. -+ for (RecordKeyVector::const_iterator_type iter = hits.begin(); iter != hits.end(); iter = hits.next()) { -+ const Record *dbRec = *iter; -+ int dbStart = dbRec->getStartPos(); -+ int dbEnd = dbRec->getEndPos(); -+ int maxStart = max(_queryOffset, dbStart); -+ int minEnd = min(dbEnd, key->getEndPos()); -+ -+ for (int i=maxStart; i < minEnd; i++) { -+ _depthArray[i - _queryOffset]++; -+ } -+ } -+} -+ -+ -+size_t CoverageFile::countBasesAtDepth(size_t depth) { -+ size_t retCount = 0; -+ for (size_t i=0; i < _queryLen; i++) { -+ if (_depthArray[i] == depth) { -+ retCount++; -+ } -+ } -+ return retCount; -+} -+ -+void CoverageFile::doCounts(RecordOutputMgr *outputMgr, RecordKeyVector &hits) -+{ -+ _finalOutput = hits.size(); -+ outputMgr->printRecord(hits.getKey(), _finalOutput); -+} -+ -+void CoverageFile::doPerBase(RecordOutputMgr *outputMgr, RecordKeyVector &hits) -+{ -+ //loop through all bases in query, printing full record and metrcis for each -+ const Record * queryRec = hits.getKey(); -+ for (size_t i= 0; i < _queryLen; i++) { -+ _finalOutput = i +1; -+ _finalOutput.append("\t"); -+ _finalOutput.append(_depthArray[i]); -+ -+ outputMgr->printRecord(queryRec, _finalOutput); -+ } -+} -+ -+void CoverageFile::doHist(RecordOutputMgr *outputMgr, RecordKeyVector &hits) -+{ -+ //make a map of depths to num bases with that depth -+ -+ _currDepthMap.clear(); -+ for (size_t i=0; i < _queryLen; i++) { -+ _currDepthMap[_depthArray[i]]++; -+ _finalDepthMap[_depthArray[i]]++; -+ } -+ -+ for (depthMapType::iterator iter = _currDepthMap.begin(); iter != _currDepthMap.end(); iter++) { -+ size_t depth = iter->first; -+ size_t numBasesAtDepth = iter->second; -+ float coveredBases = (float)numBasesAtDepth / (float)_queryLen; -+ -+ _finalOutput = depth; -+ _finalOutput.append("\t"); -+ _finalOutput.append(numBasesAtDepth); -+ _finalOutput.append("\t"); -+ _finalOutput.append(_queryLen); -+ _finalOutput.append("\t"); -+ format(coveredBases); -+ -+ outputMgr->printRecord(hits.getKey(), _finalOutput); -+ } -+ -+} -+ -+void CoverageFile::doDefault(RecordOutputMgr *outputMgr, RecordKeyVector &hits) -+{ -+ size_t nonZeroBases = _queryLen - countBasesAtDepth(0); -+ float coveredBases = (float)nonZeroBases / (float)_queryLen; -+ -+ _finalOutput = hits.size(); -+ _finalOutput.append("\t"); -+ _finalOutput.append(nonZeroBases); -+ _finalOutput.append("\t"); -+ _finalOutput.append(_queryLen); -+ _finalOutput.append("\t"); -+ format(coveredBases); -+ -+ outputMgr->printRecord(hits.getKey(), _finalOutput); -+} -+ -+void CoverageFile::format(float val) -+{ -+ memset(_floatValBuf, 0, floatValBufLen); -+ sprintf(_floatValBuf, "%0.7f", val); -+ _finalOutput.append(_floatValBuf); -+} -+ -diff --git a/src/coverageFile/coverageFile.h b/src/coverageFile/coverageFile.h -new file mode 100644 -index 0000000..414f636 ---- /dev/null -+++ b/src/coverageFile/coverageFile.h -@@ -0,0 +1,54 @@ -+/* -+ * coverageFile.h -+ * -+ * Created on: May 8, 2015 -+ * Author: nek3d -+ */ -+ -+#ifndef COVERAGEFILE_H_ -+#define COVERAGEFILE_H_ -+ -+#include "intersectFile.h" -+#include "ContextCoverage.h" -+ -+class CoverageFile : public IntersectFile { -+public: -+ CoverageFile(ContextCoverage *); -+ ~CoverageFile(); -+ virtual void processHits(RecordOutputMgr *outputMgr, RecordKeyVector &hits); -+ virtual void cleanupHits(RecordKeyVector &hits); -+ virtual void giveFinalReport(RecordOutputMgr *outputMgr); -+ -+ -+protected: -+ QuickString _finalOutput; -+ -+ size_t *_depthArray; -+ size_t _depthArrayCapacity; -+ size_t _queryLen; -+ size_t _totalQueryLen; -+ int _queryOffset; -+ static const int DEFAULT_DEPTH_CAPACITY = 1024; -+ char *_floatValBuf; -+ static const int floatValBufLen = 16; -+ -+ typedef map depthMapType; -+ depthMapType _currDepthMap; -+ depthMapType _finalDepthMap; -+ -+ virtual ContextCoverage *upCast(ContextBase *context) { return static_cast(context); } -+ void makeDepthCount(RecordKeyVector &hits); -+ -+ size_t countBasesAtDepth(size_t depth); -+ -+ void doCounts(RecordOutputMgr *outputMgr, RecordKeyVector &hits); -+ void doPerBase(RecordOutputMgr *outputMgr, RecordKeyVector &hits); -+ void doHist(RecordOutputMgr *outputMgr, RecordKeyVector &hits); -+ void doDefault(RecordOutputMgr *outputMgr, RecordKeyVector &hits); -+ -+ void format(float val); -+ -+}; -+ -+ -+#endif /* COVERAGEFILE_H_ */ -diff --git a/src/coverageFile/coverageHelp.cpp b/src/coverageFile/coverageHelp.cpp -new file mode 100644 -index 0000000..f683d67 ---- /dev/null -+++ b/src/coverageFile/coverageHelp.cpp -@@ -0,0 +1,92 @@ -+/***************************************************************************** -+ coverageMain.cpp -+ -+ (c) 2009 - Aaron Quinlan -+ Hall Laboratory -+ Department of Biochemistry and Molecular Genetics -+ University of Virginia -+ aaronquinlan@gmail.com -+ -+ Licenced under the GNU General Public License 2.0 license. -+******************************************************************************/ -+#include "CommonHelp.h" -+ -+ -+void coverage_help(void) { -+ -+ cerr << "\nTool: bedtools coverage (aka coverageBed)" << endl; -+ cerr << "Version: " << VERSION << "\n"; -+ cerr << "Summary: Returns the depth and breadth of coverage of features from A" << endl; -+ cerr << "\t on the intervals in B." << endl << endl; -+ -+ cerr << "Usage: " << "bedtools coverage" << " [OPTIONS] -a -b " << endl << endl; -+ -+ cerr << "Options: " << endl; -+ -+ cerr << "\t-abam\t" << "The A input file is in BAM format. Replaces -a." << endl << endl; -+ -+ cerr << "\t-s\t" << "Require same strandedness. That is, only counts hits in A that" << endl; -+ cerr << "\t\toverlap B on the _same_ strand." << endl; -+ cerr << "\t\t- By default, overlaps are counted without respect to strand." << endl << endl; -+ -+ cerr << "\t-S\t" << "Require different strandedness. That is, only report hits in A" << endl; -+ cerr << "\t\tthat overlap B on the _opposite_ strand." << endl; -+ cerr << "\t\t- By default, overlaps are counted without respect to strand." << endl << endl; -+ -+ cerr << "\t-hist\t" << "Report a histogram of coverage for each feature in B" << endl; -+ cerr << "\t\tas well as a summary histogram for _all_ features in B." << endl << endl; -+ cerr << "\t\tOutput (tab delimited) after each feature in B:" << endl; -+ cerr << "\t\t 1) depth\n\t\t 2) # bases at depth\n\t\t 3) size of B\n\t\t 4) % of B at depth" << endl << endl; -+ -+ cerr << "\t-d\t" << "Report the depth at each position in each B feature." << endl; -+ cerr << "\t\tPositions reported are one based. Each position" << endl; -+ cerr << "\t\tand depth follow the complete B feature." << endl << endl; -+ -+ cerr << "\t-counts\t" << "Only report the count of overlaps, don't compute fraction, etc." << endl << endl; -+ -+ cerr << "\t-split\t" << "Treat \"split\" BAM or BED12 entries as distinct BED intervals." << endl; -+ cerr << "\t\twhen computing coverage." << endl; -+ cerr << "\t\tFor BAM files, this uses the CIGAR \"N\" and \"D\" operations " << endl; -+ cerr << "\t\tto infer the blocks for computing coverage." << endl; -+ cerr << "\t\tFor BED12 files, this uses the BlockCount, BlockStarts," << endl; -+ cerr << "\t\tand BlockEnds fields (i.e., columns 10,11,12)." << endl << endl; -+ -+ -+ cerr << "\t-sorted\t" << "Use the \"chromsweep\" algorithm for sorted (-k1,1 -k2,2n) input." << endl << endl; -+ -+ cerr << "\t-g\t" << "Provide a genome file to enforce consistent chromosome sort order" << endl; -+ cerr <<"\t\tacross input files. Only applies when used with -sorted option." << endl << endl; -+ -+ cerr << "\t-header\t" << "Print the header from the A file prior to results." << endl << endl; -+ -+ cerr << "\t-nobuf\t" << "Disable buffered output. Using this option will cause each line"<< endl; -+ cerr <<"\t\tof output to be printed as it is generated, rather than saved" << endl; -+ cerr <<"\t\tin a buffer. This will make printing large output files " << endl; -+ -+ cerr <<"\t\tnoticeably slower, but can be useful in conjunction with" << endl; -+ cerr <<"\t\tother software tools and scripts that need to process one" << endl; -+ cerr <<"\t\tline of bedtools output at a time." << endl << endl; -+ -+ cerr << "\t-names\t" << "When using multiple databases, provide an alias for each that" << endl; -+ cerr <<"\t\twill appear instead of a fileId when also printing the DB record." << endl << endl; -+ -+ cerr << "\t-filenames" << "\tWhen using multiple databases, show each complete filename" << endl; -+ cerr <<"\t\t\tinstead of a fileId when also printing the DB record." << endl << endl; -+ -+ cerr << "\t-sortout\t" << "When using multiple databases, sort the output DB hits" << endl; -+ cerr << "\t\t\tfor each record." << endl << endl; -+ -+ cerr << "\t-nonamecheck\t" << "For sorted data, don't throw an error if the file has different naming conventions" << endl; -+ cerr << "\t\t\tfor the same chromosome. ex. \"chr1\" vs \"chr01\"." << endl << endl; -+ -+ CommonHelp(); -+ -+ cerr << "Default Output: " << endl; -+ cerr << "\t" << " After each entry in B, reports: " << endl; -+ cerr << "\t 1) The number of features in A that overlapped the B interval." << endl; -+ cerr << "\t 2) The number of bases in B that had non-zero coverage." << endl; -+ cerr << "\t 3) The length of the entry in B." << endl; -+ cerr << "\t 4) The fraction of bases in B that had non-zero coverage." << endl << endl; -+ -+ exit(1); -+} -diff --git a/src/intersectFile/intersectFile.cpp b/src/intersectFile/intersectFile.cpp -index c516c6c..5c5f10f 100644 ---- a/src/intersectFile/intersectFile.cpp -+++ b/src/intersectFile/intersectFile.cpp -@@ -98,6 +98,7 @@ bool IntersectFile::nextUnsortedFind(RecordKeyVector &hits) - if (queryRecord == NULL) { - continue; - } else { -+ _context->testNameConventions(queryRecord); - hits.setKey(queryRecord); - _binTree->getHits(queryRecord, hits); - return true; -diff --git a/src/mapFile/Makefile b/src/mapFile/Makefile -index 55a9798..a3ac6d9 100644 ---- a/src/mapFile/Makefile -+++ b/src/mapFile/Makefile -@@ -3,20 +3,6 @@ OBJ_DIR = ../../obj/ - BIN_DIR = ../../bin/ - TOOL_DIR = ../../src/ - --# ------------------- --# define our includes --# ------------------- --# INCLUDES = -I$(UTILITIES_DIR)/bedFile/ \ --# -I$(UTILITIES_DIR)/gzstream/ \ --# -I$(UTILITIES_DIR)/genomeFile/ \ --# -I$(UTILITIES_DIR)/lineFileUtilities/ \ --# -I$(UTILITIES_DIR)/fileType/ \ --# -I$(UTILITIES_DIR)/BamTools/include \ --# -I$(UTILITIES_DIR)/BamTools-Ancillary \ --# -I$(UTILITIES_DIR)/chromsweep \ --# -I$(UTILITIES_DIR)/VectorOps \ --# -I$(UTILITIES_DIR)/version/ -- - INCLUDES = -I$(UTILITIES_DIR)/Contexts/ \ - -I$(UTILITIES_DIR)/general/ \ - -I$(UTILITIES_DIR)/fileType/ \ -diff --git a/src/mapFile/mapHelp.cpp b/src/mapFile/mapHelp.cpp -index ee81457..795799b 100644 ---- a/src/mapFile/mapHelp.cpp -+++ b/src/mapFile/mapHelp.cpp -@@ -56,6 +56,7 @@ void map_help(void) { - cerr << "\t-nonamecheck\t" << "For sorted data, don't throw an error if the file has different naming conventions" << endl; - cerr << "\t\t\tfor the same chromosome. ex. \"chr1\" vs \"chr01\"." << endl << endl; - -+ CommonHelp(); - - cerr << "Notes: " << endl; - cerr << "\t(1) Both input files must be sorted by chrom, then start." << endl << endl; -diff --git a/src/utils/Contexts/ContextBase.cpp b/src/utils/Contexts/ContextBase.cpp -index 27aa805..09f878b 100644 ---- a/src/utils/Contexts/ContextBase.cpp -+++ b/src/utils/Contexts/ContextBase.cpp -@@ -650,7 +650,9 @@ bool ContextBase::parseIoBufSize(QuickString bufStr) - } - - void ContextBase::testNameConventions(const Record *record) { -- if (getNameCheckDisabled() || _nameConventionWarningTripped) return; -+ //Do nothing if using the -nonamecheck option, -+ //warning already given, or record is unmapped BAM record -+ if (getNameCheckDisabled() || _nameConventionWarningTripped || record->isUnmapped()) return; - - int fileIdx = record->getFileIdx(); - -diff --git a/src/utils/Contexts/ContextCoverage.cpp b/src/utils/Contexts/ContextCoverage.cpp -new file mode 100644 -index 0000000..78f7cda ---- /dev/null -+++ b/src/utils/Contexts/ContextCoverage.cpp -@@ -0,0 +1,77 @@ -+/* -+ * ContextCoverage.cpp -+ * -+ * Created on: May 8, 2015 -+ * Author: nek3d -+ */ -+ -+#include "ContextCoverage.h" -+ -+ContextCoverage::ContextCoverage() -+: _count(false), -+ _perBase(false), -+ _showHist(false), -+ _coverageType(DEFAULT) -+{ -+ -+} -+ -+ContextCoverage::~ContextCoverage() { -+ -+} -+ -+bool ContextCoverage::parseCmdArgs(int argc, char **argv, int skipFirstArgs) { -+ -+ for (_i=_skipFirstArgs; _i < argc; _i++) { -+ if (isUsed(_i - _skipFirstArgs)) { -+ continue; -+ } -+ if (strcmp(_argv[_i], "-d") == 0) { -+ if (!handle_d()) return false; -+ } -+ if (strcmp(_argv[_i], "-counts") == 0) { -+ if (!handle_c()) return false; -+ } -+ if (strcmp(_argv[_i], "-hist") == 0) { -+ if (!handle_hist()) return false; -+ } -+ } -+ return ContextIntersect::parseCmdArgs(argc, argv, _skipFirstArgs); -+} -+ -+bool ContextCoverage::isValidState() -+{ -+ if (!ContextIntersect::isValidState()) { -+ return false; -+ } -+ //Can only use one output option. Were two or more set? -+ if (((int)_count + (int)_perBase + (int)_showHist) > 1) { -+ _errorMsg = "\n***** ERROR: -counts, -d, and -hist are mutually exclusive options. *****"; -+ return false; -+ } -+ -+ return true; -+} -+ -+bool ContextCoverage::handle_c() -+{ -+ _count = true; -+ _coverageType = COUNT; -+ return ContextIntersect::handle_c(); -+} -+ -+bool ContextCoverage::handle_d() -+{ -+ _perBase = true; -+ _coverageType = PER_BASE; -+ markUsed(_i - _skipFirstArgs); -+ return true; -+} -+ -+bool ContextCoverage::handle_hist() -+{ -+ _showHist = true; -+ _coverageType = HIST; -+ markUsed(_i - _skipFirstArgs); -+ return true; -+} -diff --git a/src/utils/Contexts/ContextCoverage.h b/src/utils/Contexts/ContextCoverage.h -new file mode 100644 -index 0000000..5a7b6b0 ---- /dev/null -+++ b/src/utils/Contexts/ContextCoverage.h -@@ -0,0 +1,40 @@ -+/* -+ * ContextCoverage.h -+ * -+ * Created on: May 8, 2015 -+ * Author: nek3d -+ */ -+ -+#ifndef CONTEXTCOVERAGE_H_ -+#define CONTEXTCOVERAGE_H_ -+ -+ -+#include "ContextIntersect.h" -+ -+class ContextCoverage : public ContextIntersect { -+public: -+ ContextCoverage(); -+ virtual ~ContextCoverage(); -+ virtual bool parseCmdArgs(int argc, char **argv, int skipFirstArgs); -+ virtual bool hasIntersectMethods() const { return true; } -+ virtual bool isValidState(); -+ -+ typedef enum { DEFAULT, COUNT, PER_BASE, HIST } coverageType; -+ coverageType getCoverageType() const { return _coverageType; } -+ -+private: -+ bool _count; -+ bool _perBase; -+ bool _showHist; -+ coverageType _coverageType; -+ -+ bool handle_c(); -+ bool handle_d(); -+ bool handle_hist(); -+ -+ -+}; -+ -+ -+ -+#endif /* CONTEXTCOVERAGE_H_ */ -diff --git a/src/utils/Contexts/ContextFisher.cpp b/src/utils/Contexts/ContextFisher.cpp -index 7e531e9..dc9ee41 100644 ---- a/src/utils/Contexts/ContextFisher.cpp -+++ b/src/utils/Contexts/ContextFisher.cpp -@@ -21,13 +21,6 @@ bool ContextFisher::parseCmdArgs(int argc, char **argv, int skipFirstArgs) - else if (strcmp(_argv[_i], "-exclude") == 0) { - if (!handle_exclude()) return false; - } --// if (strcmp(_argv[_i], "-g") == 0) { --// if (!handle_g()) return false; --// } --// if(strcmp(_argv[_i], "-m") == 0) { --// markUsed(_i - _skipFirstArgs); --// setUseMergedIntervals(true); --// } - } - return ContextIntersect::parseCmdArgs(argc, argv, _skipFirstArgs); - } -diff --git a/src/utils/Contexts/ContextIntersect.h b/src/utils/Contexts/ContextIntersect.h -index 5cdbfd5..32e42be 100644 ---- a/src/utils/Contexts/ContextIntersect.h -+++ b/src/utils/Contexts/ContextIntersect.h -@@ -82,7 +82,7 @@ class ContextIntersect : public ContextBase { - - virtual bool hasIntersectMethods() const { return true; } - --private: -+protected: - - BlockMgr *_splitBlockMgr; - -diff --git a/src/utils/Contexts/ContextMap.cpp b/src/utils/Contexts/ContextMap.cpp -index 1d79d7a..d72ee75 100644 ---- a/src/utils/Contexts/ContextMap.cpp -+++ b/src/utils/Contexts/ContextMap.cpp -@@ -22,17 +22,6 @@ ContextMap::~ContextMap() - - - bool ContextMap::parseCmdArgs(int argc, char **argv, int skipFirstArgs) { -- _argc = argc; -- _argv = argv; -- _skipFirstArgs = skipFirstArgs; -- if (_argc < 2) { -- setShowHelp(true); -- return false; -- } -- -- setProgram(_programNames[argv[0]]); -- -- _argsProcessed.resize(_argc - _skipFirstArgs, false); - - for (_i=_skipFirstArgs; _i < argc; _i++) { - if (isUsed(_i - _skipFirstArgs)) { -diff --git a/src/utils/Contexts/ContextMerge.cpp b/src/utils/Contexts/ContextMerge.cpp -index 3da0d5d..5fee7a8 100644 ---- a/src/utils/Contexts/ContextMerge.cpp -+++ b/src/utils/Contexts/ContextMerge.cpp -@@ -29,14 +29,6 @@ ContextMerge::~ContextMerge() - - bool ContextMerge::parseCmdArgs(int argc, char **argv, int skipFirstArgs) - { -- _argc = argc; -- _argv = argv; -- _skipFirstArgs = skipFirstArgs; -- -- setProgram(_programNames[argv[0]]); -- -- _argsProcessed.resize(_argc - _skipFirstArgs, false); -- - for (_i=_skipFirstArgs; _i < argc; _i++) { - if (isUsed(_i - _skipFirstArgs)) { - continue; -diff --git a/src/utils/Contexts/ContextSample.cpp b/src/utils/Contexts/ContextSample.cpp -index 38fbcb3..132ba02 100644 ---- a/src/utils/Contexts/ContextSample.cpp -+++ b/src/utils/Contexts/ContextSample.cpp -@@ -17,18 +17,6 @@ ContextSample::~ContextSample() - } - - bool ContextSample::parseCmdArgs(int argc, char **argv, int skipFirstArgs) { -- _argc = argc; -- _argv = argv; -- _skipFirstArgs = skipFirstArgs; -- if (_argc < 2) { -- setShowHelp(true); -- return false; -- } -- -- setProgram(_programNames[argv[0]]); -- -- _argsProcessed.resize(_argc - _skipFirstArgs, false); -- - for (_i=_skipFirstArgs; _i < argc; _i++) { - if (isUsed(_i - _skipFirstArgs)) { - continue; -diff --git a/src/utils/Contexts/ContextSpacing.cpp b/src/utils/Contexts/ContextSpacing.cpp -index 1dc18c6..3cb8e7d 100644 ---- a/src/utils/Contexts/ContextSpacing.cpp -+++ b/src/utils/Contexts/ContextSpacing.cpp -@@ -17,17 +17,6 @@ ContextSpacing::~ContextSpacing() - } - - bool ContextSpacing::parseCmdArgs(int argc, char **argv, int skipFirstArgs) { -- _argc = argc; -- _argv = argv; -- _skipFirstArgs = skipFirstArgs; -- if (_argc < 2) { -- setShowHelp(true); -- return false; -- } -- -- setProgram(_programNames[argv[0]]); -- -- _argsProcessed.resize(_argc - _skipFirstArgs, false); - - for (_i=_skipFirstArgs; _i < argc; _i++) { - if (isUsed(_i - _skipFirstArgs)) { -diff --git a/src/utils/Contexts/ContextSubtract.cpp b/src/utils/Contexts/ContextSubtract.cpp -index b0d2e61..830c9f5 100644 ---- a/src/utils/Contexts/ContextSubtract.cpp -+++ b/src/utils/Contexts/ContextSubtract.cpp -@@ -23,18 +23,6 @@ ContextSubtract::~ContextSubtract() - - - bool ContextSubtract::parseCmdArgs(int argc, char **argv, int skipFirstArgs) { -- _argc = argc; -- _argv = argv; -- _skipFirstArgs = skipFirstArgs; -- if (_argc < 2) { -- setShowHelp(true); -- return false; -- } -- -- setProgram(_programNames[argv[0]]); -- -- _argsProcessed.resize(_argc - _skipFirstArgs, false); -- - for (_i=_skipFirstArgs; _i < argc; _i++) { - if (isUsed(_i - _skipFirstArgs)) { - continue; -@@ -48,7 +36,6 @@ bool ContextSubtract::parseCmdArgs(int argc, char **argv, int skipFirstArgs) { - if (strcmp(_argv[_i], "-N") == 0) { - if (!handle_N()) return false; - } -- - } - return ContextIntersect::parseCmdArgs(argc, argv, _skipFirstArgs); - } -diff --git a/src/utils/Contexts/Makefile b/src/utils/Contexts/Makefile -index 5ae37ea..a3885ff 100644 ---- a/src/utils/Contexts/Makefile -+++ b/src/utils/Contexts/Makefile -@@ -21,9 +21,9 @@ INCLUDES = -I$(UTILITIES_DIR)/general/ \ - # ---------------------------------- - SOURCES= ContextBase.cpp ContextBase.h ContextIntersect.cpp ContextIntersect.h ContextFisher.cpp ContextFisher.h ContextMap.cpp \ - ContextMap.h ContextSample.cpp ContextSpacing.cpp ContextSample.h ContextSpacing.h ContextMerge.h ContextMerge.cpp ContextJaccard.h ContextJaccard.cpp \ -- ContextClosest.cpp ContextClosest.h ContextSubtract.cpp ContextSubtract.h -+ ContextClosest.cpp ContextClosest.h ContextSubtract.cpp ContextSubtract.h ContextCoverage.cpp ContextCoverage.h - OBJECTS= ContextBase.o ContextIntersect.o ContextFisher.o ContextMap.o ContextSample.o ContextSpacing.o ContextMerge.o ContextJaccard.o ContextClosest.o \ -- ContextSubtract.o -+ ContextSubtract.o ContextCoverage.o - _EXT_OBJECTS=ParseTools.o QuickString.o - EXT_OBJECTS=$(patsubst %,$(OBJ_DIR)/%,$(_EXT_OBJECTS)) - BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS)) -@@ -48,4 +48,5 @@ clean: - $(OBJ_DIR)/ContextJaccard.o \ - $(OBJ_DIR)/ContextClosest.o \ - $(OBJ_DIR)/ContextSubtract.o \ -+ $(OBJ_DIR)/ContextCoverage.o - .PHONY: clean -diff --git a/src/utils/RecordOutputMgr/RecordOutputMgr.cpp b/src/utils/RecordOutputMgr/RecordOutputMgr.cpp -index b4f488b..419e41f 100644 ---- a/src/utils/RecordOutputMgr/RecordOutputMgr.cpp -+++ b/src/utils/RecordOutputMgr/RecordOutputMgr.cpp -@@ -126,9 +126,13 @@ void RecordOutputMgr::printRecord(const Record *record) - void RecordOutputMgr::printRecord(const Record *record, const QuickString & value) - { - _afterVal = value; -- printRecord(record); -+ bool recordPrinted = false; -+ if (record != NULL) { -+ printRecord(record); -+ recordPrinted = true; -+ } - if (!value.empty()) { -- tab(); -+ if (recordPrinted) tab(); - _outBuf.append(value); - } - newline(); -diff --git a/src/utils/aux/BedtoolsDriver.cpp b/src/utils/aux/BedtoolsDriver.cpp -index 147b562..998a70e 100644 ---- a/src/utils/aux/BedtoolsDriver.cpp -+++ b/src/utils/aux/BedtoolsDriver.cpp -@@ -10,7 +10,7 @@ - #include "ContextClosest.h" - #include "ContextSubtract.h" - #include "ContextSpacing.h" --//#include "ContextCoverage.h" -+#include "ContextCoverage.h" - - //tools - #include "intersectFile.h" -@@ -22,6 +22,7 @@ - #include "sampleFile.h" - #include "spacingFile.h" - #include "fisher.h" -+#include "coverageFile.h" - - BedtoolsDriver::BedtoolsDriver() { - _supported.insert("intersect"); -@@ -33,6 +34,7 @@ BedtoolsDriver::BedtoolsDriver() { - _supported.insert("sample"); - _supported.insert("spacing"); - _supported.insert("fisher"); -+ _supported.insert("coverage"); - } - - -@@ -100,6 +102,8 @@ ContextBase *BedtoolsDriver::getContext() - context = new ContextSpacing(); - } else if (_subCmd == "fisher") { - context = new ContextFisher(); -+ } else if (_subCmd == "coverage") { -+ context = new ContextCoverage(); - } else { - cerr << "Error: Tool " << _subCmd << " is not supported. Exiting..." << endl; - exit(1); -@@ -128,6 +132,8 @@ ToolBase *BedtoolsDriver::getTool(ContextBase *context) - tool = new SpacingFile(static_cast(context)); - } else if (_subCmd == "fisher") { - tool = new Fisher(static_cast(context)); -+ } else if (_subCmd == "coverage") { -+ tool = new CoverageFile(static_cast(context)); - } - - else { -diff --git a/src/utils/aux/Makefile b/src/utils/aux/Makefile -index c915a5e..e7d5fb5 100644 ---- a/src/utils/aux/Makefile -+++ b/src/utils/aux/Makefile -@@ -36,7 +36,7 @@ INCLUDES = -I$(UTILITIES_DIR)/bedFile/ \ - -I$(TOOLS_DIR)/closestFile/ \ - -I$(TOOLS_DIR)/clusterBed/ \ - -I$(TOOLS_DIR)/complementBed/ \ -- -I$(TOOLS_DIR)/coverageBed/ \ -+ -I$(TOOLS_DIR)/coverageFile/ \ - -I$(TOOLS_DIR)/expand/ \ - -I$(TOOLS_DIR)/fastaFromBed/ \ - -I$(TOOLS_DIR)/flankBed/ \ -diff --git a/src/utils/general/QuickString.cpp b/src/utils/general/QuickString.cpp -index 5f53615..2ff4b24 100644 ---- a/src/utils/general/QuickString.cpp -+++ b/src/utils/general/QuickString.cpp -@@ -105,6 +105,12 @@ QuickString &QuickString::operator = (uint32_t val) { - return *this; - } - -+QuickString &QuickString::operator = (size_t val) { -+ clear(); -+ append(val); -+ return *this; -+} -+ - QuickString &QuickString::operator = (float val) { - clear(); - append(val); -@@ -152,6 +158,10 @@ QuickString &QuickString::operator += (uint32_t num) { - return *this; - } - -+QuickString &QuickString::operator += (size_t num) { -+ append(num); -+ return *this; -+} - QuickString &QuickString::operator += (float num) { - append(num); - return *this; -@@ -254,6 +264,10 @@ void QuickString::append(uint32_t num) { - int2str((int)num, *this, true); - } - -+void QuickString::append(size_t num) { -+ int2str((int)num, *this, true); -+} -+ - void QuickString::append(float num) { - append(ToString(num)); - } -diff --git a/src/utils/general/QuickString.h b/src/utils/general/QuickString.h -index 93f34bb..aee6b9a 100644 ---- a/src/utils/general/QuickString.h -+++ b/src/utils/general/QuickString.h -@@ -38,6 +38,7 @@ class QuickString { - QuickString &operator = (char); - QuickString &operator = (int); - QuickString &operator = (uint32_t); -+ QuickString &operator = (size_t); - QuickString &operator = (float); - QuickString &operator = (double); - QuickString &operator += (const QuickString &); -@@ -46,6 +47,7 @@ class QuickString { - QuickString &operator += (char); - QuickString &operator += (int); - QuickString &operator += (uint32_t); -+ QuickString &operator += (size_t); - QuickString &operator += (float); - QuickString &operator += (double); - -@@ -71,6 +73,7 @@ class QuickString { - //for better performance. - void append(int num); - void append(uint32_t num); -+ void append(size_t num); - void append(float num); - void append(double num); - -diff --git a/test/intersect/test-intersect.sh b/test/intersect/test-intersect.sh -index b6263a0..262d315 100644 ---- a/test/intersect/test-intersect.sh -+++ b/test/intersect/test-intersect.sh -@@ -537,16 +537,15 @@ check exp obs - rm exp obs - - ################################################################## --# see that -nonamecheck only works for sorted data --# NOTE: This test is now deprecated, as the -nonamecheck option --# must also now work with unsorted data -+# see that naming conventions are tested with unsorted data. - ################################################################## - echo " intersect.t44...\c" --echo ok --#"***** ERROR: -nonamecheck option is only valid for sorted input. *****" > exp --#$BT intersect -a nonamecheck_a.bed -b nonamecheck_b.bed -nonamecheck 2>&1 > /dev/null | cat - | head -2 | tail -1 > obs --#check exp obs --#rm exp obs -+echo \ -+"***** WARNING: File nonamecheck_a.bed has a record where naming convention (leading zero) is inconsistent with other files: -+chr1 10 20" > exp -+$BT intersect -a nonamecheck_a.bed -b nonamecheck_b.bed 2>&1 > /dev/null | cat - | head -2 > obs -+check exp obs -+rm exp obs - - - ################################################################## diff --git a/sources b/sources deleted file mode 100644 index cce49bc..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -SHA512 (bedtools-2.27.1.tar.gz) = 21cbc0db083c1d3b1c4f7708d800bfefae938ee135dcf9ce1f758ede075e31a2b0e608fe328f4d3430a55537ee94bfa3d64a2edc00f02b8283b56bebcb171034