Skip to content

Commit df8536a

Browse files
authored
Release 3.3.1 (#872)
* copy changes from bgruening * this file should not be here since years (#845) * Develop (#827) * Merged into the wrong branch without noticing :( (#814) * use better conda link (#799) * Estimated filtering fix (#813) * oops * fix testing and set a max number of filtered reads * apparently a bunch of things were getting skipped * fix wrappers * update computeMatrix wrapper * Decrease memory needs (#817) * Use an iterator to not blow memory up * Update a bit more * The GC bias stuff is all deprecated, I'm not fixing that old code * Cache resulting counts rather than just decreasing the bin size (#818) * Cache resulting counts rather than just decreasing the bin size * sanity check * Implement #815 * [skip ci] update change log * Implement #816 (#825) * Implement #816 * expose option * Add a test using pseudocounts and skipZeroOverZero * syntax * Fix tests * Make --skipZeroOverZero a galaxy macro and add to bigwigCompare * [ci skip] a bit of formatting * Fix #822 (#826) * fixes linting issues (#837) * this file should not be here since years * Add Arabidopsis TAIR10 (A_thaliana_Jun_2009) (#853) Using output from: faCount A_thaliana_Jun_2009.fa #seq len A C G T N cpg Chr1 30427671 9709674 5435374 5421151 9697113 164359 697370 Chr2 19698289 6315641 3542973 3520766 6316348 2561 457572 Chr3 23459830 7484757 4258333 4262704 7448059 5977 559031 Chr4 18585056 5940546 3371349 3356091 5914038 3032 439585 Chr5 26975502 8621974 4832253 4858759 8652238 10278 630299 ChrC 154478 48546 28496 27570 49866 0 4639 ChrM 366924 102464 82661 81609 100190 0 13697 total 119667750 38223602 21551439 21528650 38177852 186207 2802193 hpc $ python Python 2.7.11 (default, Jul 25 2019, 12:10:26) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> 119667750-186207 119481543 * Fix python version in Azure tests (#860) * Develop (#827) * Merged into the wrong branch without noticing :( (#814) * use better conda link (#799) * Estimated filtering fix (#813) * oops * fix testing and set a max number of filtered reads * apparently a bunch of things were getting skipped * fix wrappers * update computeMatrix wrapper * Decrease memory needs (#817) * Use an iterator to not blow memory up * Update a bit more * The GC bias stuff is all deprecated, I'm not fixing that old code * Cache resulting counts rather than just decreasing the bin size (#818) * Cache resulting counts rather than just decreasing the bin size * sanity check * Implement #815 * [skip ci] update change log * Implement #816 (#825) * Implement #816 * expose option * Add a test using pseudocounts and skipZeroOverZero * syntax * Fix tests * Make --skipZeroOverZero a galaxy macro and add to bigwigCompare * [ci skip] a bit of formatting * Fix #822 (#826) * fixes linting issues (#837) * Delete #test.bg# (#859) File is removed upon clean. * Fix python version * Update azure-pipelines.yml * fixed typo (#864) * Develop (#827) * Merged into the wrong branch without noticing :( (#814) * use better conda link (#799) * Estimated filtering fix (#813) * oops * fix testing and set a max number of filtered reads * apparently a bunch of things were getting skipped * fix wrappers * update computeMatrix wrapper * Decrease memory needs (#817) * Use an iterator to not blow memory up * Update a bit more * The GC bias stuff is all deprecated, I'm not fixing that old code * Cache resulting counts rather than just decreasing the bin size (#818) * Cache resulting counts rather than just decreasing the bin size * sanity check * Implement #815 * [skip ci] update change log * Implement #816 (#825) * Implement #816 * expose option * Add a test using pseudocounts and skipZeroOverZero * syntax * Fix tests * Make --skipZeroOverZero a galaxy macro and add to bigwigCompare * [ci skip] a bit of formatting * Fix #822 (#826) * fixes linting issues (#837) * Delete #test.bg# (#859) File is removed upon clean. * fixed typo * Update test images, skip testing if the wrong matplotlib version is used (#865) * Update test images, skip testing if the wrong matplotlib version is used * Update test-template.yml * linting * can't conda activate on azure * now the heatmap is correct and the profile is wrong * lint * only one test should fail now * Fix #844 * Should fix one test at least * fix last tests * fix #838 (#843) * fix #838 * fixes * Update CHANGES.txt * Close #868 #867 and #851 (#869) * Fix #868 * Fix #867 * Default ALL the things! * Fix #866 (#871) * release 3.3.1 * try github actions * each action is a file * OK, that's inflexible * OK, the action.yml thing is a mess * syntax * ok, try this * uses * spacing * ok * do anchors work? * boo, so duplicative! * oops * maybe this will work for pypi * ensure dist is empty * nev * rename * bump version number
1 parent 76dbf59 commit df8536a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+275
-118
lines changed

.azure-pipelines/test-template.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
steps:
2-
- bash: conda create -n foo -q --yes -c conda-forge -c bioconda numpy scipy matplotlib==2.1.2 nose flake8 plotly==2.0.12 pysam pyBigWig py2bit deeptoolsintervals cython
2+
- bash: conda create -n foo -q --yes -c conda-forge -c bioconda python=$(python.version) numpy scipy matplotlib==3.1.1 nose flake8 plotly pysam pyBigWig py2bit deeptoolsintervals
33
displayName: Installing dependencies
44
- bash: |
55
source activate foo
6-
python setup.py install
6+
python -m pip install . --no-deps --ignore-installed -vvv
77
displayName: Installing deeptools
88
- bash: |
99
source activate foo

.github/workflows/pypi.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: pypi
2+
on: [push]
3+
jobs:
4+
pypi:
5+
name: upload to pypi
6+
runs-on: ubuntu-latest
7+
steps:
8+
- uses: actions/checkout@v1
9+
- name: Setup conda
10+
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
11+
run: |
12+
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -o miniconda.sh
13+
bash miniconda.sh -b -p $HOME/miniconda
14+
export PATH="$HOME/miniconda/bin:$PATH"
15+
hash -r
16+
conda config --set always_yes yes --set changeps1 no
17+
- name: create env
18+
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
19+
run: |
20+
export PATH=$HOME/miniconda/bin:$PATH
21+
conda create -n foo -q --yes -c conda-forge -c bioconda python=3.7 twine
22+
- name: sdist
23+
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
24+
run: |
25+
export PATH=$HOME/miniconda/bin:$PATH
26+
source activate foo
27+
rm -f dist/*
28+
python setup.py sdist
29+
- name: upload
30+
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
31+
env:
32+
TWINE_USERNAME: "__token__"
33+
TWINE_PASSWORD: ${{ secrets.pypi_password }}
34+
run: |
35+
export PATH=$HOME/miniconda/bin:$PATH
36+
source activate foo
37+
twine upload dist/*

.github/workflows/test.yml

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
name: Test
2+
on: [push]
3+
jobs:
4+
build-linux:
5+
name: Test on Linux
6+
runs-on: ubuntu-latest
7+
steps:
8+
- uses: actions/checkout@v1
9+
- name: Setup conda
10+
run: |
11+
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -o miniconda.sh
12+
bash miniconda.sh -b -p $HOME/miniconda
13+
export PATH="$HOME/miniconda/bin:$PATH"
14+
hash -r
15+
conda config --set always_yes yes --set changeps1 no
16+
- name: create env
17+
run: |
18+
export PATH=$HOME/miniconda/bin:$PATH
19+
conda create -n foo -q --yes -c conda-forge -c bioconda python=3.7 numpy scipy matplotlib==3.1.1 nose flake8 plotly pysam pyBigWig py2bit deeptoolsintervals
20+
- name: install deeptools
21+
run: |
22+
export PATH=$HOME/miniconda/bin:$PATH
23+
source activate foo
24+
python -m pip install . --no-deps --ignore-installed -vvv
25+
- name: PEP8
26+
run: |
27+
export PATH=$HOME/miniconda/bin:$PATH
28+
source activate foo
29+
flake8 . --exclude=.venv,.build,build --ignore=E501,F403,E402,F999,F405,E722,W504,W605
30+
- name: Test deepTools
31+
run: |
32+
export PATH=$HOME/miniconda/bin:$PATH
33+
source activate foo
34+
nosetests --with-doctest -sv deeptools
35+
build-osx:
36+
name: Test on OSX
37+
runs-on: macOS-latest
38+
steps:
39+
- uses: actions/checkout@v1
40+
- name: Setup conda
41+
run: |
42+
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh -o miniconda.sh
43+
bash miniconda.sh -b -p $HOME/miniconda
44+
export PATH="$HOME/miniconda/bin:$PATH"
45+
hash -r
46+
conda config --set always_yes yes --set changeps1 no
47+
- name: create env
48+
run: |
49+
export PATH=$HOME/miniconda/bin:$PATH
50+
conda create -n foo -q --yes -c conda-forge -c bioconda python=3.7 numpy scipy matplotlib==3.1.1 nose flake8 plotly pysam pyBigWig py2bit deeptoolsintervals
51+
- name: install deeptools
52+
run: |
53+
export PATH=$HOME/miniconda/bin:$PATH
54+
source activate foo
55+
python -m pip install . --no-deps --ignore-installed -vvv
56+
- name: Test deepTools
57+
run: |
58+
export PATH=$HOME/miniconda/bin:$PATH
59+
source activate foo
60+
nosetests --with-doctest -sv deeptools
61+
planemo:
62+
name: First planemo chunk
63+
runs-on: ubuntu-latest
64+
needs: build-linux
65+
strategy:
66+
matrix:
67+
chunk: [1, 2, 3]
68+
steps:
69+
- uses: actions/checkout@v1
70+
- name: Setup conda
71+
run: |
72+
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -o miniconda.sh
73+
bash miniconda.sh -b -p $HOME/miniconda
74+
export PATH="$HOME/miniconda/bin:$PATH"
75+
hash -r
76+
conda config --set always_yes yes --set changeps1 no
77+
- name: create env
78+
run: |
79+
export PATH=$HOME/miniconda/bin:$PATH
80+
conda create -n foo -q --yes -c conda-forge -c bioconda python=3.7 numpy scipy matplotlib==3.1.1 nose flake8 plotly pysam pyBigWig py2bit deeptoolsintervals planemo samtools
81+
- name: install deeptools
82+
run: |
83+
export PATH=$HOME/miniconda/bin:$PATH
84+
source activate foo
85+
python -m pip install . --no-deps --ignore-installed -vvv
86+
- name: planemo
87+
run: |
88+
export PATH=$HOME/miniconda/bin:$PATH
89+
source activate foo
90+
./.planemo.sh ${{ matrix.chunk }}

CHANGES.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
3.3.1
2+
3+
* Fixed `--plotNumbers` not working in `plotCorrelation`. This was issue #838.
4+
* Fixed compatibility with matplotlib 3 and restrict to at least that version.
5+
* The Y-axis labels should once again appear in both plotHeatmap and plotProfile (issue #844). This was related to the previous point.
6+
* Testing is no longer performed with python 2.7, which will reach end of life in a couple months.
7+
* Various documentation updates (issues #868, #867 and #851).
8+
* Increased support for BED files with track header lines (issue #866).
9+
110
3.3.0
211

312
* `plotCoverage` now has a `--BED` option, to restrict plots and output to apply to a specific set of regions given by a BED or GTF file or files (issue #829).

azure-pipelines.yml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ jobs:
88
vmImage: 'ubuntu-16.04'
99
strategy:
1010
matrix:
11-
Python27:
12-
python.version: '2.7'
1311
Python37:
1412
python.version: '3.7'
1513
maxParallel: 4
@@ -24,8 +22,6 @@ jobs:
2422
vmImage: 'macOS-10.13'
2523
strategy:
2624
matrix:
27-
Python27:
28-
python.version: '2.7'
2925
Python37:
3026
python.version: '3.7'
3127
maxParallel: 1
@@ -54,7 +50,7 @@ jobs:
5450
steps:
5551
- bash: echo "##vso[task.prependpath]$CONDA/bin"
5652
displayName: Add conda to PATH
57-
- bash: conda create -n foo -q --yes -c conda-forge -c bioconda numpy scipy matplotlib==2.1.2 nose flake8 plotly==2.0.12 pysam pyBigWig py2bit deeptoolsintervals cython planemo setuptools
53+
- bash: conda create -n foo -q --yes -c conda-forge -c bioconda python=$(python.version) numpy scipy matplotlib==3.1.1 nose flake8 plotly pysam pyBigWig py2bit deeptoolsintervals planemo samtools
5854
displayName: Installing dependencies
5955
- bash: |
6056
source activate foo

deeptools/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
# This file is originally generated from Git information by running 'setup.py
33
# version'. Distribution tarballs contain a pre-generated copy of this file.
44

5-
__version__ = '3.3.0'
5+
__version__ = '3.3.1'

deeptools/alignmentSieve.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def parseArguments():
3030
general.add_argument('--numberOfProcessors', '-p',
3131
help='Number of processors to use. Type "max/2" to '
3232
'use half the maximum number of processors or "max" '
33-
'to use all available processors.',
33+
'to use all available processors. (Default: %(default)s)',
3434
metavar="INT",
3535
type=parserCommon.numberOfProcessors,
3636
default=1,
@@ -80,7 +80,7 @@ def parseArguments():
8080

8181
filtering.add_argument('--filterRNAstrand',
8282
help='Selects RNA-seq reads (single-end or paired-end) in '
83-
'the given strand.',
83+
'the given strand. (Default: %(default)s)',
8484
choices=['forward', 'reverse'],
8585
default=None)
8686

@@ -129,15 +129,15 @@ def parseArguments():
129129
help='The minimum fragment length needed for read/pair '
130130
'inclusion. This option is primarily useful '
131131
'in ATACseq experiments, for filtering mono- or '
132-
'di-nucleosome fragments.',
132+
'di-nucleosome fragments. (Default: %(default)s)',
133133
metavar='INT',
134134
default=0,
135135
type=int,
136136
required=False)
137137

138138
filtering.add_argument('--maxFragmentLength',
139139
help='The maximum fragment length needed for read/pair '
140-
'inclusion.',
140+
'inclusion. A value of 0 indicates no limit. (Default: %(default)s)',
141141
metavar='INT',
142142
default=0,
143143
type=int,

deeptools/bamCompare.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ def getOptionalArgs():
8585
'If a method is specified, then it will be used to compensate '
8686
'for sequencing depth differences between the samples. '
8787
'As an alternative, this can be set to None and an option from '
88-
'--normalizeUsing <method> can be used.',
88+
'--normalizeUsing <method> can be used. (Default: %(default)s)',
8989
choices=['readCount', 'SES', 'None'],
9090
default='readCount')
9191

@@ -97,14 +97,14 @@ def getOptionalArgs():
9797
'If you do not have a good sequencing depth for '
9898
'your samples consider increasing the sampling '
9999
'regions\' size to minimize the probability '
100-
'that zero-coverage regions are used.',
100+
'that zero-coverage regions are used. (Default: %(default)s)',
101101
default=1000,
102102
type=int)
103103

104104
optional.add_argument('--numberOfSamples', '-n',
105105
help='*Only relevant when SES is chosen for the '
106106
'scaleFactorsMethod.* Number of samplings taken '
107-
'from the genome to compute the scaling factors.',
107+
'from the genome to compute the scaling factors. (Default: %(default)s)',
108108
default=1e5,
109109
type=int)
110110

@@ -125,7 +125,7 @@ def getOptionalArgs():
125125
'values are interpreted as negative fold changes. '
126126
'Instead of performing a computation using both files, the scaled signal can '
127127
'alternatively be output for the first or second file using '
128-
'the \'--operation first\' or \'--operation second\'',
128+
'the \'--operation first\' or \'--operation second\'. (Default: %(default)s)',
129129
default='log2',
130130
choices=['log2', 'ratio', 'subtract', 'add', 'mean',
131131
'reciprocal_ratio', 'first', 'second'],
@@ -137,7 +137,7 @@ def getOptionalArgs():
137137
'You can specify different values as pseudocounts for '
138138
'the numerator and the denominator by providing two '
139139
'values (the first value is used as the numerator '
140-
'pseudocount and the second the denominator pseudocount).',
140+
'pseudocount and the second the denominator pseudocount). (Default: %(default)s)',
141141
default=[1],
142142
type=float,
143143
nargs='+',

deeptools/bamCoverage.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ def get_optional_args():
6767

6868
optional.add_argument('--scaleFactor',
6969
help='The computed scaling factor (or 1, if not applicable) will '
70-
'be multiplied by this.',
70+
'be multiplied by this. (Default: %(default)s)',
7171
default=1.0,
7272
type=float,
7373
required=False)

deeptools/bamPEFragmentSize.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def parse_arguments():
5151

5252
parser.add_argument('--numberOfProcessors', '-p',
5353
help='Number of processors to use. The default is '
54-
'to use 1.',
54+
'to use 1. (Default: %(default)s)',
5555
metavar="INT",
5656
type=int,
5757
default=1,
@@ -65,18 +65,18 @@ def parse_arguments():
6565
nargs='+')
6666
parser.add_argument('--plotTitle', '-T',
6767
help='Title of the plot, to be printed on top of '
68-
'the generated image. Leave blank for no title.',
68+
'the generated image. Leave blank for no title. (Default: %(default)s)',
6969
default='')
7070
parser.add_argument('--maxFragmentLength',
71-
help='The maximum fragment length in the histogram. A value of 0 (the default) indicates to use twice the mean fragment length',
71+
help='The maximum fragment length in the histogram. A value of 0 (the default) indicates to use twice the mean fragment length. (Default: %(default)s)',
7272
default=0,
7373
type=int)
7474
parser.add_argument('--logScale',
7575
help='Plot on the log scale',
7676
action='store_true')
7777
parser.add_argument('--binSize', '-bs',
7878
metavar='INT',
79-
help='Length in bases of the window used to sample the genome. (default 1000)',
79+
help='Length in bases of the window used to sample the genome. (Default: %(default)s)',
8080
default=1000,
8181
type=int)
8282
parser.add_argument('--distanceBetweenBins', '-n',
@@ -87,7 +87,7 @@ def parse_arguments():
8787
'for high coverage samples, while smaller values are useful for '
8888
'lower coverage samples. Note that if you specify a value that '
8989
'results in too few (<1000) reads sampled, the value will be '
90-
'decreased. (default 1000000)',
90+
'decreased. (Default: %(default)s)',
9191
default=1000000,
9292
type=int)
9393
parser.add_argument('--blackListFileName', '-bl',

deeptools/bigwigCompare.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ def parse_arguments(args=None):
5454
'You can specify different values as pseudocounts for '
5555
'the numerator and the denominator by providing two '
5656
'values (the first value is used as the numerator '
57-
'pseudocount and the second the denominator pseudocount).',
57+
'pseudocount and the second the denominator pseudocount). (Default: %(default)s)',
5858
default=1,
5959
nargs='+',
6060
action=parserCommon.requiredLength(1, 2),
@@ -73,11 +73,10 @@ def parse_arguments(args=None):
7373
'the negative of the inverse of the ratio '
7474
'if the ratio is less than 0. The resulting '
7575
'values are interpreted as negative fold changes. '
76-
'*NOTE*: Only with --operation subtract can --normalizeUsing RPGC or '
77-
'--normalizeUsing RPKM be used. Instead of performing a '
76+
'Instead of performing a '
7877
'computation using both files, the scaled signal can '
7978
'alternatively be output for the first or second file using '
80-
'the \'--operation first\' or \'--operation second\'',
79+
'the \'--operation first\' or \'--operation second\' (Default: %(default)s)',
8180
default='log2',
8281
choices=['log2', 'ratio', 'subtract', 'add', 'mean',
8382
'reciprocal_ratio', 'first', 'second'],

deeptools/computeGCBias.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ def getRequiredArgs():
9494

9595
optional.add_argument('--sampleSize',
9696
default=5e7,
97-
help='Number of sampling points to be considered.',
97+
help='Number of sampling points to be considered. (Default: %(default)s)',
9898
type=int)
9999

100100
optional.add_argument('--extraSampling',
@@ -130,7 +130,7 @@ def getRequiredArgs():
130130
'standard fragment size for Illumina machines. However, '
131131
'if the depth of sequencing is low, a larger bin size '
132132
'will be required, otherwise many bins will not '
133-
'overlap with any read')
133+
'overlap with any read (Default: %(default)s)')
134134

135135
return parser
136136

0 commit comments

Comments
 (0)