Skip to content

Commit c1e9e92

Browse files
authored
Merge pull request #902 from deeptools/dev
Release 3.7.5
2 parents 67a4f37 + 8ec5add commit c1e9e92

File tree

3 files changed

+57
-1
lines changed

3 files changed

+57
-1
lines changed

docs/content/News.rst

+16
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,22 @@
11
News and Developments
22
=====================
33

4+
Release 3.7.5
5+
-------------
6+
**June 2024**
7+
8+
- Update the version file.
9+
10+
Release 3.7.4
11+
-------------
12+
**24 April 2024**
13+
14+
- Allow chicAggregateStatistic.py to to extract the aggregated data from the views.hdf based on differential.hdf or differential_target.bed. Now the BED may have the target name in the 4th column. In that case, the aggregation is done per target.
15+
- Allow hicCorrectMatrix.py to write filtered out regions to a BED file
16+
17+
Thanks @pavanvidem
18+
19+
Warning: In this version the version file has not been modified so the tools gives 3.7.3 as version.
420

521
Release 3.7.3
622
-------------

hicexplorer/_version.py

+1-1
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.7.3'
5+
__version__ = '3.7.5'

hicexplorer/test/general/test_chicAggregateStatistic.py

+40
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,46 @@ def are_files_equal(file1, file2, delta=2, skip=0):
3333
return equal
3434

3535

36+
def test_target_list():
37+
outfile_aggregate = NamedTemporaryFile(suffix='.hdf5', delete=False)
38+
outfile_aggregate.close()
39+
args = "--interactionFile {} --targetFile {} --outFileName {} \
40+
-t {}".format(ROOT + 'chicViewpoint/two_matrices.hdf5',
41+
ROOT + 'chicAggregateStatistic/target_list_3col.bed',
42+
outfile_aggregate.name, 10).split()
43+
chicAggregateStatistic.main(args)
44+
45+
aggregateFileH5Object = h5py.File(outfile_aggregate.name, 'r')
46+
assert 'FL-E13-5_chr1_MB-E10-5_chr1' in aggregateFileH5Object
47+
assert 'FL-E13-5_chr1' in aggregateFileH5Object['FL-E13-5_chr1_MB-E10-5_chr1']
48+
assert 'MB-E10-5_chr1' in aggregateFileH5Object['FL-E13-5_chr1_MB-E10-5_chr1']
49+
50+
assert 'genes' in aggregateFileH5Object['FL-E13-5_chr1_MB-E10-5_chr1']['FL-E13-5_chr1']
51+
assert 'genes' in aggregateFileH5Object['FL-E13-5_chr1_MB-E10-5_chr1']['MB-E10-5_chr1']
52+
assert len(aggregateFileH5Object) == 1
53+
assert aggregateFileH5Object.attrs['type'] == 'aggregate'
54+
55+
for chromosome in aggregateFileH5Object['FL-E13-5_chr1_MB-E10-5_chr1']['FL-E13-5_chr1']:
56+
57+
assert len(aggregateFileH5Object['FL-E13-5_chr1_MB-E10-5_chr1']['FL-E13-5_chr1'][chromosome]) == 3
58+
59+
for gene in aggregateFileH5Object['FL-E13-5_chr1_MB-E10-5_chr1']['FL-E13-5_chr1'][chromosome]:
60+
assert len(aggregateFileH5Object['FL-E13-5_chr1_MB-E10-5_chr1']['FL-E13-5_chr1'][chromosome][gene]) == 7
61+
for data in aggregateFileH5Object['FL-E13-5_chr1_MB-E10-5_chr1']['FL-E13-5_chr1'][chromosome][gene]:
62+
assert data in ['chromosome', 'end_list', 'gene_name', 'raw_target_list', 'relative_distance_list', 'start_list', 'sum_of_interactions']
63+
64+
for chromosome in aggregateFileH5Object['FL-E13-5_chr1_MB-E10-5_chr1']['MB-E10-5_chr1']:
65+
66+
assert len(aggregateFileH5Object['FL-E13-5_chr1_MB-E10-5_chr1']['MB-E10-5_chr1'][chromosome]) == 3
67+
68+
for gene in aggregateFileH5Object['FL-E13-5_chr1_MB-E10-5_chr1']['MB-E10-5_chr1'][chromosome]:
69+
assert len(aggregateFileH5Object['FL-E13-5_chr1_MB-E10-5_chr1']['MB-E10-5_chr1'][chromosome][gene]) == 7
70+
for data in aggregateFileH5Object['FL-E13-5_chr1_MB-E10-5_chr1']['MB-E10-5_chr1'][chromosome][gene]:
71+
assert data in ['chromosome', 'end_list', 'gene_name', 'raw_target_list', 'relative_distance_list', 'start_list', 'sum_of_interactions']
72+
73+
aggregateFileH5Object.close()
74+
75+
3676
def test_regular_mode():
3777
outfile_aggregate = NamedTemporaryFile(suffix='.hdf5', delete=False)
3878
outfile_aggregate.close()

0 commit comments

Comments
 (0)