Skip to content

Commit 9756fe5

Browse files
authored
Merge pull request #612 from deeptools/develop
Develop
2 parents e64f036 + f0df3f5 commit 9756fe5

16 files changed

Lines changed: 913 additions & 366 deletions

docs/content/News.rst

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,29 @@
11
News and Developments
22
=====================
33

4+
5+
Release 3.5.2
6+
-------------
7+
**06 October 2020**
8+
9+
- Bug fix release:
10+
- enforcing version 15 of HiCMatrix. Version 14 had a bug concerning the application of the correction factors of cool files. See issue #595
11+
- Fixing a bug in hicDetectLoops in single-core mode. Thanks @alecw
12+
- Fixing a bug in hicDifferentialTAD concerning multiple chromosomes in the bed file. See issue #587
13+
- Updating dependencies to newest versions, except biopython. Forcing here <1.77 because their API change is breaking our source code. See issue #609
14+
- Fixing #596
15+
- Changing internal structure of the docs. Navigation should be better now.
16+
17+
18+
Release 3.5.1
19+
--------------
20+
**11 August 2020**
21+
22+
- patch hicCorrelate
23+
- hicBuildMatrix: Better help text
24+
- patch for hicPlotMatrix if matrix does not start at 0 and --region is used
25+
- bug fix for remove option in hicAdjustMatrix
26+
427
Release 3.5
528
-----------
629
**10 July 2020**

docs/content/installation.rst

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,27 +7,31 @@ Installation
77
Requirements
88
-------------
99

10-
* Python 3.6
11-
* numpy >= 1.17
12-
* scipy >= 1.3
13-
* matplotlib == 3.1
14-
* pysam >= 0.15
15-
* intervaltree >= 3.0
16-
* biopython >= 1.74
17-
* pytables >= 3.5
18-
* pyBigWig >= 0.3
19-
* future >= 0.17
20-
* jinja2 >= 2.10
21-
* pandas >= 0.25
22-
* unidecode >= 1.1
23-
* hicmatrix = 11
24-
* pygenometracks >= 3.0
25-
* psutil >= 5.6
26-
* hic2cool >= 0.7
27-
* cooler >= 0.8.5
28-
* krbalancing >= 0.0.5 (Needs the library eigen; openmp is recommended for linux users. No openmp support on macOS.)
10+
* python >= 3.6
11+
* numpy >= 1.19.*
12+
* scipy >= 1.5.*
13+
* matplotlib-base >= 3.1.*
14+
* ipykernel >= 5.3.0
15+
* pysam >= 0.16.*
16+
* intervaltree >= 3.1.*
17+
* biopython < 1.77
18+
* pytables >= 3.6.*
19+
* pandas >= 1.1.*
20+
* pybigwig >= 0.3.*
21+
* jinja2 >= 2.11
22+
* unidecode >= 1.1.*
23+
* hicmatrix >= 15
24+
* hic2cool >= 0.8.3
25+
* psutil >= 5.7.*
26+
* pygenometracks >= 3.5
2927
* fit_nbinom >= 1.1
30-
* pybedtools >= 0.8
28+
* cooler >= 0.8.10
29+
* krbalancing >= 0.0.5 (Needs the library eigen; openmp is recommended for linux users. No openmp support on macOS.)
30+
* pybedtools >= 0.8.*
31+
* future >= 0.18
32+
* tqdm >= 4.50
33+
* hyperopt >= 0.2.4
34+
* python-graphviz >= 0.14
3135

3236

3337
**Warning:** Python 2.7 support is discontinued. Moreover, the support for pip is discontinued too.
@@ -36,7 +40,7 @@ Requirements
3640
Command line installation using ``conda``
3741
-----------------------------------------
3842

39-
The fastet way to obtain **Python 3.6 together with numpy and scipy** is
43+
The fastet way to obtain **Python 3.6 or 3.7 together with numpy and scipy** is
4044
via the `Anaconda Scientific Python
4145
Distribution <https://store.continuum.io/cshop/anaconda/>`_.
4246
Just download the version that's suitable for your operating system and

docs/content/list-of-tools.rst

Lines changed: 83 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,88 @@
11
HiCExplorer tools
22
=================
33

4+
Tools for Hi-C data pre-processing
5+
----------------------------------
6+
.. toctree::
7+
:maxdepth: 1
8+
9+
tools/hicFindRestSite
10+
tools/hicBuildMatrix
11+
tools/hicSumMatrices
12+
tools/hicMergeMatrixBins
13+
tools/hicCorrectMatrix
14+
tools/hicNormalize
15+
16+
Tools for Hi-C QC
17+
-----------------
18+
.. toctree::
19+
:maxdepth: 1
20+
21+
tools/hicQuickQC
22+
tools/hicQC
23+
tools/hicCorrelate
24+
tools/hicPlotDistVsCounts
25+
tools/hicInfo
26+
27+
Tools for Hi-C data analysis
28+
----------------------------
29+
.. toctree::
30+
:maxdepth: 1
31+
32+
tools/hicCompareMatrices
33+
tools/hicPCA
34+
tools/hicTransform
35+
tools/hicAverageRegions
36+
tools/hicDetectLoops
37+
tools/hicValidateLocations
38+
tools/hicMergeLoops
39+
tools/hicHyperoptDetectLoops
40+
tools/hicHyperoptDetectLoopsHiCCUPS
41+
tools/hicCompartmentalization
42+
tools/hicPlotSVL
43+
44+
Tools for TADs processing
45+
-------------------------
46+
.. toctree::
47+
:maxdepth: 1
48+
49+
tools/hicFindTADs
50+
tools/hicMergeDomains
51+
tools/hicDifferentialTAD
52+
tools/hicMergeTADbins
53+
54+
Tools for Hi-C and TADs visualization
55+
-------------------------------------
56+
.. toctree::
57+
:maxdepth: 1
58+
59+
tools/hicPlotMatrix
60+
tools/hicPlotTADs
61+
tools/hicPlotViewpoint
62+
tools/hicAggregateContacts
63+
tools/hicPlotAverageRegions
64+
65+
Hi-C contact matrix handling
66+
----------------------------
67+
.. toctree::
68+
:maxdepth: 1
69+
70+
tools/hicConvertFormat
71+
tools/hicAdjustMatrix
72+
73+
Capture Hi-C analysis
74+
---------------------
75+
.. toctree::
76+
:maxdepth: 1
77+
78+
tools/chicQualityControl
79+
tools/chicViewpointBackgroundModel
80+
tools/chicViewpoint
81+
tools/chicSignificantInteractions
82+
tools/chicAggregateStatistic
83+
tools/chicDifferentialTest
84+
tools/chicPlotViewpoint
85+
486
.. contents::
587
:local:
688

@@ -77,7 +159,7 @@ HiCExplorer tools
77159
+--------------------------------------+------------------+-----------------------------------+---------------------------------------------+-----------------------------------------------------------------------------------+
78160
|:ref:`hicPlotAverageRegions` | visualization | one npz file | one image | Visualization of hicAverageRegions. |
79161
+--------------------------------------+------------------+-----------------------------------+---------------------------------------------+-----------------------------------------------------------------------------------+
80-
|:ref`hicPlotSVL` | analysis | one / multiple Hi-C matrices | one image, p-values file, raw data file | Computes short/long range contacts; a box plot, a p-value and raw data file |
162+
|:ref:`hicPlotSVL` | analysis | one / multiple Hi-C matrices | one image, p-values file, raw data file | Computes short/long range contacts; a box plot, a p-value and raw data file |
81163
+--------------------------------------+------------------+-----------------------------------+---------------------------------------------+-----------------------------------------------------------------------------------+
82164
|:ref:`hicMergeTADbins` | preprocessing | one Hi-C matrix, one BED file | one Hi-C matrix | Uses a BED file of domains or TAD boundaries to merge the |
83165
| | | | | bin counts of a Hi-C matrix. |
@@ -128,114 +210,3 @@ You can always see all available command-line options via --help:
128210
- Output format of plots should be indicated by the file ending, e.g. ``MyPlot.pdf`` will return a pdf file, ``MyPlot.png`` a png-file.
129211
- Most of the tools that produce plots can also output the underlying data - this can be useful in cases where you don't like the HiCExplorer visualization, as you can then use the data matrices produced by deepTools with your favorite plotting tool, such as R.
130212
- The vast majority of command line options are also available in Galaxy (in a few cases with minor changes to their naming).
131-
132-
133-
Tools for Hi-C data pre-processing
134-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
135-
136-
:ref:`hicFindRestSite`
137-
""""""""""""""""""""""
138-
:ref:`hicBuildMatrix`
139-
"""""""""""""""""""""
140-
:ref:`hicSumMatrices`
141-
"""""""""""""""""""""
142-
:ref:`hicMergeMatrixBins`
143-
"""""""""""""""""""""""""
144-
:ref:`hicCorrectMatrix`
145-
"""""""""""""""""""""""
146-
:ref:`hicNormalize`
147-
"""""""""""""""""""
148-
149-
Tools for Hi-C QC
150-
^^^^^^^^^^^^^^^^^
151-
152-
:ref:`hicQuickQC`
153-
"""""""""""""""""
154-
:ref:`hicQC`
155-
""""""""""""
156-
:ref:`hicCorrelate`
157-
"""""""""""""""""""
158-
:ref:`hicPlotDistVsCounts`
159-
""""""""""""""""""""""""""
160-
:ref:`hicInfo`
161-
""""""""""""""
162-
163-
Tools for Hi-C data analysis
164-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
165-
166-
:ref:`hicCompareMatrices`
167-
"""""""""""""""""""""""""
168-
:ref:`hicPCA`
169-
"""""""""""""
170-
:ref:`hicTransform`
171-
"""""""""""""""""""
172-
:ref:`hicAverageRegions`
173-
""""""""""""""""""""""""
174-
:ref:`hicDetectLoops`
175-
""""""""""""""""""""""""
176-
:ref:`hicValidateLocations`
177-
"""""""""""""""""""""""""""
178-
:ref:`hicMergeLoops`
179-
""""""""""""""""""""
180-
:ref:`hicHyperoptDetectLoops`
181-
"""""""""""""""""""""""""""""
182-
:ref:`hicHyperoptDetectLoopsHiCCUPS`
183-
""""""""""""""""""""""""""""""""""""
184-
:ref:`hicCompartmentalization`
185-
""""""""""""""""""""""""""""""
186-
:ref:`hicPlotSVL`
187-
"""""""""""""""""
188-
189-
Tools for TADs processing
190-
^^^^^^^^^^^^^^^^^^^^^^^^^
191-
192-
:ref:`hicFindTADs`
193-
""""""""""""""""""
194-
:ref:`hicMergeDomains`
195-
""""""""""""""""""""""
196-
:ref:`hicDifferentialTAD`
197-
"""""""""""""""""""""""""
198-
:ref:`hicMergeTADbins`
199-
""""""""""""""""""""""
200-
201-
Tools for Hi-C and TADs visualization
202-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
203-
204-
:ref:`hicPlotMatrix`
205-
""""""""""""""""""""
206-
:ref:`hicPlotTADs`
207-
""""""""""""""""""
208-
:ref:`hicPlotViewpoint`
209-
"""""""""""""""""""""""
210-
:ref:`hicAggregateContacts`
211-
"""""""""""""""""""""""""""
212-
:ref:`hicPlotAverageRegions`
213-
""""""""""""""""""""""""""""
214-
215-
216-
Hi-C contact matrix handling
217-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
218-
219-
:ref:`hicConvertFormat`
220-
"""""""""""""""""""""""
221-
:ref:`hicAdjustMatrix`
222-
""""""""""""""""""""""
223-
224-
225-
Capture Hi-C analysis
226-
^^^^^^^^^^^^^^^^^^^^^
227-
228-
:ref:`chicQualityControl`
229-
"""""""""""""""""""""""""
230-
:ref:`chicViewpointBackgroundModel`
231-
"""""""""""""""""""""""""""""""""""
232-
:ref:`chicViewpoint`
233-
""""""""""""""""""""
234-
:ref:`chicSignificantInteractions`
235-
""""""""""""""""""""""""""""""""""
236-
:ref:`chicAggregateStatistic`
237-
"""""""""""""""""""""""""""""
238-
:ref:`chicDifferentialTest`
239-
"""""""""""""""""""""""""""
240-
:ref:`chicPlotViewpoint`
241-
""""""""""""""""""""""""

hicexplorer/_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.5.1'
5+
__version__ = '3.5.2'

hicexplorer/hicCorrectMatrix.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,8 @@ def plot_histogram(row_sum_values, mad_values, ax1, title=None):
511511

512512
# high remove outliers
513513
row_sum = row_sum[modified_z_score < 5]
514-
514+
if len(row_sum) == 0:
515+
log.error('No data for chromosome {}. Continue with next chromosome.'.format(chrname))
515516
col = plot_num % num_cols
516517
row = plot_num // num_cols
517518
ax[chrname] = fig.add_subplot(grids[row, col])
@@ -527,6 +528,9 @@ def plot_histogram(row_sum_values, mad_values, ax1, title=None):
527528

528529
# high remove outliers
529530
row_sum = row_sum[modified_z_score < 5]
531+
if len(row_sum) == 0:
532+
log.error('No data available, exit.')
533+
exit(1)
530534
ax = fig.add_subplot(111)
531535
plot_histogram(row_sum, mad, ax)
532536

hicexplorer/hicDetectLoops.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -997,6 +997,8 @@ def main(args=None):
997997
else:
998998
single_core = False
999999

1000+
fail_flag = False
1001+
fail_message = ''
10001002
if single_core:
10011003
for chromosome in chromosomes_list:
10021004
if is_cooler:
@@ -1022,8 +1024,6 @@ def main(args=None):
10221024
all_threads_done = False
10231025
thread_done = [False] * args.threads
10241026
count_call_of_read_input = 0
1025-
fail_flag = False
1026-
fail_message = ''
10271027
while not all_data_processed or not all_threads_done:
10281028
for i in range(args.threads):
10291029
if queue[i] is None and not all_data_processed:

0 commit comments

Comments
 (0)