From 404c26434b42de20b049faa87117fe6e8c27d86a Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Thu, 9 Jan 2020 12:39:50 +0100 Subject: [PATCH 01/34] use pRegion for HiC tracks to speed up --- pygenometracks/plotTracks.py | 68 +++++++++++++++++-------- pygenometracks/tracks/HiCMatrixTrack.py | 9 +++- 2 files changed, 55 insertions(+), 22 deletions(-) diff --git a/pygenometracks/plotTracks.py b/pygenometracks/plotTracks.py index ba4915e9..d153253d 100644 --- a/pygenometracks/plotTracks.py +++ b/pygenometracks/plotTracks.py @@ -144,12 +144,16 @@ import sys import argparse import matplotlib -matplotlib.use('Agg') +import warnings from pygenometracks.tracksClass import PlotTracks from pygenometracks._version import __version__ from .utilities import InputError +matplotlib.use('Agg') + +# Used in case no end of a genomic interval was set: +HUGE_NUMBER = 1e15 DEFAULT_BED_COLOR = '#1f78b4' DEFAULT_BIGWIG_COLOR = '#33a02c' DEFAULT_BEDGRAPH_COLOR = '#a6cee3' @@ -240,7 +244,11 @@ def get_region(region_string): """ if region_string: # separate the chromosome name and the location using the ':' character - chrom, position = region_string.strip().split(":") + try: + chrom, position = region_string.strip().split(":") + except ValueError: + # It can be a full chromosome: + return region_string.strip(), 0, HUGE_NUMBER # clean up the position for char in ",.;|!{}()": @@ -254,7 +262,7 @@ def get_region(region_string): try: region_end = int(position_list[1]) except IndexError: - region_end = 1e15 # a huge number + region_end = HUGE_NUMBER if region_start < 0: region_start = 0 if region_end <= region_start: @@ -269,12 +277,11 @@ def get_region(region_string): def main(args=None): args = parse_arguments().parse_args(args) - trp = PlotTracks(args.tracks.name, args.width, fig_height=args.height, fontsize=args.fontSize, dpi=args.dpi, track_label_width=args.trackLabelFraction) + # Identify the regions to plot: if args.BED: - count = 0 + regions = [] for line in args.BED.readlines(): - count += 1 try: chrom, start, end = line.strip().split('\t')[0:3] except ValueError: @@ -282,22 +289,43 @@ def main(args=None): try: start, end = map(int, [start, end]) except ValueError as detail: - sys.stderr.write("Invalid value found at line\t{}\t. {}\n".format(line, detail)) - name = args.outFileName.split(".") - file_suffix = name[-1] - file_prefix = ".".join(name[:-1]) - + warnings.warn("Invalid value found at line\t{}\t. {}\n".format(line, detail)) + continue + regions.append((chrom, start, end)) + else: + regions = [get_region(args.region)] + + if len(regions) == 0: + raise InputError("There is no valid regions to plot.") + + # Try to find a region to get the data: + pRegion = None + if len(set([r[0] for r in regions])) == 1: + chrom = regions[0][0] + start = min([r[1] for r in regions]) + end = max([r[2] for r in regions]) + pRegion = [chrom, start, end] + + # Create all the tracks + trp = PlotTracks(args.tracks.name, args.width, fig_height=args.height, + fontsize=args.fontSize, dpi=args.dpi, + track_label_width=args.trackLabelFraction, + pRegion=pRegion) + + # Plot them + if args.BED: + name = args.outFileName.split(".") + file_suffix = name[-1] + file_prefix = ".".join(name[:-1]) + for chrom, start, end in regions: file_name = "{}_{}-{}-{}.{}".format(file_prefix, chrom, start, end, file_suffix) if end - start < 200000: - sys.stderr.write("A region shorter than 200kb has been " - "detected! This can be too small to return " - "a proper TAD plot!\n") - # start -= 100000 - # start = max(0, start) - # end += 100000 + warnings.warn("A region shorter than 200kb has been " + "detected! This can be too small to return " + "a proper TAD plot!\n") sys.stderr.write("saving {}\n".format(file_name)) - # print("{} {} {}".format(chrom, start, end)) trp.plot(file_name, chrom, start, end, title=args.title) else: - region = get_region(args.region) - trp.plot(args.outFileName, *region, title=args.title) + trp.plot(args.outFileName, *regions[0], title=args.title) + + diff --git a/pygenometracks/tracks/HiCMatrixTrack.py b/pygenometracks/tracks/HiCMatrixTrack.py index 9a983270..bd58a696 100644 --- a/pygenometracks/tracks/HiCMatrixTrack.py +++ b/pygenometracks/tracks/HiCMatrixTrack.py @@ -7,6 +7,7 @@ import numpy as np from matplotlib.ticker import LogFormatter from . GenomeTrack import GenomeTrack +from .. import plotTracks import logging import itertools @@ -87,7 +88,7 @@ def set_properties_defaults(self): super(HiCMatrixTrack, self).set_properties_defaults() region = None if self.properties['region'] is not None: - if self.properties['region'][2] == 1e15: + if self.properties['region'][2] == plotTracks.HUGE_NUMBER: region = [str(self.properties['region'][0])] elif len(self.properties['region']) == 3: start = int(self.properties['region'][1]) - self.properties['depth'] @@ -98,11 +99,15 @@ def set_properties_defaults(self): region = [str(self.properties['region'][0]) + ':' + str(start) + '-' + str(end)] # try to open with end region + depth to avoid triangle effect in the plot # if it fails open it with given end region. + # if it still fails do not specify the region. try: self.hic_ma = HiCMatrix.hiCMatrix(self.properties['file'], pChrnameList=region) except Exception: region = [str(self.properties['region'][0]) + ':' + str(start) + '-' + str(self.properties['region'][2])] - self.hic_ma = HiCMatrix.hiCMatrix(self.properties['file'], pChrnameList=region) + try: + self.hic_ma = HiCMatrix.hiCMatrix(self.properties['file'], pChrnameList=region) + except Exception: + self.hic_ma = HiCMatrix.hiCMatrix(self.properties['file']) if len(self.hic_ma.matrix.data) == 0: raise Exception("Matrix {} is empty".format(self.properties['file'])) From 28d565368d23674b832d8064280bb7514196090a Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Thu, 9 Jan 2020 13:56:46 +0100 Subject: [PATCH 02/34] added a test with a bed with multiple chr --- pygenometracks/tests/generateAllOutput.sh | 2 +- ...ic_rasterize_height_X-2500000-2600000.pdf} | Bin 2015309 -> 2015309 bytes ..._plot_hic_rasterize_height_Y-0-1000000.pdf | Bin 0 -> 14783 bytes pygenometracks/tests/test_data/regions_XY.bed | 2 + pygenometracks/tests/test_hiCMatrixTracks.py | 35 +++++++++++++++++- 5 files changed, 37 insertions(+), 2 deletions(-) rename pygenometracks/tests/test_data/{master_plot_hic_rasterize_height.pdf => master_plot_hic_rasterize_height_X-2500000-2600000.pdf} (99%) create mode 100644 pygenometracks/tests/test_data/master_plot_hic_rasterize_height_Y-0-1000000.pdf create mode 100644 pygenometracks/tests/test_data/regions_XY.bed diff --git a/pygenometracks/tests/generateAllOutput.sh b/pygenometracks/tests/generateAllOutput.sh index b2cecdc1..2e4527d9 100644 --- a/pygenometracks/tests/generateAllOutput.sh +++ b/pygenometracks/tests/generateAllOutput.sh @@ -24,7 +24,7 @@ pgt --tracks ./pygenometracks/tests/test_data/epilogos.ini --region X:3100000-31 # test_hiCMatrixTracks: pgt --tracks ./pygenometracks/tests/test_data/browser_tracks_hic.ini --region X:2500000-3500000 --trackLabelFraction 0.23 --width 38 --dpi 130 -o ./pygenometracks/tests/test_data/master_plot_hic.png -pgt --tracks ./pygenometracks/tests/test_data/browser_tracks_hic_rasterize_height.ini --region X:2500000-2600000 --trackLabelFraction 0.23 --width 38 --dpi 10 -o ./pygenometracks/tests/test_data/master_plot_hic_rasterize_height.pdf +pgt --tracks ./pygenometracks/tests/test_data/browser_tracks_hic_rasterize_height.ini --BED ./pygenometracks/tests/test_data/regions_XY.bed --trackLabelFraction 0.23 --width 38 --dpi 10 -o ./pygenometracks/tests/test_data/master_plot_hic_rasterize_height.pdf # test_make_tracks: make_tracks_file --trackFiles pygenometracks/tests/test_data/Li_et_al_2015.h5 pygenometracks/tests/test_data/bigwig_chrx_2e6_5e6.bw pygenometracks/tests/test_data/tad_classification.bed pygenometracks/tests/test_data/epilog.qcat.bgz -o pygenometracks/tests/test_data/master_tracks.ini diff --git a/pygenometracks/tests/test_data/master_plot_hic_rasterize_height.pdf b/pygenometracks/tests/test_data/master_plot_hic_rasterize_height_X-2500000-2600000.pdf similarity index 99% rename from pygenometracks/tests/test_data/master_plot_hic_rasterize_height.pdf rename to pygenometracks/tests/test_data/master_plot_hic_rasterize_height_X-2500000-2600000.pdf index 41562985508315af9c6c1047496be5cc498d75b3..1b15f730e2f06b0749317b25fab1338114a09607 100644 GIT binary patch delta 102 zcmV~$xe<@E&y; F{sF}CAe;aI delta 102 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 literal 0 HcmV?d00001 diff --git a/pygenometracks/tests/test_data/regions_XY.bed b/pygenometracks/tests/test_data/regions_XY.bed new file mode 100644 index 00000000..16267802 --- /dev/null +++ b/pygenometracks/tests/test_data/regions_XY.bed @@ -0,0 +1,2 @@ +X 2500000 2600000 +Y 0 1000000 diff --git a/pygenometracks/tests/test_hiCMatrixTracks.py b/pygenometracks/tests/test_hiCMatrixTracks.py index cd209820..40885bd3 100644 --- a/pygenometracks/tests/test_hiCMatrixTracks.py +++ b/pygenometracks/tests/test_hiCMatrixTracks.py @@ -208,8 +208,41 @@ def test_plot_tracks_with_hic_rasterize_height(): outfile.name).split() pygenometracks.plotTracks.main(args) res = compare_images(os.path.join(ROOT, - 'master_plot_hic_rasterize_height.pdf'), + 'master_plot_hic_rasterize_height' + '_X-2500000-2600000.pdf'), outfile.name, tolerance) assert res is None, res os.remove(outfile.name) + + +def test_plot_tracks_with_hic_rasterize_height_2chr(): + + outfile = NamedTemporaryFile(suffix='.pdf', prefix='pyGenomeTracks_test_', + delete=False) + args = "--tracks {0} --BED {1} "\ + "--trackLabelFraction 0.23 --width 38 --dpi 130 "\ + "--dpi 10 --outFileName {2}" \ + "".format(os.path.join(ROOT, + 'browser_tracks_hic_rasterize_height.ini'), + os.path.join(ROOT, 'regions_XY.bed'), + outfile.name).split() + pygenometracks.plotTracks.main(args) + first_file = outfile.name[:-4] + '_X-2500000-2600000.pdf' + res = compare_images(os.path.join(ROOT, + 'master_plot_hic_rasterize_height' + '_X-2500000-2600000.pdf'), + first_file, tolerance) + assert res is None, res + + os.remove(first_file) + + second_file = outfile.name[:-4] + '_Y-0-1000000.pdf' + res = compare_images(os.path.join(ROOT, + 'master_plot_hic_rasterize_height_Y' + '-0-1000000.pdf'), + second_file, tolerance) + assert res is None, res + + os.remove(second_file) + \ No newline at end of file From 7e38dfa454a9e94d2365e14326d3b09963cc94d6 Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Thu, 9 Jan 2020 14:00:12 +0100 Subject: [PATCH 03/34] added pybedtools --- environment.yml | 1 + requirements.txt | 1 + setup.py | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/environment.yml b/environment.yml index 75619ec1..224d0f19 100644 --- a/environment.yml +++ b/environment.yml @@ -15,5 +15,6 @@ dependencies: - pysam >=0.14 - pytest - gffutils >=0.9 + - pybedtools >=0.8.1 - pip: - "git+https://github.com/deeptools/pyGenomeTracks.git" diff --git a/requirements.txt b/requirements.txt index 842c48d6..34eeb207 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,3 +6,4 @@ future >=0.17.0 hicmatrix >=9 pysam >=0.14 gffutils >=0.9 +pybedtools >=0.8.1 diff --git a/setup.py b/setup.py index 74eff5d8..0b315ada 100644 --- a/setup.py +++ b/setup.py @@ -101,7 +101,8 @@ def checkProgramIsInstalled(self, program, args, where_to_download, "hicmatrix >=9", "pysam >=0.14", "pytest", - "gffutils >=0.9" + "gffutils >=0.9", + "pybedtools >=0.8.1" ] if sys.version_info[0] == 2 or (sys.version_info[0] == 3 and sys.version_info[1] == 4): From 9d7a3a47d80121b1689cffbc046accc5dc1a949c Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Thu, 9 Jan 2020 17:51:12 +0100 Subject: [PATCH 04/34] added pRegion everywhere there is an intervaltree --- README.md | 3 +- docs/content/all_default_properties.txt | 3 +- pygenometracks/getAllDefaultsAndPossible.py | 7 +- pygenometracks/plotTracks.py | 4 +- pygenometracks/readBed.py | 6 +- pygenometracks/tests/test_hiCMatrixTracks.py | 1 - pygenometracks/tracks/BedGraphMatrixTrack.py | 3 +- pygenometracks/tracks/BedGraphTrack.py | 9 +- pygenometracks/tracks/BedTrack.py | 47 ++++-- pygenometracks/tracks/EpilogosTrack.py | 3 +- pygenometracks/tracks/HiCMatrixTrack.py | 7 +- pygenometracks/tracks/LinksTrack.py | 144 +++++++++++-------- pygenometracks/tracks/NarrowPeakTrack.py | 5 +- pygenometracks/tracks/TADsTrack.py | 11 +- pygenometracks/tracksClass.py | 16 +-- pygenometracks/utilities.py | 43 +++++- 16 files changed, 209 insertions(+), 103 deletions(-) diff --git a/README.md b/README.md index e8f03e34..04ba75fa 100644 --- a/README.md +++ b/README.md @@ -467,7 +467,7 @@ not set means that by default the parameter is commented. parameter | x-axis | epilogos | links | domains | bed | narrow_peak | bigwig | bedgraph | bedgraph_matrix | hlines | hic_matrix -- | - | - | - | - | - | - | - | - | - | - | - where | bottom | | | | | | | | | | -fontsize | 15 | | | 12 | 12 | | | | | | +fontsize | 15 | | | | 12 | | | | | | categories_file | | not set | | | | | | | | | orientation | | not set | not set | not set | not set | not set | not set | not set | not set | not set | not set links_type | | | arcs | | | | | | | | @@ -504,7 +504,6 @@ use_middle | | | | | | | | false | | | rasterize | | | | | | | | false | true | | true pos_score_in_bin | | | | | | | | | center | | plot_horizontal_lines | | | | | | | | | false | | -region | | | | | | | | | | | not set depth | | | | | | | | | | | 100000 show_masked_bins | | | | | | | | | | | false scale_factor | | | | | | | | | | | 1 diff --git a/docs/content/all_default_properties.txt b/docs/content/all_default_properties.txt index b9ee9b4e..734ddd34 100644 --- a/docs/content/all_default_properties.txt +++ b/docs/content/all_default_properties.txt @@ -1,7 +1,7 @@ parameter | x-axis | epilogos | links | domains | bed | narrow_peak | bigwig | bedgraph | bedgraph_matrix | hlines | hic_matrix -- | - | - | - | - | - | - | - | - | - | - | - where | bottom | | | | | | | | | | -fontsize | 15 | | | 12 | 12 | | | | | | +fontsize | 15 | | | | 12 | | | | | | categories_file | | not set | | | | | | | | | orientation | | not set | not set | not set | not set | not set | not set | not set | not set | not set | not set links_type | | | arcs | | | | | | | | @@ -38,7 +38,6 @@ use_middle | | | | | | | | false | | | rasterize | | | | | | | | false | true | | true pos_score_in_bin | | | | | | | | | center | | plot_horizontal_lines | | | | | | | | | false | | -region | | | | | | | | | | | not set depth | | | | | | | | | | | 100000 show_masked_bins | | | | | | | | | | | false scale_factor | | | | | | | | | | | 1 diff --git a/pygenometracks/getAllDefaultsAndPossible.py b/pygenometracks/getAllDefaultsAndPossible.py index 35e0b1d2..dd79394f 100644 --- a/pygenometracks/getAllDefaultsAndPossible.py +++ b/pygenometracks/getAllDefaultsAndPossible.py @@ -66,9 +66,10 @@ def main(): track_type = "x-axis" has_default = False for p, value in track_class.DEFAULTS_PROPERTIES.items(): - all_default_parameters[p] = all_default_parameters.get(p, {}) - all_default_parameters[p][track_type] = value - has_default = True + if p != 'region': + all_default_parameters[p] = all_default_parameters.get(p, {}) + all_default_parameters[p][track_type] = value + has_default = True if has_default: all_tracks_with_default += [track_type] diff --git a/pygenometracks/plotTracks.py b/pygenometracks/plotTracks.py index d153253d..b7cebb4d 100644 --- a/pygenometracks/plotTracks.py +++ b/pygenometracks/plotTracks.py @@ -153,7 +153,7 @@ matplotlib.use('Agg') # Used in case no end of a genomic interval was set: -HUGE_NUMBER = 1e15 +HUGE_NUMBER = 1e15 # also used in HiCMatrixTrack DEFAULT_BED_COLOR = '#1f78b4' DEFAULT_BIGWIG_COLOR = '#33a02c' DEFAULT_BEDGRAPH_COLOR = '#a6cee3' @@ -327,5 +327,3 @@ def main(args=None): trp.plot(file_name, chrom, start, end, title=args.title) else: trp.plot(args.outFileName, *regions[0], title=args.title) - - diff --git a/pygenometracks/readBed.py b/pygenometracks/readBed.py index 6211f150..c54287d4 100644 --- a/pygenometracks/readBed.py +++ b/pygenometracks/readBed.py @@ -27,7 +27,11 @@ def __init__(self, file_handle): self.file_handle = file_handle self.line_number = 0 # guess file type - fields = self.get_no_comment_line() + try: + fields = self.get_no_comment_line() + except StopIteration: + # The file is empty + fields = "chrDoesNotExists\t0\t1" fields = to_string(fields) fields = fields.split('\t') diff --git a/pygenometracks/tests/test_hiCMatrixTracks.py b/pygenometracks/tests/test_hiCMatrixTracks.py index 40885bd3..d169cd5a 100644 --- a/pygenometracks/tests/test_hiCMatrixTracks.py +++ b/pygenometracks/tests/test_hiCMatrixTracks.py @@ -245,4 +245,3 @@ def test_plot_tracks_with_hic_rasterize_height_2chr(): assert res is None, res os.remove(second_file) - \ No newline at end of file diff --git a/pygenometracks/tracks/BedGraphMatrixTrack.py b/pygenometracks/tracks/BedGraphMatrixTrack.py index 5209c334..481563ad 100644 --- a/pygenometracks/tracks/BedGraphMatrixTrack.py +++ b/pygenometracks/tracks/BedGraphMatrixTrack.py @@ -40,7 +40,8 @@ class BedGraphMatrixTrack(BedGraphTrack): 'show_data_range': True, 'plot_horizontal_lines': False, 'orientation': None, - 'rasterize': True} + 'rasterize': True, + 'region': None} # Cannot be set manually but is set by tracksClass NECESSARY_PROPERTIES = ['file'] SYNONYMOUS_PROPERTIES = {'max_value': {'auto': None}, 'min_value': {'auto': None}} diff --git a/pygenometracks/tracks/BedGraphTrack.py b/pygenometracks/tracks/BedGraphTrack.py index 15cb3a73..119e88b2 100644 --- a/pygenometracks/tracks/BedGraphTrack.py +++ b/pygenometracks/tracks/BedGraphTrack.py @@ -62,7 +62,8 @@ class BedGraphTrack(GenomeTrack): 'summary_method': None, 'rasterize': False, 'number_of_bins': 700, - 'type': 'fill'} + 'type': 'fill', + 'region': None} # Cannot be set manually but is set by tracksClass NECESSARY_PROPERTIES = ['file'] SYNONYMOUS_PROPERTIES = {'max_value': {'auto': None}, 'min_value': {'auto': None}} @@ -95,10 +96,12 @@ def __init__(self, properties_dict): try: self.tbx = pysam.TabixFile(self.properties['file']) except IOError: - self.interval_tree, ymin, ymax = file_to_intervaltree(self.properties['file']) + self.interval_tree, __, __ = file_to_intervaltree(self.properties['file'], + self.properties['region']) # load the file as an interval tree else: - self.interval_tree, ymin, ymax = file_to_intervaltree(self.properties['file']) + self.interval_tree, __, __ = file_to_intervaltree(self.properties['file'], + self.properties['region']) self.num_fields = None diff --git a/pygenometracks/tracks/BedTrack.py b/pygenometracks/tracks/BedTrack.py index 2012ff91..4b64a907 100644 --- a/pygenometracks/tracks/BedTrack.py +++ b/pygenometracks/tracks/BedTrack.py @@ -9,11 +9,15 @@ import matplotlib.pyplot as plt from intervaltree import IntervalTree, Interval import numpy as np +import pybedtools +import sys +import tempfile DEFAULT_BED_COLOR = '#1f78b4' DISPLAY_BED_VALID = ['collapsed', 'triangles', 'interleaved', 'stacked'] DISPLAY_BED_SYNONYMOUS = {'interlaced': 'interleaved', 'domain': 'interleaved'} DEFAULT_DISPLAY_BED = 'stacked' +AROUND_REGION = 100000 class BedTrack(GenomeTrack): @@ -121,7 +125,8 @@ class BedTrack(GenomeTrack): 'arrow_interval': 2, 'arrowhead_included': False, 'color_utr': 'grey', - 'height_utr': 1} + 'height_utr': 1, + 'region': None} # Cannot be set manually but is set by tracksClass NECESSARY_PROPERTIES = ['file'] SYNONYMOUS_PROPERTIES = {'max_value': {'auto': None}, 'min_value': {'auto': None}, @@ -154,7 +159,7 @@ def __init__(self, *args, **kwarg): # this is bed3, bed4, bed5, bed6, bed8, bed9 or bed12 self.len_w = None # this is the length of the letter 'w' given the font size self.interval_tree = {} # interval tree of the bed regions - self.interval_tree, min_score, max_score = self.process_bed() + self.interval_tree, min_score, max_score = self.process_bed(self.properties['region']) if self.colormap is not None: if self.properties['min_value'] is not None: min_score = self.properties['min_value'] @@ -225,15 +230,39 @@ def get_length_w(self, fig_width, region_start, region_end): return self.len_w - def process_bed(self): - - if self.properties['file'].endswith('gtf') or \ - self.properties['file'].endswith('gtf.gz'): - bed_file_h = ReadGtf(self.properties['file'], + def process_bed(self, pRegion=None): + is_gtf = self.properties['file'].endswith('gtf') or \ + self.properties['file'].endswith('gtf.gz') + file_to_open = self.properties['file'] + # Check if we can restrict the interval tree to a region: + if pRegion is not None and not self.properties['global_max_row']: + # I increase the region to get the intervals: + pRegion[1] = max([0, pRegion[1] - AROUND_REGION]) + pRegion[2] += AROUND_REGION + # We use pybedtools to overlap: + original_file = pybedtools.BedTool(file_to_open) + # We will overlap with both version of chromosome name: + chrom = self.change_chrom_names(pRegion[0]) + bothRegions = ("{0} {1} {2}\n{3} {1} {2}" + .format(*pRegion, + chrom)) + region = pybedtools.BedTool(bothRegions, from_string=True) + # Bedtools will put a warning because I am using inconsistent + # nomenclature (with and without chr) + sys.stderr = open(tempfile.NamedTemporaryFile().name, 'w') + try: + file_to_open = original_file.intersect(region, wa=True).fn + except pybedtools.helpers.BEDToolsError: + file_to_open = self.properties['file'] + sys.stderr.close() + sys.stderr = sys.__stderr__ + + if is_gtf: + bed_file_h = ReadGtf(file_to_open, self.properties['prefered_name'], self.properties['merge_transcripts']) else: - bed_file_h = ReadBed(opener(self.properties['file'])) + bed_file_h = ReadBed(opener(file_to_open)) self.bed_type = bed_file_h.file_type if self.properties['color'] == 'bed_rgb' and \ @@ -263,7 +292,7 @@ def process_bed(self): if valid_intervals == 0: self.log.warning("No valid intervals were found in file " - "{}".format(self.properties['file_name'])) + "{}\n".format(self.properties['file'])) return interval_tree, min_score, max_score diff --git a/pygenometracks/tracks/EpilogosTrack.py b/pygenometracks/tracks/EpilogosTrack.py index 515920fa..78841ed1 100644 --- a/pygenometracks/tracks/EpilogosTrack.py +++ b/pygenometracks/tracks/EpilogosTrack.py @@ -39,7 +39,8 @@ class EpilogosTrack(BedGraphTrack): file_type = {} """.format(TRACK_TYPE) DEFAULTS_PROPERTIES = {'categories_file': None, - 'orientation': None} + 'orientation': None, + 'region': None} # Cannot be set manually but is set by tracksClass NECESSARY_PROPERTIES = ['file'] SYNONYMOUS_PROPERTIES = {} POSSIBLE_PROPERTIES = {'orientation': [None, 'inverted']} diff --git a/pygenometracks/tracks/HiCMatrixTrack.py b/pygenometracks/tracks/HiCMatrixTrack.py index bd58a696..e9dd264d 100644 --- a/pygenometracks/tracks/HiCMatrixTrack.py +++ b/pygenometracks/tracks/HiCMatrixTrack.py @@ -7,10 +7,11 @@ import numpy as np from matplotlib.ticker import LogFormatter from . GenomeTrack import GenomeTrack -from .. import plotTracks import logging import itertools +# Used in case no end of a genomic interval was set: +HUGE_NUMBER = 1e15 # also used in HiCMatrixTrack DEFAULT_MATRIX_COLORMAP = 'RdYlBu_r' logging.basicConfig(level=logging.DEBUG) log = logging.getLogger(__name__) @@ -54,7 +55,7 @@ class HiCMatrixTrack(GenomeTrack): # rasterize = false file_type = {} """.format(TRACK_TYPE) - DEFAULTS_PROPERTIES = {'region': None, + DEFAULTS_PROPERTIES = {'region': None, # Cannot be set manually but is set by tracksClass 'depth': 100000, 'orientation': None, 'show_masked_bins': False, @@ -88,7 +89,7 @@ def set_properties_defaults(self): super(HiCMatrixTrack, self).set_properties_defaults() region = None if self.properties['region'] is not None: - if self.properties['region'][2] == plotTracks.HUGE_NUMBER: + if self.properties['region'][2] == HUGE_NUMBER: region = [str(self.properties['region'][0])] elif len(self.properties['region']) == 3: start = int(self.properties['region'][1]) - self.properties['depth'] diff --git a/pygenometracks/tracks/LinksTrack.py b/pygenometracks/tracks/LinksTrack.py index 05e687eb..003c472a 100644 --- a/pygenometracks/tracks/LinksTrack.py +++ b/pygenometracks/tracks/LinksTrack.py @@ -5,6 +5,10 @@ import numpy as np import matplotlib.pyplot as plt from matplotlib.patches import Arc, Polygon +from .. utilities import opener, to_string +import sys +import tempfile +import pybedtools DEFAULT_LINKS_COLOR = 'blue' @@ -50,7 +54,8 @@ class LinksTrack(GenomeTrack): 'color': DEFAULT_LINKS_COLOR, 'alpha': 0.8, 'max_value': None, - 'min_value': None} + 'min_value': None, + 'region': None} # Cannot be set manually but is set by tracksClass NECESSARY_PROPERTIES = ['file'] SYNONYMOUS_PROPERTIES = {'max_value': {'auto': None}, 'min_value': {'auto': None}} @@ -73,7 +78,7 @@ class LinksTrack(GenomeTrack): def set_properties_defaults(self): super(LinksTrack, self).set_properties_defaults() self.max_height = None - self.interval_tree, min_score, max_score, has_score = self.process_link_file() + self.interval_tree, min_score, max_score, has_score = self.process_link_file(self.properties['region']) if self.properties['line_width'] is None and not has_score: self.log.warning("*WARNING* for section {}" " no line_width has been set but some " @@ -272,76 +277,101 @@ def plot_loops(self, ax, loop): if y2 > self.max_height: self.max_height = y2 - def process_link_file(self): + def process_link_file(self, pRegion): # the file format expected is similar to file format of links in # circos: # chr1 100 200 chr1 250 300 0.5 # where the last value is a score. + file_to_open = self.properties['file'] + # Check if we can restrict the interval tree to a region: + if pRegion is not None: + # I will keep all links whose first member is in the chromosome: + pRegion[1] = 0 + pRegion[2] = 1e15 # a huge number + # We use pybedtools to overlap: + original_file = pybedtools.BedTool(file_to_open) + # We will overlap with both version of chromosome name: + chrom = self.change_chrom_names(pRegion[0]) + bothRegions = ("{0} {1} {2}\n{3} {1} {2}" + .format(*pRegion, + chrom)) + region = pybedtools.BedTool(bothRegions, from_string=True) + # Bedtools will put a warning because I am using inconsistent + # nomenclature (with and without chr) + sys.stderr = open(tempfile.NamedTemporaryFile().name, 'w') + try: + file_to_open = original_file.intersect(region, wa=True).fn + except pybedtools.helpers.BEDToolsError: + file_to_open = self.properties['file'] + sys.stderr.close() + sys.stderr = sys.__stderr__ + valid_intervals = 0 interval_tree = {} line_number = 0 has_score = True max_score = float('-inf') min_score = float('inf') - with open(self.properties['file'], 'r') as file_h: - for line in file_h.readlines(): - line_number += 1 - if line.startswith('browser') or line.startswith('track') or line.startswith('#'): - continue - try: - chrom1, start1, end1, chrom2, start2, end2 = line.strip().split('\t')[:6] - except Exception as detail: - raise InputError('File not valid. The format is chrom1 start1, end1, ' - 'chrom2, start2, end2\nError: {}\n in line\n {}'.format(detail, line)) - try: - score = line.strip().split('\t')[6] - except IndexError: - has_score = False - score = np.nan + file_h = opener(file_to_open) + for line in file_h.readlines(): + line_number += 1 + line = to_string(line) + if line.startswith('browser') or line.startswith('track') or line.startswith('#'): + continue + try: + chrom1, start1, end1, chrom2, start2, end2 = line.strip().split('\t')[:6] + except Exception as detail: + raise InputError('File not valid. The format is chrom1 start1, end1, ' + 'chrom2, start2, end2\nError: {}\n in line\n {}'.format(detail, line)) + if chrom1 != chrom2: + self.log.warning("Only links in same chromosome are used. Skipping line\n{}\n".format(line)) + continue + try: + score = line.strip().split('\t')[6] + except IndexError: + has_score = False + score = np.nan + + try: + start1 = int(start1) + end1 = int(end1) + start2 = int(start2) + end2 = int(end2) + except ValueError as detail: + raise InputError("Error reading line: {}. One of the fields is not " + "an integer.\nError message: {}".format(line_number, detail)) + + assert start1 <= end1, "Error in line #{}, end1 larger than start1 in {}".format(line_number, line) + assert start2 <= end2, "Error in line #{}, end2 larger than start2 in {}".format(line_number, line) + + if has_score: try: - start1 = int(start1) - end1 = int(end1) - start2 = int(start2) - end2 = int(end2) + score = float(score) except ValueError as detail: - raise InputError("Error reading line: {}. One of the fields is not " - "an integer.\nError message: {}".format(line_number, detail)) - - assert start1 <= end1, "Error in line #{}, end1 larger than start1 in {}".format(line_number, line) - assert start2 <= end2, "Error in line #{}, end2 larger than start2 in {}".format(line_number, line) - - if has_score: - try: - score = float(score) - except ValueError as detail: - self.log.warning("Warning: reading line: {}. The score is not valid {} will not be used. " - "\nError message: {}".format(line_number, score, detail)) - score = np.nan - has_score = False - else: - if score < min_score: - min_score = score - if score > max_score: - max_score = score - - if chrom1 != chrom2: - self.log.warning("Only links in same chromosome are used. Skipping line\n{}\n".format(line)) - continue - - if chrom1 not in interval_tree: - interval_tree[chrom1] = IntervalTree() - - if start2 < start1: - start1, start2 = start2, start1 - end1, end2 = end2, end1 - - # each interval spans from the smallest start to the largest end - interval_tree[chrom1].add(Interval(start1, end2, [start1, end1, start2, end2, score])) - valid_intervals += 1 + self.log.warning("Warning: reading line: {}. The score is not valid {} will not be used. " + "\nError message: {}".format(line_number, score, detail)) + score = np.nan + has_score = False + else: + if score < min_score: + min_score = score + if score > max_score: + max_score = score + + if chrom1 not in interval_tree: + interval_tree[chrom1] = IntervalTree() + + if start2 < start1: + start1, start2 = start2, start1 + end1, end2 = end2, end1 + + # each interval spans from the smallest start to the largest end + interval_tree[chrom1].add(Interval(start1, end2, [start1, end1, start2, end2, score])) + valid_intervals += 1 if valid_intervals == 0: - self.log.warning("No valid intervals were found in file {}".format(self.properties['file'])) + self.log.warning("No valid intervals were found in file {}\n".format(self.properties['file'])) file_h.close() return(interval_tree, min_score, max_score, has_score) diff --git a/pygenometracks/tracks/NarrowPeakTrack.py b/pygenometracks/tracks/NarrowPeakTrack.py index a87230b1..0c37e87b 100644 --- a/pygenometracks/tracks/NarrowPeakTrack.py +++ b/pygenometracks/tracks/NarrowPeakTrack.py @@ -7,7 +7,6 @@ from matplotlib.collections import PatchCollection from matplotlib.path import Path import matplotlib.patches as patches -from .. utilities import file_to_intervaltree import numpy as np DEFAULT_NARROWPEAK_COLOR = '#FF000080' # red, alpha=0.55 @@ -41,7 +40,8 @@ class NarrowPeakTrack(BedGraphTrack): 'show_labels': True, 'use_summit': True, 'width_adjust': 1.5, - 'type': 'peak'} + 'type': 'peak', + 'region': None} # Cannot be set manually but is set by tracksClass NECESSARY_PROPERTIES = ['file'] SYNONYMOUS_PROPERTIES = {'max_value': {'auto': None}} POSSIBLE_PROPERTIES = {'orientation': [None, 'inverted'], @@ -59,7 +59,6 @@ class NarrowPeakTrack(BedGraphTrack): def set_properties_defaults(self): GenomeTrack.set_properties_defaults(self) - self.interval_tree, ymin, ymax = file_to_intervaltree(self.properties['file']) def peak_plot(self, start, end, height, center=None, width_adjust=1.5): # uses bezier curves to plot a shape that diff --git a/pygenometracks/tracks/TADsTrack.py b/pygenometracks/tracks/TADsTrack.py index 70bc7fe7..7e028ab2 100644 --- a/pygenometracks/tracks/TADsTrack.py +++ b/pygenometracks/tracks/TADsTrack.py @@ -8,8 +8,7 @@ class TADsTrack(BedTrack): SUPPORTED_ENDINGS = ['.domain', '.domains', '.tad', '.tads'] TRACK_TYPE = 'domains' - DEFAULTS_PROPERTIES = {'fontsize': 12, - 'orientation': None, + DEFAULTS_PROPERTIES = {'orientation': None, 'color': DEFAULT_BED_COLOR, 'border_color': 'black', 'interval_height': 100, # This one is not defined in the documentation @@ -17,7 +16,8 @@ class TADsTrack(BedTrack): 'prefered_name': 'transcript_name', 'merge_transcripts': False, 'max_value': None, - 'min_value': None} + 'min_value': None, + 'region': None} # Cannot be set manually but is set by tracksClass NECESSARY_PROPERTIES = ['file'] SYNONYMOUS_PROPERTIES = {'max_value': {'auto': None}, 'min_value': {'auto': None}} @@ -39,3 +39,8 @@ class TADsTrack(BedTrack): def __init__(self, *args, **kwarg): super(TADsTrack, self).__init__(*args, **kwarg) self.properties['display'] = 'triangles' + + def set_properties_defaults(self): + self.properties['fontsize'] = 12 + super(TADsTrack, self).set_properties_defaults() + self.properties['global_max_row'] = False diff --git a/pygenometracks/tracksClass.py b/pygenometracks/tracksClass.py index 036fe3de..b599627b 100644 --- a/pygenometracks/tracksClass.py +++ b/pygenometracks/tracksClass.py @@ -75,7 +75,7 @@ def __init__(self, tracks_file, fig_width=DEFAULT_FIGURE_WIDTH, self.track_list = None start = self.print_elapsed(None) self.available_tracks = self.get_available_tracks() - self.parse_tracks(tracks_file) + self.parse_tracks(tracks_file, pRegion=pRegion) if fontsize: fontsize = fontsize else: @@ -103,11 +103,8 @@ def __init__(self, tracks_file, fig_width=DEFAULT_FIGURE_WIDTH, # for all other tracks that are not axis or spacer # the track_class is obtained from the available tracks track_class = self.available_tracks[properties['file_type']] - if properties['file_type'] == 'hic_matrix': - properties['region'] = pRegion - self.track_obj_list.append(track_class(properties)) - else: - self.track_obj_list.append(track_class(properties)) + properties['region'] = pRegion + self.track_obj_list.append(track_class(properties)) log.info("time initializing track(s):") self.print_elapsed(start) @@ -321,11 +318,14 @@ def plot_vlines(self, axis_list, chrom_region, start_region, end_region): return - def parse_tracks(self, tracks_file): + def parse_tracks(self, tracks_file, pRegion=None): """ Parses a configuration file :param tracks_file: file path containing the track configuration + :param pRegion: a list [chrom, start, end] + on which the data should be loaded + here the vlines :return: array of dictionaries and vlines_file. One dictionary per track """ @@ -516,7 +516,7 @@ def parse_tracks(self, tracks_file): self.track_list = track_list if self.vlines_properties: self.vlines_intval_tree, __, __ = \ - file_to_intervaltree(self.vlines_properties['file']) + file_to_intervaltree(self.vlines_properties['file'], pRegion) @staticmethod def check_file_exists(track_dict, tracks_path): diff --git a/pygenometracks/utilities.py b/pygenometracks/utilities.py index 59f55f63..b0f98b52 100644 --- a/pygenometracks/utilities.py +++ b/pygenometracks/utilities.py @@ -2,6 +2,10 @@ import gzip import numpy as np from intervaltree import IntervalTree, Interval +import pybedtools +import tempfile + +AROUND_REGION = 100000 class InputError(Exception): @@ -54,17 +58,50 @@ def opener(filename): return f -def file_to_intervaltree(file_name): +def file_to_intervaltree(file_name, pRegion=None): """ converts a BED like file into a bx python interval tree :param file_name: string file name + :param pRegion: a list [chrom, start, end] with the region to restrict + the data to. :return: interval tree dictionary. They key is the chromosome/contig name and the value is an IntervalTree. Each of the intervals have as 'value' the fields[3:] if any. """ + print("FILE_TO_INTERVALTREE") + file_to_open = file_name + # Check if we can restrict the interval tree to a region: + if pRegion is not None: + print("HERE") + # I increase the region to get the intervals: + pRegion[1] = max([0, pRegion[1] - AROUND_REGION]) + pRegion[2] += AROUND_REGION + # We use pybedtools to overlap: + original_file = pybedtools.BedTool(file_name) + # We will overlap with both version of chromosome name: + chrom = pRegion[0] + if chrom.startswith('chr'): + # remove the chr part from chromosome name + chrom = chrom[3:] + else: + # prefix with 'chr' the chromosome name + chrom = 'chr' + chrom + bothRegions = ("{0} {1} {2}\n{3} {1} {2}" + .format(*pRegion, + chrom)) + region = pybedtools.BedTool(bothRegions, from_string=True) + # Bedtools will put a warning because I am using inconsistent + # nomenclature (with and without chr) + sys.stderr = open(tempfile.NamedTemporaryFile().name, 'w') + try: + file_to_open = original_file.intersect(region, wa=True).fn + except pybedtools.helpers.BEDToolsError: + file_to_open = file_name + sys.stderr.close() + sys.stderr = sys.__stderr__ # iterate over a BED like file # saving the data into an interval tree # for quick retrieval - file_h = opener(file_name) + file_h = opener(file_to_open) line_number = 0 valid_intervals = 0 prev_chrom = None @@ -128,7 +165,7 @@ def file_to_intervaltree(file_name): valid_intervals += 1 if valid_intervals == 0: - sys.stderr.write("No valid intervals were found in file {}".format(file_name)) + sys.stderr.write("No valid intervals were found in file {}\n".format(file_name)) file_h.close() return interval_tree, min_value, max_value From 1cea057e50a72e443da4be7a2b42b6c2a245c8e8 Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Fri, 10 Jan 2020 10:49:38 +0100 Subject: [PATCH 05/34] remove try/catch but use UCSC format --- pygenometracks/tracks/HiCMatrixTrack.py | 34 ++++++++++++------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/pygenometracks/tracks/HiCMatrixTrack.py b/pygenometracks/tracks/HiCMatrixTrack.py index e9dd264d..7efb8f08 100644 --- a/pygenometracks/tracks/HiCMatrixTrack.py +++ b/pygenometracks/tracks/HiCMatrixTrack.py @@ -11,7 +11,7 @@ import itertools # Used in case no end of a genomic interval was set: -HUGE_NUMBER = 1e15 # also used in HiCMatrixTrack +HUGE_NUMBER = 1e15 # also used in plotTracks DEFAULT_MATRIX_COLORMAP = 'RdYlBu_r' logging.basicConfig(level=logging.DEBUG) log = logging.getLogger(__name__) @@ -89,26 +89,26 @@ def set_properties_defaults(self): super(HiCMatrixTrack, self).set_properties_defaults() region = None if self.properties['region'] is not None: + chrom = self.properties['region'][0] + # The chromosome name will be UCSC format because + # cooler v0.8.5 can fetch UCSC format in Ensembl-like format + # but not the contrary + if not chrom.startswith('chr'): + chrom = 'chr' + chrom if self.properties['region'][2] == HUGE_NUMBER: - region = [str(self.properties['region'][0])] + region = [chrom] elif len(self.properties['region']) == 3: - start = int(self.properties['region'][1]) - self.properties['depth'] + start = self.properties['region'][1] - self.properties['depth'] if start < 0: start = 0 - end = int(self.properties['region'][2]) + self.properties['depth'] - - region = [str(self.properties['region'][0]) + ':' + str(start) + '-' + str(end)] - # try to open with end region + depth to avoid triangle effect in the plot - # if it fails open it with given end region. - # if it still fails do not specify the region. - try: - self.hic_ma = HiCMatrix.hiCMatrix(self.properties['file'], pChrnameList=region) - except Exception: - region = [str(self.properties['region'][0]) + ':' + str(start) + '-' + str(self.properties['region'][2])] - try: - self.hic_ma = HiCMatrix.hiCMatrix(self.properties['file'], pChrnameList=region) - except Exception: - self.hic_ma = HiCMatrix.hiCMatrix(self.properties['file']) + end = self.properties['region'][2] + self.properties['depth'] + + region = ["{}:{}-{}".format(chrom, start, end)] + else: + region = None + # open with end region +/- depth to avoid triangle effect in the plot + self.hic_ma = HiCMatrix.hiCMatrix(self.properties['file'], + pChrnameList=region) if len(self.hic_ma.matrix.data) == 0: raise Exception("Matrix {} is empty".format(self.properties['file'])) From 34cb06af8575d788e01d59540d5b5bead2445c89 Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Fri, 10 Jan 2020 12:12:08 +0100 Subject: [PATCH 06/34] remove the chr added to the region --- pygenometracks/tracks/HiCMatrixTrack.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pygenometracks/tracks/HiCMatrixTrack.py b/pygenometracks/tracks/HiCMatrixTrack.py index 7efb8f08..1763080f 100644 --- a/pygenometracks/tracks/HiCMatrixTrack.py +++ b/pygenometracks/tracks/HiCMatrixTrack.py @@ -90,11 +90,6 @@ def set_properties_defaults(self): region = None if self.properties['region'] is not None: chrom = self.properties['region'][0] - # The chromosome name will be UCSC format because - # cooler v0.8.5 can fetch UCSC format in Ensembl-like format - # but not the contrary - if not chrom.startswith('chr'): - chrom = 'chr' + chrom if self.properties['region'][2] == HUGE_NUMBER: region = [chrom] elif len(self.properties['region']) == 3: @@ -107,6 +102,11 @@ def set_properties_defaults(self): else: region = None # open with end region +/- depth to avoid triangle effect in the plot + # This will exit the program if: + # - the file is a cool file and: + # - the region goes over the chromosome size + # or + # - the chromosome is not part of the matrix self.hic_ma = HiCMatrix.hiCMatrix(self.properties['file'], pChrnameList=region) From 3c0a900fdbdb6805aa2f44df348d1bcc7dcb33c1 Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Mon, 20 Jan 2020 17:23:10 +0100 Subject: [PATCH 07/34] use one cool in the test of hic rasterize --- .../tests/test_data/browser_tracks_hic_rasterize_height.ini | 2 +- pygenometracks/tests/test_hiCMatrixTracks.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pygenometracks/tests/test_data/browser_tracks_hic_rasterize_height.ini b/pygenometracks/tests/test_data/browser_tracks_hic_rasterize_height.ini index e9d46f00..6bca07c6 100644 --- a/pygenometracks/tests/test_data/browser_tracks_hic_rasterize_height.ini +++ b/pygenometracks/tests/test_data/browser_tracks_hic_rasterize_height.ini @@ -1,6 +1,6 @@ [hic matrix] -file = Li_et_al_2015.h5 +file = Li_et_al_2015.cool title = depth = 200000; transform = log1p; min_value = 5; height = 5 depth = 200000 min_value = 5 diff --git a/pygenometracks/tests/test_hiCMatrixTracks.py b/pygenometracks/tests/test_hiCMatrixTracks.py index d169cd5a..52560276 100644 --- a/pygenometracks/tests/test_hiCMatrixTracks.py +++ b/pygenometracks/tests/test_hiCMatrixTracks.py @@ -119,7 +119,7 @@ browser_tracks_with_hic = """ [hic matrix] -file = Li_et_al_2015.h5 +file = Li_et_al_2015.cool title = depth = 200000; transform = log1p; min_value = 5; height = 5 depth = 200000 min_value = 5 From 3b051fad2c14c113be5e98072ede52455d28579e Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Mon, 20 Jan 2020 17:23:42 +0100 Subject: [PATCH 08/34] deal with cases where the matrix is empty on the region --- pygenometracks/tracks/HiCMatrixTrack.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pygenometracks/tracks/HiCMatrixTrack.py b/pygenometracks/tracks/HiCMatrixTrack.py index 1763080f..5c264f2f 100644 --- a/pygenometracks/tracks/HiCMatrixTrack.py +++ b/pygenometracks/tracks/HiCMatrixTrack.py @@ -111,7 +111,11 @@ def set_properties_defaults(self): pChrnameList=region) if len(self.hic_ma.matrix.data) == 0: - raise Exception("Matrix {} is empty".format(self.properties['file'])) + if self.properties['region'] is None: + raise Exception("Matrix {} is empty".format(self.properties['file'])) + else: + return + if self.properties['show_masked_bins']: pass else: @@ -174,6 +178,11 @@ def set_properties_defaults(self): self.cmap.set_bad('black') def plot(self, ax, chrom_region, region_start, region_end): + if len(self.hic_ma.matrix.data) == 0: + self.log.warning("*Warning*\nThere is no data for the region " + "considered on the matrix. " + "This will generate an empty track!!\n") + return log.debug('chrom_region {}, region_start {}, region_end {}'.format(chrom_region, region_start, region_end)) chrom_sizes = self.hic_ma.get_chromosome_sizes() From de5b0fddfd7bdbf0661ff0e27a0f3603ee7c28f5 Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Tue, 21 Jan 2020 15:57:37 +0100 Subject: [PATCH 09/34] change error to warning and trycatch the vmax as percentile --- pygenometracks/tracks/HiCMatrixTrack.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pygenometracks/tracks/HiCMatrixTrack.py b/pygenometracks/tracks/HiCMatrixTrack.py index 5c264f2f..e809b1c4 100644 --- a/pygenometracks/tracks/HiCMatrixTrack.py +++ b/pygenometracks/tracks/HiCMatrixTrack.py @@ -191,14 +191,15 @@ def plot(self, ax, chrom_region, region_start, region_end): chrom_region = self.change_chrom_names(chrom_region) if chrom_region not in chrom_sizes: self.log.warning("*Warning*\nNeither " + chrom_region_before - + " nor " + chrom_region + " existss as a " + + " nor " + chrom_region + " exists as a " "chromosome name on the matrix. " "This will generate an empty track!!\n") return chrom_region = self.check_chrom_str_bytes(chrom_sizes, chrom_region) if region_end > chrom_sizes[chrom_region]: - raise Exception("*Error*\nThe region to plot extends beyond the chromosome size. Please check.\n" + # raise Exception("*Error*\nThe region to plot extends beyond the chromosome size. Please check.\n" + self.log.warning("*Warning*\nThe region to plot extends beyond the chromosome size. Please check.\n" "{} size: {}. Region to plot {}-{}\n".format(chrom_region, chrom_sizes[chrom_region], region_start, region_end)) @@ -264,7 +265,10 @@ def plot(self, ax, chrom_region, region_start, region_end): else: # try to use a 'aesthetically pleasant' max value - vmax = np.percentile(matrix.diagonal(1), 80) + try: + vmax = np.percentile(matrix.diagonal(1), 80) + except Exception: + vmax = None if self.properties['min_value'] is not None: vmin = self.properties['min_value'] From 329b153e0d5a94c85e449f79e752cc81e16d8f5f Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Tue, 21 Jan 2020 16:04:47 +0100 Subject: [PATCH 10/34] linting --- pygenometracks/tracks/HiCMatrixTrack.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pygenometracks/tracks/HiCMatrixTrack.py b/pygenometracks/tracks/HiCMatrixTrack.py index e809b1c4..4bda0252 100644 --- a/pygenometracks/tracks/HiCMatrixTrack.py +++ b/pygenometracks/tracks/HiCMatrixTrack.py @@ -200,8 +200,8 @@ def plot(self, ax, chrom_region, region_start, region_end): if region_end > chrom_sizes[chrom_region]: # raise Exception("*Error*\nThe region to plot extends beyond the chromosome size. Please check.\n" self.log.warning("*Warning*\nThe region to plot extends beyond the chromosome size. Please check.\n" - "{} size: {}. Region to plot {}-{}\n".format(chrom_region, chrom_sizes[chrom_region], - region_start, region_end)) + "{} size: {}. Region to plot {}-{}\n".format(chrom_region, chrom_sizes[chrom_region], + region_start, region_end)) # if self.properties['file'].endswith('.cool'): # # load now the region to be plotted From 20c929f61eed9bbd08888f9874f5bd285e697a8a Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Tue, 21 Jan 2020 17:17:01 +0100 Subject: [PATCH 11/34] new test --- pygenometracks/tests/generateAllOutput.sh | 1 + .../browser_tracks_hic_small_test.ini | 19 +++++ ...ster_plot_hic_small_test_chr1-0-500000.png | Bin 0 -> 25377 bytes ...ot_hic_small_test_chrX-2500000-2600000.png | Bin 0 -> 24442 bytes ...ter_plot_hic_small_test_chrY-0-1000000.png | Bin 0 -> 23995 bytes .../tests/test_data/regions_chr1XY.bed | 3 + .../tests/test_data/small_test2.cool | Bin 0 -> 55570 bytes pygenometracks/tests/test_hiCMatrixTracks.py | 73 ++++++++++++++++++ 8 files changed, 96 insertions(+) create mode 100644 pygenometracks/tests/test_data/browser_tracks_hic_small_test.ini create mode 100644 pygenometracks/tests/test_data/master_plot_hic_small_test_chr1-0-500000.png create mode 100644 pygenometracks/tests/test_data/master_plot_hic_small_test_chrX-2500000-2600000.png create mode 100644 pygenometracks/tests/test_data/master_plot_hic_small_test_chrY-0-1000000.png create mode 100644 pygenometracks/tests/test_data/regions_chr1XY.bed create mode 100644 pygenometracks/tests/test_data/small_test2.cool diff --git a/pygenometracks/tests/generateAllOutput.sh b/pygenometracks/tests/generateAllOutput.sh index 2e4527d9..543b320b 100644 --- a/pygenometracks/tests/generateAllOutput.sh +++ b/pygenometracks/tests/generateAllOutput.sh @@ -25,6 +25,7 @@ pgt --tracks ./pygenometracks/tests/test_data/epilogos.ini --region X:3100000-31 # test_hiCMatrixTracks: pgt --tracks ./pygenometracks/tests/test_data/browser_tracks_hic.ini --region X:2500000-3500000 --trackLabelFraction 0.23 --width 38 --dpi 130 -o ./pygenometracks/tests/test_data/master_plot_hic.png pgt --tracks ./pygenometracks/tests/test_data/browser_tracks_hic_rasterize_height.ini --BED ./pygenometracks/tests/test_data/regions_XY.bed --trackLabelFraction 0.23 --width 38 --dpi 10 -o ./pygenometracks/tests/test_data/master_plot_hic_rasterize_height.pdf +pgt --tracks ./pygenometracks/tests/test_data/browser_tracks_hic_small_test.ini --BED ./pygenometracks/tests/test_data/regions_chr1XY.bed --trackLabelFraction 0.23 --width 38 -o ./pygenometracks/tests/test_data/master_plot_hic_small_test.png # test_make_tracks: make_tracks_file --trackFiles pygenometracks/tests/test_data/Li_et_al_2015.h5 pygenometracks/tests/test_data/bigwig_chrx_2e6_5e6.bw pygenometracks/tests/test_data/tad_classification.bed pygenometracks/tests/test_data/epilog.qcat.bgz -o pygenometracks/tests/test_data/master_tracks.ini diff --git a/pygenometracks/tests/test_data/browser_tracks_hic_small_test.ini b/pygenometracks/tests/test_data/browser_tracks_hic_small_test.ini new file mode 100644 index 00000000..ca63e303 --- /dev/null +++ b/pygenometracks/tests/test_data/browser_tracks_hic_small_test.ini @@ -0,0 +1,19 @@ + +[hic matrix] +file = small_test2.cool +title = cool with few interactions show_masked_bins = false (default) +depth = 200000 +file_type = hic_matrix +height = 5 + +[spacer] + +[hic matrix] +file = small_test2.cool +title = cool with few interactions show_masked_bins = true +depth = 200000 +file_type = hic_matrix +height = 5 +show_masked_bins = true + +[x-axis] diff --git a/pygenometracks/tests/test_data/master_plot_hic_small_test_chr1-0-500000.png b/pygenometracks/tests/test_data/master_plot_hic_small_test_chr1-0-500000.png new file mode 100644 index 0000000000000000000000000000000000000000..7d81673117f526504d70c0aa3717f8591b2185ce GIT binary patch literal 25377 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 Q16nqP=kg_Gi$6>F2k(|%?f?J) literal 0 HcmV?d00001 diff --git a/pygenometracks/tests/test_data/master_plot_hic_small_test_chrX-2500000-2600000.png b/pygenometracks/tests/test_data/master_plot_hic_small_test_chrX-2500000-2600000.png new file mode 100644 index 0000000000000000000000000000000000000000..f5fe474dd4d6ce52f4a67e7c5d32c5881bb8edb0 GIT binary patch literal 24442 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 F{$F5+)Oi2^ literal 0 HcmV?d00001 diff --git a/pygenometracks/tests/test_data/regions_chr1XY.bed b/pygenometracks/tests/test_data/regions_chr1XY.bed new file mode 100644 index 00000000..a1f74c4b --- /dev/null +++ b/pygenometracks/tests/test_data/regions_chr1XY.bed @@ -0,0 +1,3 @@ +chr1 0 500000 +chrX 2500000 2600000 +chrY 0 1000000 diff --git a/pygenometracks/tests/test_data/small_test2.cool b/pygenometracks/tests/test_data/small_test2.cool new file mode 100644 index 0000000000000000000000000000000000000000..ad78b9f7a90eb9c16d6a815ed4661ede85fc4c68 GIT binary patch literal 55570 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 Date: Wed, 3 Jun 2020 16:03:16 +0200 Subject: [PATCH 12/34] remove ununsed matplotlib --- pygenometracks/plotTracks.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pygenometracks/plotTracks.py b/pygenometracks/plotTracks.py index b4f13acd..66a5a6dd 100644 --- a/pygenometracks/plotTracks.py +++ b/pygenometracks/plotTracks.py @@ -143,7 +143,6 @@ import sys import argparse -import matplotlib import warnings from pygenometracks.tracksClass import PlotTracks From 815c8ea5f8e6692496d64df6397de8a3f3f12113 Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Wed, 3 Jun 2020 16:04:12 +0200 Subject: [PATCH 13/34] put back HUGE_NUMBER --- pygenometracks/plotTracks.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pygenometracks/plotTracks.py b/pygenometracks/plotTracks.py index 66a5a6dd..3349c55b 100644 --- a/pygenometracks/plotTracks.py +++ b/pygenometracks/plotTracks.py @@ -150,6 +150,7 @@ from .utilities import InputError DEFAULT_FIGURE_WIDTH = 40 # in centimeters +HUGE_NUMBER = 1e15 # also used in plotTracks def parse_arguments(args=None): From afa1fe2f020001984ffdd69880886e5b78f3b361 Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Wed, 3 Jun 2020 16:04:29 +0200 Subject: [PATCH 14/34] update comment --- pygenometracks/plotTracks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pygenometracks/plotTracks.py b/pygenometracks/plotTracks.py index 3349c55b..f8810352 100644 --- a/pygenometracks/plotTracks.py +++ b/pygenometracks/plotTracks.py @@ -150,7 +150,7 @@ from .utilities import InputError DEFAULT_FIGURE_WIDTH = 40 # in centimeters -HUGE_NUMBER = 1e15 # also used in plotTracks +HUGE_NUMBER = 1e15 # also used in HiCMatrix def parse_arguments(args=None): From 1ec106d73edb45e44b9854a1a3443488a0374151 Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Wed, 3 Jun 2020 16:28:36 +0200 Subject: [PATCH 15/34] forgot a , in merge --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index d2c6afad..a0faf088 100644 --- a/setup.py +++ b/setup.py @@ -102,7 +102,7 @@ def checkProgramIsInstalled(self, program, args, where_to_download, "pysam >=0.14", "pytest", "gffutils >=0.9", - "pybedtools >=0.8.1" + "pybedtools >=0.8.1", "tqdm >=4.20" ] From ca58b09fcd8ce73c66d3d80118a4e30d240dc46e Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Wed, 3 Jun 2020 16:46:22 +0200 Subject: [PATCH 16/34] update gtfTrack --- pygenometracks/tracks/GtfTrack.py | 33 +++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/pygenometracks/tracks/GtfTrack.py b/pygenometracks/tracks/GtfTrack.py index c91b3cbf..140fa101 100644 --- a/pygenometracks/tracks/GtfTrack.py +++ b/pygenometracks/tracks/GtfTrack.py @@ -3,11 +3,15 @@ from .. readGtf import ReadGtf from matplotlib import font_manager import numpy as np +import pybedtools +import sys +import tempfile DEFAULT_BED_COLOR = '#1f78b4' DISPLAY_BED_VALID = ['collapsed', 'triangles', 'interleaved', 'stacked'] DISPLAY_BED_SYNONYMOUS = {'interlaced': 'interleaved', 'domain': 'interleaved'} DEFAULT_DISPLAY_BED = 'stacked' +AROUND_REGION = 100000 class GtfTrack(BedTrack): @@ -104,6 +108,7 @@ class GtfTrack(BedTrack): 'color_utr': 'grey', 'height_utr': 1, 'arrow_length': None, + 'region': None, # Cannot be set manually but is set by tracksClass 'all_labels_inside': False, 'labels_in_margin': False} NECESSARY_PROPERTIES = ['file'] @@ -147,8 +152,32 @@ def set_properties_defaults(self): # to set the distance between rows self.row_scale = 2.3 - def get_bed_handler(self): - bed_file_h = ReadGtf(self.properties['file'], + def get_bed_handler(self, pRegion=None): + file_to_open = self.properties['file'] + # Check if we can restrict the interval tree to a region: + if pRegion is not None and not self.properties['global_max_row']: + # I increase the region to get the intervals: + pRegion[1] = max([0, pRegion[1] - AROUND_REGION]) + pRegion[2] += AROUND_REGION + # We use pybedtools to overlap: + original_file = pybedtools.BedTool(file_to_open) + # We will overlap with both version of chromosome name: + chrom = self.change_chrom_names(pRegion[0]) + bothRegions = ("{0} {1} {2}\n{3} {1} {2}" + .format(*pRegion, + chrom)) + region = pybedtools.BedTool(bothRegions, from_string=True) + # Bedtools will put a warning because we are using inconsistent + # nomenclature (with and without chr) + sys.stderr = open(tempfile.NamedTemporaryFile().name, 'w') + try: + file_to_open = original_file.intersect(region, wa=True).fn + except pybedtools.helpers.BEDToolsError: + file_to_open = self.properties['file'] + sys.stderr.close() + sys.stderr = sys.__stderr__ + + bed_file_h = ReadGtf(file_to_open, self.properties['prefered_name'], self.properties['merge_transcripts']) total_length = bed_file_h.length From 8aa4c2123ec9d6ba3d092245886984ed3c1e10ba Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Wed, 3 Jun 2020 18:11:10 +0200 Subject: [PATCH 17/34] fix issues when plotting matrix on the chr end --- pygenometracks/tracks/HiCMatrixTrack.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pygenometracks/tracks/HiCMatrixTrack.py b/pygenometracks/tracks/HiCMatrixTrack.py index 9b89ef1a..2b50ef63 100644 --- a/pygenometracks/tracks/HiCMatrixTrack.py +++ b/pygenometracks/tracks/HiCMatrixTrack.py @@ -209,17 +209,17 @@ def plot(self, ax, chrom_region, region_start, region_end): # get bin id of start and end of region in given chromosome chr_start_id, chr_end_id = self.hic_ma.getChrBinRange(chrom_region) chr_start = self.hic_ma.cut_intervals[chr_start_id][1] - chr_end = self.hic_ma.cut_intervals[chr_end_id - 1][1] + chr_end = self.hic_ma.cut_intervals[chr_end_id - 1][2] start_bp = max(chr_start, region_start - self.properties['depth']) end_bp = min(chr_end, region_end + self.properties['depth']) idx, start_pos = list(zip(*[(idx, x[1]) for idx, x in enumerate(self.hic_ma.cut_intervals) if x[0] == chrom_region and x[1] >= start_bp and x[2] <= end_bp])) - - idx = idx[0:-1] # select only relevant matrix part matrix = self.hic_ma.matrix[idx, :][:, idx] + # update the start_pos to add the last end: + start_pos = tuple(list(start_pos) + [self.hic_ma.cut_intervals[idx[-1]][2]]) # limit the 'depth' based on the length of the region being viewed region_len = region_end - region_start From 836e54dc50b8a2e7cf61d560561f6c384cb85548 Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Wed, 3 Jun 2020 18:15:55 +0200 Subject: [PATCH 18/34] update output of hic_small_test --- ...ster_plot_hic_small_test_chr1-0-500000.png | Bin 25377 -> 27824 bytes ...ot_hic_small_test_chrX-2500000-2600000.png | Bin 24442 -> 25469 bytes ...ter_plot_hic_small_test_chrY-0-1000000.png | Bin 23995 -> 25025 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/pygenometracks/tests/test_data/master_plot_hic_small_test_chr1-0-500000.png b/pygenometracks/tests/test_data/master_plot_hic_small_test_chr1-0-500000.png index 7d81673117f526504d70c0aa3717f8591b2185ce..d15892f0219b7650910f2a0e92605841c2161d90 100644 GIT binary patch literal 27824 zcmeEubzIf!_9g}<*a~h13=9lF2?Yfd6x}E#rKE_`2ntAtg^7VEC>@d#lF}#&iXgS= z7U`63=6T_qd(OFY=QlH-&&+5389!bxXS2WW_szAQ^{i*T4`ifHF)pJlqobo^q@F%; zj*f02A06F1^CgS$$>^%0J@~(crlM5&CHP~zx@Kl3f?QmG{hrhK zx(?SWZKjQMbX(}CCyvWodUn-XS;`Oj&HOH)ir(3GXVtCMpPja>GI`*%>fi~N)>%wNAh{(kP%1%us5Cf7pa7Aie%yK8+?jy_3ABGkZT`BwJl`%lXp*Igw>e|9_b zt7mz=D|^mvbU(Xu!t?b=r&W4EQ(k4dPRm)=47T(~nz5CJ^DzcGI_}qw!;!N;(H)ap zr9bzR+&0?W4?!nF=FR?e_JPcT*&p23_>qaigF8eSXMeaT5kb-a_3PKyOYiY__pV*7 z{@p1Sy=Bt&{c9Q7gjEAhJ-wPAHv3gNHmwRneiZ}H4`E>v8y=nf^5u(5;ICho*RNZ* zd)qcq7kN3kfalv!=?`_3c9cb^7|74Pd^B3IGgS8c`Q4Ac_!kz++;wu=!^fv^^5jXW z>a46RKGT-7Z-aw7;Tv7<+qQ3KiQ2w>yZK<7Y)+@xy%p^x(juil zypF72v&LUD%So@T(C^{Xrx|Ukm6esbKYqMoXPJ(Z|9DVUJ+_`XoZqmb@RP-Shq&Cf z-qGG8hCYc}lCuLD(uol;fX=4PZ)u@?>tf1q`NB=4y#_mFqfx4a#KUFFmn*2L zMRauN8&$g;!fMPZMz(={L;fC978sko*bhHTo3%=Efl_V?atj> zxB7h?pe&lVNcoi5M|vTC(oAMbTvf-ei00hPC*xYX%Cn?5e7+YR7#Qemuu!AW-JAK3 z{<4t%8oVE&T^wDiETMJp756%N@_6d)F;Pb9ym{!`c}d3IOJ>{joqEl+%r|(E@@doC zOK;6?8eNT`<$Mg(n>U@l&$kSFJO9s*MOv2gwT0f))^Fc(>*DN&tGd_jPxs2~q+GoA zXy)}O@{+>gv*mJPm;7aT)l~+Ad~;^^W8D6dlk*rvj%&qVsW=uryKjtgJpIIdJLjv0 z2#GHGADcw!jYDSNJ9@C>F6AKm_Ck{j zbl*}wEi?{WPToCA!N*Qp=@-&}*yni2X-VDrUF73F`j#{E8N}wX%vaqoddPUi%G9K* zmG96xT<>eM*A$`j{o9DKW**|!Zr#r_!ZaKBt&#GT@FXg_xaN&o2 zeInWnOY_d_kS6-XNfXxk4KwZno4HMEXTPfA&b9QSzs%P|qVqI9EGA#mm7aSO!!nZ# z4Q#d?41I5H$X6W`%C=FDNl87~x8V`~UcY{wvx;@|=6&I%d%{b@=$CIeTvw2nM{D?a z`=zJnyI^nY+}KA4CO=1wU0TxcXk;O2+UR3+rC~ygr|*9{w4dHfpFR6{1)Fe}Sxr&E zsVnc#$LSQXQqS4irY>8yY#j?r_po)j#q#o;wQJR`Zi*jR{LX~3vy_4EelN8ID zHh9kKsMWb$(%$m-Rk^Y#vv%$JjT=KB zK3rxuSad4)`}Yzh4ZF8f6C<6sR|*%t+OMLjuGNzFdJhMOES35o`R+oVU?;ZU!N;f)8GG}y{@Yu5%;RVkko7vFRE@cEA)KXw$q zeS{I0_0cnaYa`n(an!V_&Zn1!G<>wQt8v%r)vI&Ael5Jedi&+rO4sMl{qEmiav?&o zxur$FJW}lqpTVn7Sy>7&#m(Q{_U_(&di$v-G<D-C+ ze2vXNwAM$=w^3m3SdTId?3m{icq|L;da~*6ld_LyF}TD!_g0f9OT`#(3-HCS;Lme z=FUZX1{?H&vyT$7TDM~Lzup|hqp{}VeQ%0-B;NwYBexg}RvD79_FdV@z{k)+>$_z1 z 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 literal 25377 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 Q16nqP=kg_Gi$6>F2k(|%?f?J) diff --git a/pygenometracks/tests/test_data/master_plot_hic_small_test_chrX-2500000-2600000.png b/pygenometracks/tests/test_data/master_plot_hic_small_test_chrX-2500000-2600000.png index f5fe474dd4d6ce52f4a67e7c5d32c5881bb8edb0..594bef7c3e33e7a2895879c3cdc823c65501cb91 100644 GIT binary patch literal 25469 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 W>U*Acr#FWDNI9i&l6KFDU_DQ8b9 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 F{$F5+)Oi2^ From 16c76b1d823b6449452b77dc1e0c5da8a0760436 Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Wed, 3 Jun 2020 18:47:10 +0200 Subject: [PATCH 19/34] add test for bed vs region --- pygenometracks/tests/test_hiCMatrixTracks.py | 47 ++++++++++---------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/pygenometracks/tests/test_hiCMatrixTracks.py b/pygenometracks/tests/test_hiCMatrixTracks.py index 93d9476c..70460885 100644 --- a/pygenometracks/tests/test_hiCMatrixTracks.py +++ b/pygenometracks/tests/test_hiCMatrixTracks.py @@ -359,26 +359,27 @@ def test_plot_tracks_with_hic_small_test(): # The tests with individual chromosome does not give the same result: -# For the moment there is an issue in chr1 it comes from HiCMatrix -# For the others the problem is the colorbar which is different when you do not load all data. - -# def test_plot_tracks_with_hic_small_test_individual(): -# for region in ['chrX:2500000-2600000', 'chrY:-0-1000000']: - -# outfile = NamedTemporaryFile(suffix='.png', prefix='pyGenomeTracks_test_', -# delete=False) -# args = "--tracks {} --region {} "\ -# "--trackLabelFraction 0.23 --width 38 " \ -# "--outFileName {}" \ -# "".format(os.path.join(ROOT, -# 'browser_tracks_hic_small_test.ini'), -# region, -# outfile.name).split() -# pygenometracks.plotTracks.main(args) -# res = compare_images(os.path.join(ROOT, -# 'master_plot_hic_small_test_' -# + region.replace(':', '-') + '.png'), -# outfile.name, tolerance) -# assert res is None, res - -# os.remove(outfile.name) +# For the empty the problem is the colorbar which is different +# when you do not load all data and the transformation of nan to 0 +# when the matrix is not empty + +def test_plot_tracks_with_hic_small_test_individual(): + for region in ['chr1:0-500000']: #, 'chrX:2500000-2600000', 'chrY:-0-1000000']: + + outfile = NamedTemporaryFile(suffix='.png', prefix='pyGenomeTracks_test_', + delete=False) + args = "--tracks {} --region {} "\ + "--trackLabelFraction 0.23 --width 38 " \ + "--outFileName {}" \ + "".format(os.path.join(ROOT, + 'browser_tracks_hic_small_test.ini'), + region, + outfile.name).split() + pygenometracks.plotTracks.main(args) + res = compare_images(os.path.join(ROOT, + 'master_plot_hic_small_test_' + + region.replace(':', '-') + '.png'), + outfile.name, tolerance) + assert res is None, res + + os.remove(outfile.name) From 9e9c0626884def55101c31edea1d2e3a7e4475f7 Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Wed, 3 Jun 2020 20:45:20 +0200 Subject: [PATCH 20/34] remove y_axis when no data --- ...ot_hic_small_test_chrX-2500000-2600000.png | Bin 25469 -> 22068 bytes ...ter_plot_hic_small_test_chrY-0-1000000.png | Bin 25025 -> 21615 bytes pygenometracks/tracks/HiCMatrixTrack.py | 6 ++++++ 3 files changed, 6 insertions(+) diff --git a/pygenometracks/tests/test_data/master_plot_hic_small_test_chrX-2500000-2600000.png b/pygenometracks/tests/test_data/master_plot_hic_small_test_chrX-2500000-2600000.png index 594bef7c3e33e7a2895879c3cdc823c65501cb91..fea77fc92996db4114e2d0c535c8b49ac526a1f8 100644 GIT binary patch literal 22068 zcmeIaXH=Biwk?X=r7i=q44|UGQb7b13?KpmCcpy8NswS5NFhO@WWy3OXbB=9Ad+J# zIisSY1Q94eGD?!HM9HsDz?@d-{UO4{w8;L?rTERSzsmXX&mXo&DH?y`%k@vATljgo^$8tYCZ?5Z z$^RBrG`dgWmj~@+PT8qjnb+cJ8 zcGluTLjUpK1+8pMh5jDeq-2`sVsQ$)ioPy`nYty9`h^_`PCz{Gt*UZ+CtfG z7WHYGM~+-Qbm&mOn&u1ksBHbYooZO_<>eKtl~8BV<Sa8mJlesxbLR<`LqD!`Gh)Kb zDkE#_Y7+J1I!Xh3t}f$L8R@R__3;T`xk2ztoyU0lhLNsHIVmZr!5=?V#`+t5LqZI{ z_Q)MS{+(;~*UdirlPB-Fy15w#M26oDTi4LoXy4x;mfgkcEIgdM)PKJmmc!@l#xy>Oi2FNq zUYxo5=FOY7Z{MCjd-iwkSd)uG&CY>5o|qReR6HgsL)tn!c^w@cZ~XJmh1b`X80XPn zu+3*2(Ti{XSsoy6AG<^8X>^c;BR>z13_gg)&2i|mipNwd7we`?G1z%NF)^KwA3p|2 zxn=cDxld1+O^){I=DB88R94y#woyjDmlv?f>nUhx_#l>e^rtT6nN{wfBu!^1DJZB1 z9AS{(6*BF*7|$0&dNA*)MfbC;gwNS=94ONSyxp^QUu%zp35#&!KAO zPYzfFc(QOM{`g_dx_?eSWzP^-MjY7FCdv9YX*(U5Zj>!>!b%z61P4Q8|&hpEbFRy!f{-%LTp9u4&ea96Z z?~3{Crcm+a<$2%0z&KU`t?xIv+*NFBl5%o$={;`mBuoCl$-1)HdbC%kvZ|`;>3&nC zn7%OC`}+#syeT24U{o>qQ0=Ne|J-M(#GQT*AT-`<&ES5H<7m!_l$C!a0w>w%FUI@(_!tF5nsFYq ze&u7-(bo0^zc;T*6yfoYQVL4yNp|R~Gs$6u?)U2Sbf zoKmh|`ZEx-wk1#Y;*UERG3upkyLHJMg}4sh9ygpFF*K=9vnchL?lB~v+L&cu>f__H zkFJyLU}5|I-lnt~TFKAW!g>R)Lzh4M7+E&uWR^@OoCxCbn0m?g5oyHKKNW8`Gc!35 znVg(F-ssp&Zj+CXFVfrFd%TC9|Jd0T7g?`uVurN?R%kHH_M}(ijK797+ zuao`N34vl~UR|*gytc&r7#9;06Ze?O>8?%?P*zs1e;g1%-MnZGD{I6+{;UC3IxBYc z+O>c6HRsP}ndj&9U%A3W;ZN_s!{DP>T3W7PW=@qD`|xnP^Vb_2)^FJozl_UOB`+_J zUr;bjk*hAxEgK2kK|O36E*HnvEL~{dzQNc5Ij6Ddsi89SrW_|~b-cgqefEg>`1s9< z%f>j_RxH5+SgRME-ZNNqVCaq+PehP;fXR&wp~E91ngyQBz5xNTh!~z7JNOSB(mVhD zUO95ICTb4OkY+T!SWH5~P_wh${Hk6ta%p>SZ+yb(bOU>#;NW0d_zuN@50#bbJvDS~ zUEP3Smwqu;Ha054gIfOl1}-J$)vH&V6DKR|i{rAl*~`M|*0N^QQ*ynv^^V z)lH>-eD_Y~>({U1j{OaqA`SN{@{Vcu3k>9CJM_ioYwNCAf3vjvC7477mV)CYOO2p0ZDT zqEbj?8&i~(YaVPpwtmBgs24Bx1W9`sn0|WtGF8;F;neB0i{-c1@fO8*>JGSFxDdT> z-@dtP*Q*&jMnk=gU9@=VcU*JLKg-t%yNvesh;xkzE+qB0RaKhX<-8a_z7~jBH65Dn zl%6f080i@)^O#Ym30t=u?yFB%#=TYcH)fBt`x#Oz!YOG>__0&;MEz|3y?a$RAGr7# z5W@GtgJ(!ir(V8%$(p!bTwE8)OZD*KE1b^Xw^BA-_i`HQ;N$0yEg7QLB<`k6O!Uz0 zhrg?4bG3=ap-6OBMtQGYyEet><64e`)`w9B@HvlC&b?caT_-&~te$F7ucf4Qh zDb9)EP-mI8gF{;QU1clOr}8|vNxR-JFV*CHR&j`H7n?obYn&vh9?yy*l;x}-He zPpsMJK6QC|vU#=|Whm8c(jh@FQ*GBZwjSfgvvN^>Cz?Vwuf?UU0pFe3Xk<_Qf@>? z?*xANa)SxANV_jv?LNDRFv69Y^Ux{WP5Ei7T>HfXhij!~ex2vx=DvXHNB#Wls`K#o z(D?XW*-@@OTBb78{58gnRx;hYN_%UQNvMgKRUF5ve2!KPYin;eHg~*qsXSIQuC1>x z;Zu-=0FG;Aq~fDTmG3nF3U(XSsfyK9Pz(@$n4j+v<2`7B6DT!1WlL}b^X3DLK&!l% z81<-FId4wZJS$UE)B9V*$YoY=&HPw4K0e-6z#<+0V>}~$Q-|-Px;fm(wCl>l|K+Bq zCGC52em+i}eR^?*`EN|yL_fO`@UvFLTY*A(2pE@H`1b8vy_#0lffV2cti^}ILOFmn zA)$eQPK~xat7_y)l6~u2%@mR?8^t$yhE_%?YiBeg8K63UEG<>Mdi84hvx>X?gF(nh z-jOH$ZHg0}q7F9p{cG;B9Sfh!+yxwUO)uVA`R2yT)Qh$IA|fMWsa3Iqz^nB<6k3zp zm_E|UDJ)lJ#B|pe>_OmOz*!g^8dAr(m-^MRID3ddotBm} znVFd}mW^2f2QNLBmzTfT2fUzpmu+`je}AI9FFzl$1;S}}swZG&EN+Kg+C9gjIe%tE zNW{GQWMX1s+Duu9w3T@?sxR_wTX%OXa$tf%?nJ+40!YWG zcNOW)?r|9z2eZ#>(G3!=FJs}~y<2f0Z!(eg=uztBpXW}y0Q#gLo9#Bt)9dQ$BDe)9 zWNW2xJ5s{?`kK22comA3u%+a^yn?K+cq( zpuPqQ{k?mun2|{rFI$~5xwjkdq%1Xl91G(-*_ZD7^l3cqL4{^FGvy>X`sF-nupD~7 zgksG|#*8qK5D-v6(qor$%`otowx?|HI5~y_f6Q|gIZqER+{(84IAgvEc(HL&Ss@F@m~YZ|)#yn)lWx$n!%WAwZUYG&t2|9vu~EkyzN z*4jE!vcC+u^B650C*QoQB4PpuCe>xkl6=OBKmXjBOjnkk)&MqXxAZ$2FQ6EBK(XK^ zi#BS{iWMtTE|hPhY^bUIRo^@liTc=6ER@ecw>?}WK=;u(79!=Qk!+%9Y;4Sjd&2TR zzFzPylTV7u;?iG@h)IWRnEFw6$Z?Y>Ygpq8jOuC5L z+FJROCmH7ST!$(r#7Us2l@?0laD{?U%(G{&*yMf2IC9qDH#ECTrQV1ETxV%@^>dk( z77ZDy@7}!=ZJ6aSCE4s1^Oq#!yL=x@%F2XNa}D#|O;l7K=%}fktFH+?wrmK6{lNdU zLBL%cKyt7E@K<`W=e6s2yI(0Fr!7uG2b%Vi=ooDgmo@SBQ@?&jMny%9*IVV+jsn;O zkkIWLxv_FX368oyda&KeA(vX;`vWKt@Q)LvNHNjX)%CBrck9+3b#-+`BqLkYV23`u zqyr_-INhqhA=3m!hO{NV0@?weK7Hy4J$CbAA1T{>AN8{Ax;Eh^?4I4HD;-q$5Te6b8tG1zA)xG=oMTGP+ ztV??WBh7*jIaM@ZuQE>~d-``8IkBmz$GQf;bOn*sfc* zuJr2SWp#a%{n-O2<>cg&qobo4wo94WjU4(LYAu^leoFunYWp^e*@W|bJY?VPV-`>| zlcPA)T^1(n=dr9-05ue?DvGh-`o zE)tL`8a;vsaX#YE+c}sE3sV^%Mh!1f5W=4yZkOYx;P}~Gx}=I+d$A9QQ~S)BXNa<@ zm*?e>)w|H^(6~|3y2m?1YOoOm!{b25g@+$c&`ph1$t7vk(J?(Y5kCR9S-4ni^qiWW zwiuyoh^je>gNAxlX_Y@6i5grlhMmzu<1B999gfowi_X}2@FQ9R^P3LX9HXHgXlQ7J16!j{;s;yBB02mZAs3O%npLBKBi_rFe6cYr zm9RgOE~7q~CdY6J`>c3*d9%mDkwUxCV}meZ#X`t&xoO}$3Jpyd7#O6xmU^L3QW20v zpFU}wJsV0s3V8|#*-xBm^rPi9`<^pbIz9!(;cB}-@`h;Orn&W}RuR5H%(ml;m#CsT z4-ZdKaj`mbKfQYZL{H6PmP2RKk-o=b%Q}i`Y9?~%y+gFYyzA+85#_uf3UYT(H?KY^ zP54{uV`v2kk+b`B+DR}|l{ga#C|uJ6vorL*CjueyXE%B_2C#dc)vKbL1*A=@s;Y`R z4@ZMpNV(K1iyb1BF(xJki9)^j@$UBSZrxC4g}8{Ei364m(Z7COCP@Mqvj+HE#O}Ka z%I7DCDYU=7!NG}-cb}$ydMXxcn4f3C{8!gG>$PjvgyO6kq$(94>y6ap&uAjSr0wSA zl|xhT5be6fol@TseeWbMA$rJQ(<4Hvy}G)XRAZ&!LorDFJ(-=s0?G71e|NQjX7@>? zT6-EAYP>KC_|t8oD~e_`mZ@j??d|QNj~`V#KLw?_j@yV__Id9$UBA z$da~riXA){4Wy4~40`X)Md#Oyy#VagU7tQ6QpU{8tf{K{5IFHUE=hsrJ~M7Q{j1d* z?Xa)i&t*pFjezo=1BykX7rf);Rh@CEbr`#%d0F!Q=9li%&Hx0p3HMd%zIm@%v*ymN zTc6RgSG_oUY`0#93ec|)cV>3B`S@Tv2|7-ENEiFCWoi?B+?|6G_ySnC}btMdK zE?||zb{oO2rrb#pxeA~39fiJN4oYSm;;z45^x0$0 zMtf_+z<52b>x}r^J@`&ms5a9!3J?nPqWV|%f#1yz_x}Cr*h*Cp5ClXr7z9_zGqVdv ze;yy{snG@(>-*$MwEuq7A~cqyZzSyixSsk;DDLE9EGA^J4dCFqtKvj1etA)EV?`qj z1z^MXyFz&?$B+NRCS(u~uIr2Y57G;Ax&FACyQ97M&S%o;#@A!!nP~|Z@=0P%YtbTSHLV-Z7dLMrz zztz;#dOu~8Q)2G6EaI-R_$E{mtwg;TM03}D(Wae_;j-x7kSAi1?0Z6Qa)K$zJ|rp0 zLuqy!!%lT;bYzZgiwwa@LKR_=`t_`$qJn|wA#^WdYvM-%i$Ko%8{84$;a{rTF8@b! z`bE+EmY0_n*h@lPP2&HIHp=?X-p^wtd$aYJ=Y^J6R|&m=ATk*nUIReT*O001Ejjw+ z+V$%qMj!sVziGd$@}Zw^HQgXVTtGUUK-H;2g+=C$11!+ZvWwA*KNWiG)}N_nm9l8j z(?-^A*|H@Ch&4#kMQgWi%4gd$$*BD4KC2pg7G!v5a5`0hO7Gsk=jY}=PGk<|d|pmY zPUqJ9qU(|EkQRI1-d?AhVf~eP%rO_0%a=xbUM4kpGBh+)UP-AM;6k(GCpsN*hu$aP zA2jma-Ox)$D~Cv>?dh$kv?u58!-o^34FN~0jjJy1t*oihmUJF|;WBK7f{_B2dbdu} zag^i$G22KmSw@acsZs+KdOZ?5DYtLmPJ6iD<5vL}q#0YhO?-(Icvm05VKAYR!=I0( z@fJQsQ*w8MP#(3<&n4)rmeC*!*&n6{c9&jOfMfwwc60D{NKL|i9bU<{>ob~{eh0pq z8w*Xf-c2+ZRFLx%KMT1A9Qe}jg@uLTR}N^PE$17|Gfp5k%N?8Dw5j!z1Nn3*w~2Ktl~va{-?2MD z+TYtgK8i@wOw`js#m_5XUF695Z*{Wzza>nvcmJ)<{(qrhN7dJkPmK?ux!grz-)D3y z*maPSJxZzpVPjF=Ntuf-zlZ3d`rEmX0{s=1#6jh*sgo;6<>*V56?=_BAEyZKjz4WPA za)U~%%@NPI9byc@R10}^A#{JW1Ke|mp-3)z(W~c{^}~D6>A3Z0nyR0iOUk&Awe8V`qrLvQ4y$f}QBX-Wa}<^V10 z`frO24Glq+*BNYJV*?r;>yS9W&082aFmDz(Rc{fPQl4dRPTE1x#pS5WDL^?WUfq$C zxx#8;Df4E625HOF>s!#W?>+y1=Ya!Sk!FN^9~>Rkf<#L6VG5~Q)pSF8h{uc$2%yiP zdZR(g+f0fazcPP0maUb_mVOhT5}ni4x|F4z64;dIP;laA{Ch_A@#dj3Cv5D5`yF7% zz*mc4vO)CgO69p9uKe~w$mj@h{=JYwlFme*JzH?yr0xtAnIUEf>_iweG8HJ;B@DcHkZn6&T`>*g1F(V>ICQ`;DG@eN@1 z53g%q-qRZLs-9;H`#JGjHL;a9*3P>*@J9yGs!c~jv#jM5{)bO5c(5htl=_^j@`}@sst7kXLip?+S!hesSgTzcs+;=_Mmo8-B zG0Byl?4ECrhR)qe!FggO7}fZq4r+qXM+?2uiz<7D)gcQg49 z*&{6G{-R~(Qss6LrKbl&YYaW~K{!0-2Jfkc9vIP(XW{~^oeCzeC+GQAu_Tq9bAL0I z9mv`A0v!vf+bF+8Z8tIsKVVU(5jwh#SBZQOsXquL0XxZp2dhjA)kNq1(t0+d>mhrg zHM9!a(jB%APV6wW5 zOJV4h!ob&EK&uDpwMwL3IY>N$Mq5j%02LGts2B^BRg>2e5f$Q-Hn*WyCf_S6OaB}l zt$woiJaDK$rLc%e$wuS`0o*Zs6#~g_NJQ)ht)GD+C9Nl+z?76&cNRWawXp3id8QC5 zoBFmT${jyrY_X*>laY2{{}{i3K(TvN=ICk-68oo~l+RddGck#_MaoedE_uFwq%?Qy zS4NKBzw2#htg15iW546$l_G+I>*eQj@2lxg*Fu-hQwB^-0-o&q!tWg7nLkTYAtt$Y zuO77hJ5UC8ZKUp*6FHff{#x)O-AytPZ+W$FL^GOogcy5P{XPU*%p&pH2j({*b=Q;C z8~1J5eQM$7h_!I2SPvj7+nl&l>cYtZxeMutH7iE*18 zr9qMqf))a2$Z2V;lor4x#EKa71{WYA7*~JJ_wcySA)!TRG%PRjKX(keqV2Nxh`FX6 zjt6p#K`7JU0sx{01~;soSiWkN21Fzay1JU02HhZcAKj&WcwNCB$c-26`|33N`}@&^ zSD^vqj%k?OP5-1||7(2Q3{DNAUo|u|*nNAu+}Ok<_SntUr zyx_~8CBECHFl0C9>D&K!6cE1}j#se1wkd+O=!LP+x2H!*V7c zheHgQ?o#%kg@lB_-^03g?eiro*?h+H-sr~r|8el(xliUbPlS5}!ypB3CM(2t+!W__Uv0vBBdwc*e?uSbN0@`@$+6-+ zt0V_MY)`8j8XD3(b&BvLT}b1pRh%3g`k`ZAY1nll8-i3sit_~#ZjZj-W*|LBTu2Ob zBqA>o(ZUZ#2x%N4;S=oCu?Z^pPTV0n0QGdsMv!&fUEk0Pf;0Q|vz0h|aM7T6{wDg* z+god#zuo3#q?&8v%=m~In+|o9I(NrJ`9K~9hWVaaV^9eh8$vH_MPoWQi8OGOx-ZY& zaR2pn84oXSaee({R+Dx^cD$%Jim+UdFM%jihC}FE%+aDc&rXk3;Q&z7aM~^Uh^&Dv zM?(eI*m~?Q;Ss>oR+A4gE#oBA8*D(-+N22Xu1aNTO)#KD8GtVOGeG3HoLtY14F(Um zE$UJzAUmMr3o$-MVDIi z;X?+M`A-V!<6{utPoF-$sLl%!jI^4d&52w{3x|E_!n-@H@)Sxr8d6pc4vWo;Xkc5> zUlQY$nVDI4Q*Jhzabbue=6TEf6u|qdE2D9rAR+_U$T{Z^7E>X&872??RXa^SJ&l3h zT%Rg#_x+4xpSRS+3G~EuIZnx(PHk)4Mr%#QZQ5?32pg?jgBIMPFdHIVczAe2*A6hV zn&9R}{PL${Xr$)_Gu4Ad(?SIE+ciVQMZWa6cwLJS(5rE|;}W<;j=FI}4P&PT0WQ{s zy^Y!0`Li?G7PAYKR5XkRR@g@U4D>isLX?%b&W7fZ)|=xe&* zT#ODhdo-pR8aP6D9aK*@l%57h8nE}gC*q6;!0yJ)n>}EFwX3Z6%TKP>&!p!}_SdDxfrc7JrZ&SV zzH{#$0=!iil3!pVvt!7JEOq0#Py!)ZIRDzRWf!DLH%N97X*WGRNh9Sj2}22SG)n$z zxsEKpK(U@Pp9O(40@1}lg#XzgY~=*xR?-!H9xsA#qD=r=S55PAC9j5ej}ypZ|O`=;M&j8k4*W zdL?P~ASbMc_6<)*Pl^Bjv{A&5IVf`ROW%(BkLdN}!o#BpOI~B%y?gh1CfrY`;l@SI zykc^j8Sf0(bM~4^S+JXaXKR!3YwlMMzP4y|&z0j(mmqXQG7^DS1O%cCjogDYOw&Ul zvp(F+TMnua!Q;i*f)t_^g3HFP(JZbO!7&pDQkIByFb<{I_h=!_eusLlb@AfG8$HOD z)ifT3^?&{Kj0njU@1C7Ut&K>GxC@|PcqL4{QLraFhr>3X(l%y~CYzd=VBVw_YpI;tP z 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 literal 25469 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 literal 25025 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 Date: Wed, 3 Jun 2020 21:51:41 +0200 Subject: [PATCH 21/34] adapt pChrnameList to exceptions --- pygenometracks/tracks/HiCMatrixTrack.py | 47 +++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 3 deletions(-) diff --git a/pygenometracks/tracks/HiCMatrixTrack.py b/pygenometracks/tracks/HiCMatrixTrack.py index 7cd87865..c26828f7 100644 --- a/pygenometracks/tracks/HiCMatrixTrack.py +++ b/pygenometracks/tracks/HiCMatrixTrack.py @@ -101,13 +101,54 @@ def set_properties_defaults(self): else: region = None # open with end region +/- depth to avoid triangle effect in the plot - # This will exit the program if: + # Cooler and thus HiCMatrix will raise an error if: # - the file is a cool file and: # - the region goes over the chromosome size # or # - the chromosome is not part of the matrix - self.hic_ma = HiCMatrix.hiCMatrix(self.properties['file'], - pChrnameList=region) + + logging.getLogger('hicmatrix').setLevel(logging.CRITICAL) + try: + self.hic_ma = HiCMatrix.hiCMatrix(self.properties['file'], + pChrnameList=region) + except ValueError as ve: + if region is not None: + if "Unknown sequence label" in str(ve): + rs = region[0].split(':') + chrom_region = rs[0] + chrom_region_before = chrom_region + chrom_region = self.change_chrom_names(chrom_region) + if len(rs) == 2: + region = ["{}:{}".format(chrom_region, rs[1])] + else: + region = [chrom_region] + print(region) + try: + self.hic_ma = HiCMatrix.hiCMatrix(self.properties['file'], + pChrnameList=region) + except ValueError as ve2: + if "Unknown sequence label" in str(ve2): + self.log.warning("*Warning*\nNeither " + chrom_region_before + + " nor " + chrom_region + " exists as a " + "chromosome name on the matrix. " + "This will generate an empty track!!\n") + self.hic_ma = HiCMatrix.hiCMatrix() + self.hic_ma.matrix = scipy.sparse.csr_matrix((0, 0)) + elif "Genomic region out of bounds" in str(ve2): + region = [chrom_region] + self.hic_ma = HiCMatrix.hiCMatrix(self.properties['file'], + pChrnameList=region) + else: + raise ve2 + elif "Genomic region out of bounds" in str(ve): + region = [region[0].split(':')[0]] + self.hic_ma = HiCMatrix.hiCMatrix(self.properties['file'], + pChrnameList=region) + else: + raise ve + else: + raise ve + logging.getLogger('hicmatrix').setLevel(logging.WARNING) if len(self.hic_ma.matrix.data) == 0: if self.properties['region'] is None: From 40bc04b926a718c6a70053586b6deca4d59f92dc Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Wed, 3 Jun 2020 22:21:34 +0200 Subject: [PATCH 22/34] update and add new tests --- pygenometracks/tests/generateAllOutput.sh | 4 +- ..._plot_hic_rasterize_height_Y-0-1000000.pdf | Bin 14783 -> 12582 bytes .../master_plot_hic_rasterize_height_pdf.png | Bin 133492 -> 0 bytes .../test_data/master_plot_hic_small_test.png | Bin 0 -> 28472 bytes .../master_plot_hic_small_test_chrM.png | Bin 0 -> 25505 bytes pygenometracks/tests/test_hiCMatrixTracks.py | 61 +++++++++++++++++- 6 files changed, 63 insertions(+), 2 deletions(-) delete mode 100644 pygenometracks/tests/test_data/master_plot_hic_rasterize_height_pdf.png create mode 100644 pygenometracks/tests/test_data/master_plot_hic_small_test.png create mode 100644 pygenometracks/tests/test_data/master_plot_hic_small_test_chrM.png diff --git a/pygenometracks/tests/generateAllOutput.sh b/pygenometracks/tests/generateAllOutput.sh index d4cf6a2d..5515dc80 100644 --- a/pygenometracks/tests/generateAllOutput.sh +++ b/pygenometracks/tests/generateAllOutput.sh @@ -35,10 +35,12 @@ bin/pgt --tracks ./pygenometracks/tests/test_data/epilogos.ini --region X:310000 # test_hiCMatrixTracks: bin/pgt --tracks ./pygenometracks/tests/test_data/browser_tracks_hic.ini --region X:2500000-3500000 --trackLabelFraction 0.23 --width 38 --dpi 130 -o ./pygenometracks/tests/test_data/master_plot_hic.png -bin/pgt --tracks ./pygenometracks/tests/test_data/browser_tracks_hic_rasterize_height.ini --region X:2500000-2600000 --trackLabelFraction 0.23 --width 38 --dpi 10 -o ./pygenometracks/tests/test_data/master_plot_hic_rasterize_height.pdf +bin/pgt --tracks ./pygenometracks/tests/test_data/browser_tracks_hic_rasterize_height.ini --BED ./pygenometracks/tests/test_data/regions_XY.bed --trackLabelFraction 0.23 --width 38 --dpi 10 -o ./pygenometracks/tests/test_data/master_plot_hic_rasterize_height.pdf bin/pgt --tracks ./pygenometracks/tests/test_data/browser_tracks_hic_log-log.ini --region X:2500000-3500000 --trackLabelFraction 0.23 --width 38 --dpi 130 -o ./pygenometracks/tests/test_data/master_plot_hic_log-log.png bin/pgt --tracks ./pygenometracks/tests/test_data/browser_tracks_hic.ini --region X:2500000-3500000 --trackLabelFraction 0.23 --width 38 --dpi 130 --decreasingXAxis -o ./pygenometracks/tests/test_data/master_plot_hic_dec.png bin/pgt --tracks ./pygenometracks/tests/test_data/browser_tracks_hic_small_test.ini --BED ./pygenometracks/tests/test_data/regions_chr1XY.bed --trackLabelFraction 0.23 --width 38 -o ./pygenometracks/tests/test_data/master_plot_hic_small_test.png +bin/pgt --tracks ./pygenometracks/tests/test_data/browser_tracks_hic_small_test.ini --region 1:0-200000 --trackLabelFraction 0.23 --width 38 -o ./pygenometracks/tests/test_data/master_plot_hic_small_test.png +bin/pgt --tracks ./pygenometracks/tests/test_data/browser_tracks_hic_small_test.ini --region chrM:0-20000 --trackLabelFraction 0.23 --width 38 -o ./pygenometracks/tests/test_data/master_plot_hic_small_test_chrM.png # test_logScale: bin/pgt --tracks ./pygenometracks/tests/test_data/log1p.ini --region X:2700000-3100000 --trackLabelFraction 0.2 --dpi 130 -o ./pygenometracks/tests/test_data/master_log1p.png diff --git a/pygenometracks/tests/test_data/master_plot_hic_rasterize_height_Y-0-1000000.pdf b/pygenometracks/tests/test_data/master_plot_hic_rasterize_height_Y-0-1000000.pdf index 8a6d410ebbda4bad15f3448c50bc1b8f8f70cff5..7734e4476d075ac4befd7754cdabd701455e54fe 100644 GIT binary patch delta 2257 zcmZvcc}x^n9LF6%3d>OeL5@Wp3Nphr_sou2A=Zjg57elsfQDV_fv|=E`gN zjb+ul-|Vc-eiOVa=?{k;_mguT`mAlkhxXWBI8kw6fa{+6_mSCH8OrtS{%K>({_Qi; zOL}h}414TV7ZK6f)sD5E`m3&`9!vae(%yC0#R6k56Q*}vR2g@6%!HY>rq%8dcDI^J z_=f&&&qSM{etLaTbe8MZ-_~YzrJveA)KOA>toPybbI0j@nc-*dbT_{kX1di&y~5@v zE&27@lJ05e$RJHj$9IQkKhQfDSLcMCF3nCp)lgrz=fvQ#rlU0nGkcZ}I5I89`qum} zDv2NOq#CP~aZY_1n@)D!Ha1t_=`}M3eQ%_4xACaOaf8bT2VW}sT_aZ@SYn6 zKli){CwgEo&npdH@Ic`!uX!-h6E)>e00^Azg~BH9HrOeCzxVkE#!f(Cn{VDo$ap^& z1eW-qaGP=g+~tcw2mdpW^utX3{@DmjS7LBufF9mgq9%W^0)g%RVu(NzCIpC#!2NJA z05x5i$aV5odfEAo)=% z8IY<`D+Q3ksFemNV${+Aij*t`uF+fans1c+BUkNA~sRfjb%m%cK%mMTW65zRjmT@{j%P3v02GAog1)c|JnUtr| zYjtUWmQi{@%hef-fRqgOfCS7OfFcZ1B}cr z1dLo}VQ!j6Z%EbY#Vv9QMSvNhEATadk?CtRdOLBu3f{v5#L2zJePJ{aZ4(s*N#ukR-{AIaz2FA!cN$N&UCfq~t6$ zj)x8GTq8+HtvCBg2)uMEEHw5#8X=9+%#S2^UTmY8Mvw$+#ULp{90Xw$J^!zgAZgYz zAVKodoXrD@ga7U7?pL_EGbyEm1V4EO|U#^c}@sc#aW&cf)m>+B`wzfwmOaytQ}eD zcAHnn3DU(i*LXr@)oPv@g}lq)S?=8gNBht7oKZlB8|K`>7NBr0ZBNc>593OKK=c))%bSYtj`Y$r6+zICy4UjN(7<8=-3e delta 4492 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 F^j|0MCO7~9 diff --git a/pygenometracks/tests/test_data/master_plot_hic_rasterize_height_pdf.png b/pygenometracks/tests/test_data/master_plot_hic_rasterize_height_pdf.png deleted file mode 100644 index 64effd42fa6c14aaa5410d570a8caf2a9f5243c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133492 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�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 diff --git a/pygenometracks/tests/test_data/master_plot_hic_small_test.png b/pygenometracks/tests/test_data/master_plot_hic_small_test.png new file mode 100644 index 0000000000000000000000000000000000000000..53dcfcf476c13947249053425b83c0ce075d15cb GIT binary patch literal 28472 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 kaniN_r?Y4qLtHV0=Pu=P^)c^nh literal 0 HcmV?d00001 diff --git a/pygenometracks/tests/test_data/master_plot_hic_small_test_chrM.png b/pygenometracks/tests/test_data/master_plot_hic_small_test_chrM.png new file mode 100644 index 0000000000000000000000000000000000000000..b705d68906c5e4fc53f857d6ffdb76945bc85847 GIT binary patch literal 25505 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 bdWfk&>!ihWIIwtj>nop6d#?SN{K`K762~S; literal 0 HcmV?d00001 diff --git a/pygenometracks/tests/test_hiCMatrixTracks.py b/pygenometracks/tests/test_hiCMatrixTracks.py index 70460885..2326c30a 100644 --- a/pygenometracks/tests/test_hiCMatrixTracks.py +++ b/pygenometracks/tests/test_hiCMatrixTracks.py @@ -309,7 +309,7 @@ def test_plot_tracks_with_hic_rasterize_height_2chr(): outfile = NamedTemporaryFile(suffix='.pdf', prefix='pyGenomeTracks_test_', delete=False) args = "--tracks {0} --BED {1} "\ - "--trackLabelFraction 0.23 --width 38 --dpi 130 "\ + "--trackLabelFraction 0.23 --width 38 "\ "--dpi 10 --outFileName {2}" \ "".format(os.path.join(ROOT, 'browser_tracks_hic_rasterize_height.ini'), @@ -335,6 +335,25 @@ def test_plot_tracks_with_hic_rasterize_height_2chr(): os.remove(second_file) +def test_plot_tracks_with_hic_rasterize_height_2chr_individual(): + for region in ['X:2500000-2600000', 'Y:0-1000000']: + outfile = NamedTemporaryFile(suffix='.pdf', prefix='pyGenomeTracks_test_', + delete=False) + args = "--tracks {0} --region {1} "\ + "--trackLabelFraction 0.23 --width 38 "\ + "--dpi 10 --outFileName {2}" \ + "".format(os.path.join(ROOT, + 'browser_tracks_hic_rasterize_height.ini'), + region, + outfile.name).split() + pygenometracks.plotTracks.main(args) + res = compare_images(os.path.join(ROOT, + 'master_plot_hic_rasterize_height_' + + region.replace(':', '-') + '.pdf'), + outfile.name, tolerance) + assert res is None, res + + def test_plot_tracks_with_hic_small_test(): outfile = NamedTemporaryFile(suffix='.png', prefix='pyGenomeTracks_test_', @@ -383,3 +402,43 @@ def test_plot_tracks_with_hic_small_test_individual(): assert res is None, res os.remove(outfile.name) + + +def test_plot_tracks_with_hic_small_other_chr_name(): + region = '1:0-200000' + outfile = NamedTemporaryFile(suffix='.png', prefix='pyGenomeTracks_test_', + delete=False) + args = "--tracks {} --region {} "\ + "--trackLabelFraction 0.23 --width 38 " \ + "--outFileName {}" \ + "".format(os.path.join(ROOT, + 'browser_tracks_hic_small_test.ini'), + region, + outfile.name).split() + pygenometracks.plotTracks.main(args) + res = compare_images(os.path.join(ROOT, + 'master_plot_hic_small_test.png'), + outfile.name, tolerance) + assert res is None, res + + os.remove(outfile.name) + + +def test_plot_tracks_with_hic_small_above_chr_length(): + region = 'chrM:0-20000' + outfile = NamedTemporaryFile(suffix='.png', prefix='pyGenomeTracks_test_', + delete=False) + args = "--tracks {} --region {} "\ + "--trackLabelFraction 0.23 --width 38 " \ + "--outFileName {}" \ + "".format(os.path.join(ROOT, + 'browser_tracks_hic_small_test.ini'), + region, + outfile.name).split() + pygenometracks.plotTracks.main(args) + res = compare_images(os.path.join(ROOT, + 'master_plot_hic_small_test_chrM.png'), + outfile.name, tolerance) + assert res is None, res + + os.remove(outfile.name) From f68a2b789bb8222bff9f54890991461c4b2ec1d2 Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Wed, 3 Jun 2020 22:35:17 +0200 Subject: [PATCH 23/34] remove debug prints --- pygenometracks/utilities.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/pygenometracks/utilities.py b/pygenometracks/utilities.py index dd2bf5d2..cec4c2b6 100644 --- a/pygenometracks/utilities.py +++ b/pygenometracks/utilities.py @@ -69,11 +69,9 @@ def file_to_intervaltree(file_name, pRegion=None): :return: interval tree dictionary. They key is the chromosome/contig name and the value is an IntervalTree. Each of the intervals have as 'value' the fields[3:] if any. """ - print("FILE_TO_INTERVALTREE") file_to_open = file_name # Check if we can restrict the interval tree to a region: if pRegion is not None: - print("HERE") # I increase the region to get the intervals: pRegion[1] = max([0, pRegion[1] - AROUND_REGION]) pRegion[2] += AROUND_REGION From 4f559b79019e66b2aef56c2e68ab877f478e5520 Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Wed, 3 Jun 2020 22:36:35 +0200 Subject: [PATCH 24/34] require hicmatrix>=13 --- environment.yml | 2 +- requirements.txt | 2 +- setup.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/environment.yml b/environment.yml index c39787ec..da9796ed 100644 --- a/environment.yml +++ b/environment.yml @@ -11,7 +11,7 @@ dependencies: - intervaltree >=2.1.0 - pybigwig >=0.3.16 - future >=0.17.0 - - hicmatrix >=12 + - hicmatrix >=13 - pysam >=0.14 - pytest - gffutils >=0.9 diff --git a/requirements.txt b/requirements.txt index ee27ede9..a781c25b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,7 +3,7 @@ matplotlib =3.1.1 intervaltree >=2.1.0 pybigwig >=0.3.16 future >=0.17.0 -hicmatrix >=12 +hicmatrix >=13 pysam >=0.14 gffutils >=0.9 pybedtools >=0.8.1 diff --git a/setup.py b/setup.py index a0faf088..6bf3dbee 100644 --- a/setup.py +++ b/setup.py @@ -98,7 +98,7 @@ def checkProgramIsInstalled(self, program, args, where_to_download, "intervaltree >=2.1.0", "pyBigWig >=0.3.16", "future >=0.17.0", - "hicmatrix >=12", + "hicmatrix >=13", "pysam >=0.14", "pytest", "gffutils >=0.9", From 4144cc70edb60304e2d5fd594f346f4c65e4e5c2 Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Wed, 3 Jun 2020 22:40:32 +0200 Subject: [PATCH 25/34] update doc --- docs/content/all_default_properties_rst.txt | 4 +--- docs/content/all_possible_properties.txt | 4 ---- docs/content/tracks/auto/bedgraph_deduced_from_code.txt | 2 -- docs/content/tracks/auto/domains_deduced_from_code.txt | 2 -- docs/content/tracks/auto/hic_matrix_deduced_from_code.txt | 2 -- 5 files changed, 1 insertion(+), 13 deletions(-) diff --git a/docs/content/all_default_properties_rst.txt b/docs/content/all_default_properties_rst.txt index c9fff667..7b8d962a 100644 --- a/docs/content/all_default_properties_rst.txt +++ b/docs/content/all_default_properties_rst.txt @@ -3,7 +3,7 @@ parameter :doc:`tracks/x_axis` :doc:`tracks/epilogos` ========================= ========================= ========================= ========================= ========================= ========================= ========================= ========================= ========================= ========================= ========================= ========================= ========================= ========================= overlay_previous no no no no no no no no no no no no no where bottom left -fontsize 15 12 12 12 12 +fontsize 15 12 12 12 categories_file not set orientation not set not set not set not set not set not set not set not set not set not set not set links_type arcs @@ -47,12 +47,10 @@ y_axis_values second_file* not set not set operation* file file grid false false -use_middle false rasterize false true true pos_score_in_bin center plot_horizontal_lines false colormap viridis RdYlBu_r -region not set depth 100000 show_masked_bins false scale_factor 1 diff --git a/docs/content/all_possible_properties.txt b/docs/content/all_possible_properties.txt index f1639a4a..1bf04eac 100644 --- a/docs/content/all_possible_properties.txt +++ b/docs/content/all_possible_properties.txt @@ -102,10 +102,6 @@ - for *bigwig, bedgraph*: true, false -- **use_middle**: - - - for *bedgraph*: true, false - - **rasterize**: - for *bedgraph, bedgraph_matrix, hic_matrix*: true, false diff --git a/docs/content/tracks/auto/bedgraph_deduced_from_code.txt b/docs/content/tracks/auto/bedgraph_deduced_from_code.txt index a4f835fe..35c47bb7 100644 --- a/docs/content/tracks/auto/bedgraph_deduced_from_code.txt +++ b/docs/content/tracks/auto/bedgraph_deduced_from_code.txt @@ -46,8 +46,6 @@ Optional: - **grid**: `false` (default) or true. -- **use_middle**: `false` (default) or true. - - **rasterize**: `false` (default) or true. diff --git a/docs/content/tracks/auto/domains_deduced_from_code.txt b/docs/content/tracks/auto/domains_deduced_from_code.txt index 0edb6be3..ac43aab7 100644 --- a/docs/content/tracks/auto/domains_deduced_from_code.txt +++ b/docs/content/tracks/auto/domains_deduced_from_code.txt @@ -10,8 +10,6 @@ Optional: - **overlay_previous**: `no` (default) or yes or share-y. -- **fontsize**: `12` (default) or any float above 0 - - **orientation**: by default this option is not set but you can also put: inverted. - **line_width**: `0.5` (default) or any float above 0 diff --git a/docs/content/tracks/auto/hic_matrix_deduced_from_code.txt b/docs/content/tracks/auto/hic_matrix_deduced_from_code.txt index 5b429b9e..0e1581dc 100644 --- a/docs/content/tracks/auto/hic_matrix_deduced_from_code.txt +++ b/docs/content/tracks/auto/hic_matrix_deduced_from_code.txt @@ -22,8 +22,6 @@ Optional: - **colormap**: `RdYlBu_r` (default) -- **region**: by default this option is not set - - **depth**: `100000` (default) or any integer above 1 - **show_masked_bins**: `false` (default) or true. From 0823bef4e6346eb6367baa990052f9a38e4882a8 Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Wed, 3 Jun 2020 22:42:24 +0200 Subject: [PATCH 26/34] linting --- pygenometracks/tests/test_hiCMatrixTracks.py | 14 +++++++------- pygenometracks/tracks/HiCMatrixTrack.py | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pygenometracks/tests/test_hiCMatrixTracks.py b/pygenometracks/tests/test_hiCMatrixTracks.py index 2326c30a..b822183f 100644 --- a/pygenometracks/tests/test_hiCMatrixTracks.py +++ b/pygenometracks/tests/test_hiCMatrixTracks.py @@ -343,9 +343,9 @@ def test_plot_tracks_with_hic_rasterize_height_2chr_individual(): "--trackLabelFraction 0.23 --width 38 "\ "--dpi 10 --outFileName {2}" \ "".format(os.path.join(ROOT, - 'browser_tracks_hic_rasterize_height.ini'), - region, - outfile.name).split() + 'browser_tracks_hic_rasterize_height.ini'), + region, + outfile.name).split() pygenometracks.plotTracks.main(args) res = compare_images(os.path.join(ROOT, 'master_plot_hic_rasterize_height_' @@ -383,7 +383,7 @@ def test_plot_tracks_with_hic_small_test(): # when the matrix is not empty def test_plot_tracks_with_hic_small_test_individual(): - for region in ['chr1:0-500000']: #, 'chrX:2500000-2600000', 'chrY:-0-1000000']: + for region in ['chr1:0-500000']: # , 'chrX:2500000-2600000', 'chrY:-0-1000000']: outfile = NamedTemporaryFile(suffix='.png', prefix='pyGenomeTracks_test_', delete=False) @@ -391,7 +391,7 @@ def test_plot_tracks_with_hic_small_test_individual(): "--trackLabelFraction 0.23 --width 38 " \ "--outFileName {}" \ "".format(os.path.join(ROOT, - 'browser_tracks_hic_small_test.ini'), + 'browser_tracks_hic_small_test.ini'), region, outfile.name).split() pygenometracks.plotTracks.main(args) @@ -407,7 +407,7 @@ def test_plot_tracks_with_hic_small_test_individual(): def test_plot_tracks_with_hic_small_other_chr_name(): region = '1:0-200000' outfile = NamedTemporaryFile(suffix='.png', prefix='pyGenomeTracks_test_', - delete=False) + delete=False) args = "--tracks {} --region {} "\ "--trackLabelFraction 0.23 --width 38 " \ "--outFileName {}" \ @@ -427,7 +427,7 @@ def test_plot_tracks_with_hic_small_other_chr_name(): def test_plot_tracks_with_hic_small_above_chr_length(): region = 'chrM:0-20000' outfile = NamedTemporaryFile(suffix='.png', prefix='pyGenomeTracks_test_', - delete=False) + delete=False) args = "--tracks {} --region {} "\ "--trackLabelFraction 0.23 --width 38 " \ "--outFileName {}" \ diff --git a/pygenometracks/tracks/HiCMatrixTrack.py b/pygenometracks/tracks/HiCMatrixTrack.py index c26828f7..2fc10da8 100644 --- a/pygenometracks/tracks/HiCMatrixTrack.py +++ b/pygenometracks/tracks/HiCMatrixTrack.py @@ -106,7 +106,7 @@ def set_properties_defaults(self): # - the region goes over the chromosome size # or # - the chromosome is not part of the matrix - + logging.getLogger('hicmatrix').setLevel(logging.CRITICAL) try: self.hic_ma = HiCMatrix.hiCMatrix(self.properties['file'], From 2318fa819a9137b8e7927ba606e46ef42ba193f1 Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Wed, 3 Jun 2020 22:58:38 +0200 Subject: [PATCH 27/34] remove redundant test --- pygenometracks/tests/test_hiCMatrixTracks.py | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/pygenometracks/tests/test_hiCMatrixTracks.py b/pygenometracks/tests/test_hiCMatrixTracks.py index b822183f..90fe9e4e 100644 --- a/pygenometracks/tests/test_hiCMatrixTracks.py +++ b/pygenometracks/tests/test_hiCMatrixTracks.py @@ -284,26 +284,6 @@ def test_plot_hic_logmlog(): os.remove(outfile.name) -def test_plot_tracks_with_hic_rasterize_height(): - - outfile = NamedTemporaryFile(suffix='.pdf', prefix='pyGenomeTracks_test_', - delete=False) - args = "--tracks {0} --region X:2500000-2600000 "\ - "--trackLabelFraction 0.23 --width 38 " \ - "--dpi 10 --outFileName {1}" \ - "".format(os.path.join(ROOT, - 'browser_tracks_hic_rasterize_height.ini'), - outfile.name).split() - pygenometracks.plotTracks.main(args) - res = compare_images(os.path.join(ROOT, - 'master_plot_hic_rasterize_height' - '_X-2500000-2600000.pdf'), - outfile.name, tolerance) - assert res is None, res - - os.remove(outfile.name) - - def test_plot_tracks_with_hic_rasterize_height_2chr(): outfile = NamedTemporaryFile(suffix='.pdf', prefix='pyGenomeTracks_test_', From a140022e607dd8b8eee3a48081cd9cb01d765c94 Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Wed, 3 Jun 2020 23:03:29 +0200 Subject: [PATCH 28/34] mv self.img=None on top --- pygenometracks/tracks/HiCMatrixTrack.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pygenometracks/tracks/HiCMatrixTrack.py b/pygenometracks/tracks/HiCMatrixTrack.py index 2fc10da8..bcfd0810 100644 --- a/pygenometracks/tracks/HiCMatrixTrack.py +++ b/pygenometracks/tracks/HiCMatrixTrack.py @@ -86,6 +86,8 @@ def __init__(self, *args, **kwargs): def set_properties_defaults(self): super(HiCMatrixTrack, self).set_properties_defaults() + # Put default img to None for y axis + self.img = None region = None if self.properties['region'] is not None: chrom = self.properties['region'][0] @@ -213,8 +215,6 @@ def set_properties_defaults(self): self.cmap = cm.get_cmap(self.properties['colormap']) self.cmap.set_bad('black') - # Put default img to None for y axis - self.img = None def plot(self, ax, chrom_region, region_start, region_end): if len(self.hic_ma.matrix.data) == 0: From fbf9eb5e2d9bacee2f32c06821cc1f532db71675 Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Wed, 3 Jun 2020 23:05:25 +0200 Subject: [PATCH 29/34] remove useless comments --- pygenometracks/tracks/HiCMatrixTrack.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pygenometracks/tracks/HiCMatrixTrack.py b/pygenometracks/tracks/HiCMatrixTrack.py index bcfd0810..4ec5eb36 100644 --- a/pygenometracks/tracks/HiCMatrixTrack.py +++ b/pygenometracks/tracks/HiCMatrixTrack.py @@ -239,14 +239,10 @@ def plot(self, ax, chrom_region, region_start, region_end): chrom_region = self.check_chrom_str_bytes(chrom_sizes, chrom_region) if region_end > chrom_sizes[chrom_region]: - # raise Exception("*Error*\nThe region to plot extends beyond the chromosome size. Please check.\n" self.log.warning("*Warning*\nThe region to plot extends beyond the chromosome size. Please check.\n" "{} size: {}. Region to plot {}-{}\n".format(chrom_region, chrom_sizes[chrom_region], region_start, region_end)) - # if self.properties['file'].endswith('.cool'): - # # load now the region to be plotted - # pass # expand region to plus depth on both sides # to avoid a 45 degree 'cut' on the edges From 5357f7db6f51477242e95aa1415fb9476eed3b6a Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Thu, 4 Jun 2020 07:36:02 +0200 Subject: [PATCH 30/34] linting --- pygenometracks/tracks/HiCMatrixTrack.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pygenometracks/tracks/HiCMatrixTrack.py b/pygenometracks/tracks/HiCMatrixTrack.py index 4ec5eb36..a00250ef 100644 --- a/pygenometracks/tracks/HiCMatrixTrack.py +++ b/pygenometracks/tracks/HiCMatrixTrack.py @@ -243,7 +243,6 @@ def plot(self, ax, chrom_region, region_start, region_end): "{} size: {}. Region to plot {}-{}\n".format(chrom_region, chrom_sizes[chrom_region], region_start, region_end)) - # expand region to plus depth on both sides # to avoid a 45 degree 'cut' on the edges From c9a32f7cecbf989bd637f139fd6358a06bfa7d27 Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Thu, 4 Jun 2020 10:28:41 +0200 Subject: [PATCH 31/34] change pRegion to plot_regions and intersect with all plot_regions except in HiC. --- pygenometracks/plotTracks.py | 12 +---- pygenometracks/tracks/BedGraphTrack.py | 6 +-- pygenometracks/tracks/BedTrack.py | 40 ++++----------- pygenometracks/tracks/BigWigTrack.py | 6 +-- pygenometracks/tracks/GenomeTrack.py | 16 ------ pygenometracks/tracks/GtfTrack.py | 32 +++--------- pygenometracks/tracks/HiCMatrixTrack.py | 61 ++++++++++++---------- pygenometracks/tracks/LinksTrack.py | 39 +++++--------- pygenometracks/tracksClass.py | 21 ++++---- pygenometracks/utilities.py | 67 ++++++++++++++++--------- 10 files changed, 128 insertions(+), 172 deletions(-) diff --git a/pygenometracks/plotTracks.py b/pygenometracks/plotTracks.py index f8810352..b1e050d6 100644 --- a/pygenometracks/plotTracks.py +++ b/pygenometracks/plotTracks.py @@ -150,7 +150,7 @@ from .utilities import InputError DEFAULT_FIGURE_WIDTH = 40 # in centimeters -HUGE_NUMBER = 1e15 # also used in HiCMatrix +HUGE_NUMBER = 1e15 # Which should be above any chromosome size def parse_arguments(args=None): @@ -298,19 +298,11 @@ def main(args=None): if len(regions) == 0: raise InputError("There is no valid regions to plot.") - # Try to find a region to get the data: - pRegion = None - if len(set([r[0] for r in regions])) == 1: - chrom = regions[0][0] - start = min([r[1] for r in regions]) - end = max([r[2] for r in regions]) - pRegion = [chrom, start, end] - # Create all the tracks trp = PlotTracks(args.tracks.name, args.width, fig_height=args.height, fontsize=args.fontSize, dpi=args.dpi, track_label_width=args.trackLabelFraction, - pRegion=pRegion) + plot_regions=regions) # Plot them if args.BED: diff --git a/pygenometracks/tracks/BedGraphTrack.py b/pygenometracks/tracks/BedGraphTrack.py index 8c3213f5..30349a7d 100644 --- a/pygenometracks/tracks/BedGraphTrack.py +++ b/pygenometracks/tracks/BedGraphTrack.py @@ -1,5 +1,5 @@ from . GenomeTrack import GenomeTrack -from .. utilities import file_to_intervaltree, plot_coverage, InputError, transform +from .. utilities import file_to_intervaltree, plot_coverage, InputError, transform, change_chrom_names import numpy as np import pyBigWig import tempfile @@ -251,7 +251,7 @@ def get_scores(self, chrom_region, start_region, end_region, if tbx is not None: if chrom_region not in tbx.contigs: chrom_region_before = chrom_region - chrom_region = self.change_chrom_names(chrom_region) + chrom_region = change_chrom_names(chrom_region) if chrom_region not in tbx.contigs: self.log.warning("*Warning*\nNeither " + chrom_region_before + " nor " @@ -269,7 +269,7 @@ def get_scores(self, chrom_region, start_region, end_region, inttree = eval(inttree_var) if chrom_region not in list(inttree): chrom_region_before = chrom_region - chrom_region = self.change_chrom_names(chrom_region) + chrom_region = change_chrom_names(chrom_region) if chrom_region not in list(inttree): self.log.warning("*Warning*\nNeither " + chrom_region_before + " nor " diff --git a/pygenometracks/tracks/BedTrack.py b/pygenometracks/tracks/BedTrack.py index 17b1016d..e5c023f7 100644 --- a/pygenometracks/tracks/BedTrack.py +++ b/pygenometracks/tracks/BedTrack.py @@ -3,7 +3,7 @@ # To remove next 1.0 from .. readGtf import ReadGtf # End to remove -from .. utilities import opener, get_length_w, count_lines +from .. utilities import opener, get_length_w, count_lines, temp_file_from_intersect, change_chrom_names import matplotlib from matplotlib import font_manager from matplotlib.patches import Rectangle, Polygon @@ -222,31 +222,13 @@ def set_properties_defaults(self): # to set the distance between rows self.row_scale = 2.3 - def get_bed_handler(self, pRegion=None): - file_to_open = self.properties['file'] - # Check if we can restrict the interval tree to a region: - if pRegion is not None and not self.properties['global_max_row']: - # I increase the region to get the intervals: - pRegion[1] = max([0, pRegion[1] - AROUND_REGION]) - pRegion[2] += AROUND_REGION - # We use pybedtools to overlap: - original_file = pybedtools.BedTool(file_to_open) - # We will overlap with both version of chromosome name: - chrom = self.change_chrom_names(pRegion[0]) - bothRegions = ("{0} {1} {2}\n{3} {1} {2}" - .format(*pRegion, - chrom)) - region = pybedtools.BedTool(bothRegions, from_string=True) - # Bedtools will put a warning because we are using inconsistent - # nomenclature (with and without chr) - sys.stderr = open(tempfile.NamedTemporaryFile().name, 'w') - try: - file_to_open = original_file.intersect(region, wa=True).fn - except pybedtools.helpers.BEDToolsError: - file_to_open = self.properties['file'] - sys.stderr.close() - sys.stderr = sys.__stderr__ - + def get_bed_handler(self, plot_regions=None): + if not self.properties['global_max_row']: + # I do the intersection: + file_to_open = temp_file_from_intersect(self.properties['file'], + plot_regions, AROUND_REGION) + else: + file_to_open = self.properties['file'] # To remove in next 1.0 if self.properties['file'].endswith('gtf') or \ self.properties['file'].endswith('gtf.gz'): @@ -269,9 +251,9 @@ def get_bed_handler(self, pRegion=None): return(bed_file_h, total_length) - def process_bed(self, pRegion=None): + def process_bed(self, plot_regions=None): - bed_file_h, total_length = self.get_bed_handler(pRegion) + bed_file_h, total_length = self.get_bed_handler(plot_regions) self.bed_type = bed_file_h.file_type if self.properties['color'] == 'bed_rgb' and \ @@ -380,7 +362,7 @@ def get_y_pos(self, free_row): def plot(self, ax, chrom_region, start_region, end_region): if chrom_region not in self.interval_tree.keys(): chrom_region_before = chrom_region - chrom_region = self.change_chrom_names(chrom_region) + chrom_region = change_chrom_names(chrom_region) if chrom_region not in self.interval_tree.keys(): self.log.warning("*Warning*\nNeither " + chrom_region_before + " nor " + chrom_region + " existss as a " diff --git a/pygenometracks/tracks/BigWigTrack.py b/pygenometracks/tracks/BigWigTrack.py index 5371cd99..88a3038c 100644 --- a/pygenometracks/tracks/BigWigTrack.py +++ b/pygenometracks/tracks/BigWigTrack.py @@ -1,6 +1,6 @@ from . GenomeTrack import GenomeTrack import numpy as np -from .. utilities import plot_coverage, InputError, transform +from .. utilities import plot_coverage, InputError, transform, change_chrom_names import pyBigWig DEFAULT_BIGWIG_COLOR = '#33a02c' @@ -148,7 +148,7 @@ def plot(self, ax, chrom_region, start_region, end_region): if chrom_region not in self.bw.chroms().keys(): chrom_region_before = chrom_region - chrom_region = self.change_chrom_names(chrom_region) + chrom_region = change_chrom_names(chrom_region) if chrom_region not in self.bw.chroms().keys(): self.log.warning("*Warning*\nNeither " + chrom_region_before + " nor " + chrom_region + " existss as a " @@ -210,7 +210,7 @@ def plot(self, ax, chrom_region, start_region, end_region): chrom_region2 = chrom_region if chrom_region2 not in self.bw2.chroms().keys(): chrom_region_before2 = chrom_region2 - chrom_region2 = self.change_chrom_names(chrom_region2) + chrom_region2 = change_chrom_names(chrom_region2) if chrom_region2 not in self.bw2.chroms().keys(): self.log.warning("*Warning*\nNeither " + chrom_region_before2 + " nor " diff --git a/pygenometracks/tracks/GenomeTrack.py b/pygenometracks/tracks/GenomeTrack.py index 22658c55..3ba744c5 100644 --- a/pygenometracks/tracks/GenomeTrack.py +++ b/pygenometracks/tracks/GenomeTrack.py @@ -403,22 +403,6 @@ def process_color(self, param, colormap_possible=False, self.properties[param] = valid_colormap return True - @staticmethod - def change_chrom_names(chrom): - """ - Changes UCSC chromosome names to ensembl chromosome names - and vice versa. - """ - # TODO: mapping from chromosome names like mithocondria is missing - if chrom.startswith('chr'): - # remove the chr part from chromosome name - chrom = chrom[3:] - else: - # prefix with 'chr' the chromosome name - chrom = 'chr' + chrom - - return chrom - @staticmethod def check_chrom_str_bytes(iteratable_obj, p_obj): # determine type diff --git a/pygenometracks/tracks/GtfTrack.py b/pygenometracks/tracks/GtfTrack.py index 140fa101..74555f5a 100644 --- a/pygenometracks/tracks/GtfTrack.py +++ b/pygenometracks/tracks/GtfTrack.py @@ -2,6 +2,7 @@ from . BedTrack import BedTrack from .. readGtf import ReadGtf from matplotlib import font_manager +from .. utilities import temp_file_from_intersect import numpy as np import pybedtools import sys @@ -152,30 +153,13 @@ def set_properties_defaults(self): # to set the distance between rows self.row_scale = 2.3 - def get_bed_handler(self, pRegion=None): - file_to_open = self.properties['file'] - # Check if we can restrict the interval tree to a region: - if pRegion is not None and not self.properties['global_max_row']: - # I increase the region to get the intervals: - pRegion[1] = max([0, pRegion[1] - AROUND_REGION]) - pRegion[2] += AROUND_REGION - # We use pybedtools to overlap: - original_file = pybedtools.BedTool(file_to_open) - # We will overlap with both version of chromosome name: - chrom = self.change_chrom_names(pRegion[0]) - bothRegions = ("{0} {1} {2}\n{3} {1} {2}" - .format(*pRegion, - chrom)) - region = pybedtools.BedTool(bothRegions, from_string=True) - # Bedtools will put a warning because we are using inconsistent - # nomenclature (with and without chr) - sys.stderr = open(tempfile.NamedTemporaryFile().name, 'w') - try: - file_to_open = original_file.intersect(region, wa=True).fn - except pybedtools.helpers.BEDToolsError: - file_to_open = self.properties['file'] - sys.stderr.close() - sys.stderr = sys.__stderr__ + def get_bed_handler(self, plot_regions=None): + if not self.properties['global_max_row']: + # I do the intersection: + file_to_open = temp_file_from_intersect(self.properties['file'], + plot_regions, AROUND_REGION) + else: + file_to_open = self.properties['file'] bed_file_h = ReadGtf(file_to_open, self.properties['prefered_name'], diff --git a/pygenometracks/tracks/HiCMatrixTrack.py b/pygenometracks/tracks/HiCMatrixTrack.py index a00250ef..2909d087 100644 --- a/pygenometracks/tracks/HiCMatrixTrack.py +++ b/pygenometracks/tracks/HiCMatrixTrack.py @@ -7,11 +7,10 @@ import numpy as np from matplotlib.ticker import LogFormatter from . GenomeTrack import GenomeTrack +from .. utilities import change_chrom_names import logging import itertools -# Used in case no end of a genomic interval was set: -HUGE_NUMBER = 1e15 # also used in plotTracks DEFAULT_MATRIX_COLORMAP = 'RdYlBu_r' logging.basicConfig(level=logging.DEBUG) log = logging.getLogger(__name__) @@ -90,25 +89,25 @@ def set_properties_defaults(self): self.img = None region = None if self.properties['region'] is not None: - chrom = self.properties['region'][0] - if self.properties['region'][2] == HUGE_NUMBER: - region = [chrom] - elif len(self.properties['region']) == 3: - start = self.properties['region'][1] - self.properties['depth'] - if start < 0: - start = 0 - end = self.properties['region'][2] + self.properties['depth'] - + # We need to restrict it to a single region because + # HiCMatrix does not accept more + # We check if everything is on a single chrom: + if len(set([r[0] for r in self.properties['region']])) == 1: + chrom = self.properties['region'][0][0] + start = min([r[1] for r in self.properties['region']]) + end = max([r[2] for r in self.properties['region']]) + # I extend of depth to avoid triangle effect in the plot + start = max(0, start - self.properties['depth']) + end += self.properties['depth'] region = ["{}:{}-{}".format(chrom, start, end)] - else: - region = None - # open with end region +/- depth to avoid triangle effect in the plot - # Cooler and thus HiCMatrix will raise an error if: + # Cooler and thus HiCMatrix with cool file will raise an error if: # - the file is a cool file and: # - the region goes over the chromosome size # or # - the chromosome is not part of the matrix + # We need to change the log level because we don't want + # the user to see all the errors raised during the try except logging.getLogger('hicmatrix').setLevel(logging.CRITICAL) try: self.hic_ma = HiCMatrix.hiCMatrix(self.properties['file'], @@ -119,12 +118,11 @@ def set_properties_defaults(self): rs = region[0].split(':') chrom_region = rs[0] chrom_region_before = chrom_region - chrom_region = self.change_chrom_names(chrom_region) + chrom_region = change_chrom_names(chrom_region) if len(rs) == 2: region = ["{}:{}".format(chrom_region, rs[1])] else: region = [chrom_region] - print(region) try: self.hic_ma = HiCMatrix.hiCMatrix(self.properties['file'], pChrnameList=region) @@ -150,14 +148,18 @@ def set_properties_defaults(self): raise ve else: raise ve + # We put back the log to warning logging.getLogger('hicmatrix').setLevel(logging.WARNING) if len(self.hic_ma.matrix.data) == 0: - if self.properties['region'] is None: + if region is None: + # This is not due to a restriction of the matrix raise Exception("Matrix {} is empty".format(self.properties['file'])) else: return - + # We need to get the size before masking bins because + # HiCMatrix v13 give smaller chromosome_sizes after: + self.chrom_sizes = self.hic_ma.get_chromosome_sizes() if self.properties['show_masked_bins']: pass else: @@ -225,11 +227,10 @@ def plot(self, ax, chrom_region, region_start, region_end): return log.debug('chrom_region {}, region_start {}, region_end {}'.format(chrom_region, region_start, region_end)) - chrom_sizes = self.hic_ma.get_chromosome_sizes() - if chrom_region not in chrom_sizes: + if chrom_region not in self.chrom_sizes: chrom_region_before = chrom_region - chrom_region = self.change_chrom_names(chrom_region) - if chrom_region not in chrom_sizes: + chrom_region = change_chrom_names(chrom_region) + if chrom_region not in self.chrom_sizes: self.log.warning("*Warning*\nNeither " + chrom_region_before + " nor " + chrom_region + " exists as a " "chromosome name on the matrix. " @@ -237,12 +238,20 @@ def plot(self, ax, chrom_region, region_start, region_end): self.img = None return - chrom_region = self.check_chrom_str_bytes(chrom_sizes, chrom_region) - if region_end > chrom_sizes[chrom_region]: + chrom_region = self.check_chrom_str_bytes(self.chrom_sizes, chrom_region) + if region_end > self.chrom_sizes[chrom_region]: self.log.warning("*Warning*\nThe region to plot extends beyond the chromosome size. Please check.\n" - "{} size: {}. Region to plot {}-{}\n".format(chrom_region, chrom_sizes[chrom_region], + "{} size: {}. Region to plot {}-{}\n".format(chrom_region, self.chrom_sizes[chrom_region], region_start, region_end)) + # A chromosome may disappear if it was full of Nan and nan bins were masked: + if chrom_region not in self.hic_ma.get_chromosome_sizes(): + self.log.warning("*Warning*\nThere is no data for the region " + "considered on the matrix. " + "This will generate an empty track!!\n") + self.img = None + return + # expand region to plus depth on both sides # to avoid a 45 degree 'cut' on the edges diff --git a/pygenometracks/tracks/LinksTrack.py b/pygenometracks/tracks/LinksTrack.py index 38cc4c10..9c09c606 100644 --- a/pygenometracks/tracks/LinksTrack.py +++ b/pygenometracks/tracks/LinksTrack.py @@ -5,12 +5,13 @@ import numpy as np import matplotlib.pyplot as plt from matplotlib.patches import Arc, Polygon -from .. utilities import opener, to_string +from .. utilities import opener, to_string, change_chrom_names, temp_file_from_intersect import sys import tempfile import pybedtools DEFAULT_LINKS_COLOR = 'blue' +HUGE_NUMBER = 1e15 # Which should be above any chromosome size class LinksTrack(GenomeTrack): @@ -160,7 +161,7 @@ def plot(self, ax, chrom_region, region_start, region_end): if chrom_region not in list(self.interval_tree): chrom_region_before = chrom_region - chrom_region = self.change_chrom_names(chrom_region) + chrom_region = change_chrom_names(chrom_region) if chrom_region not in list(self.interval_tree): self.log.warning("*Warning*\nNeither " + chrom_region_before + " nor " + chrom_region + " existss as a " @@ -322,34 +323,20 @@ def plot_loops(self, ax, loop): if y2 > self.max_height: self.max_height = y2 - def process_link_file(self, pRegion): + def process_link_file(self, plot_regions): # the file format expected is similar to file format of links in # circos: # chr1 100 200 chr1 250 300 0.5 # where the last value is a score. - file_to_open = self.properties['file'] - # Check if we can restrict the interval tree to a region: - if pRegion is not None: - # I will keep all links whose first member is in the chromosome: - pRegion[1] = 0 - pRegion[2] = 1e15 # a huge number - # We use pybedtools to overlap: - original_file = pybedtools.BedTool(file_to_open) - # We will overlap with both version of chromosome name: - chrom = self.change_chrom_names(pRegion[0]) - bothRegions = ("{0} {1} {2}\n{3} {1} {2}" - .format(*pRegion, - chrom)) - region = pybedtools.BedTool(bothRegions, from_string=True) - # Bedtools will put a warning because I am using inconsistent - # nomenclature (with and without chr) - sys.stderr = open(tempfile.NamedTemporaryFile().name, 'w') - try: - file_to_open = original_file.intersect(region, wa=True).fn - except pybedtools.helpers.BEDToolsError: - file_to_open = self.properties['file'] - sys.stderr.close() - sys.stderr = sys.__stderr__ + + if plot_regions is None: + file_to_open = self.properties['file'] + else: + # To be sure we do not miss links we will intersect with bed with + # only chromosomes used in plot_regions + plot_regions_adapted = [(chrom, 0, HUGE_NUMBER) for chrom, __, __ in plot_regions] + file_to_open = temp_file_from_intersect(self.properties['file'], + plot_regions_adapted) valid_intervals = 0 interval_tree = {} diff --git a/pygenometracks/tracksClass.py b/pygenometracks/tracksClass.py index 3f1d2d48..c8677c30 100644 --- a/pygenometracks/tracksClass.py +++ b/pygenometracks/tracksClass.py @@ -12,7 +12,7 @@ import matplotlib.gridspec import matplotlib.cm import mpl_toolkits.axisartist as axisartist -from . utilities import file_to_intervaltree +from . utilities import file_to_intervaltree, change_chrom_names from collections import OrderedDict from pygenometracks.tracks.GenomeTrack import GenomeTrack from pygenometracks.utilities import InputError @@ -66,7 +66,7 @@ class PlotTracks(object): def __init__(self, tracks_file, fig_width=DEFAULT_FIGURE_WIDTH, fig_height=None, fontsize=None, dpi=None, track_label_width=None, - pRegion=None): + plot_regions=None): self.fig_width = fig_width self.fig_height = fig_height self.dpi = dpi @@ -75,7 +75,7 @@ def __init__(self, tracks_file, fig_width=DEFAULT_FIGURE_WIDTH, self.track_list = None start = self.print_elapsed(None) self.available_tracks = self.get_available_tracks() - self.parse_tracks(tracks_file, pRegion=pRegion) + self.parse_tracks(tracks_file, plot_regions=plot_regions) if fontsize: fontsize = fontsize else: @@ -98,7 +98,7 @@ def __init__(self, tracks_file, fig_width=DEFAULT_FIGURE_WIDTH, log.info("initialize {}".format(properties['section_name'])) # the track_class is obtained from the available tracks track_class = self.available_tracks[properties['file_type']] - properties['region'] = pRegion + properties['region'] = plot_regions self.track_obj_list.append(track_class(properties)) log.info("time initializing track(s):") @@ -299,7 +299,7 @@ def plot_vlines(self, axis_list, chrom_region, start_region, end_region): if chrom_region not in list(self.vlines_intval_tree): chrom_region_before = chrom_region - chrom_region = GenomeTrack.change_chrom_names(chrom_region) + chrom_region = change_chrom_names(chrom_region) if chrom_region not in list(self.vlines_intval_tree): log.warning("*Warning*\nNeither " + chrom_region_before + " nor " @@ -323,14 +323,14 @@ def plot_vlines(self, axis_list, chrom_region, start_region, end_region): return - def parse_tracks(self, tracks_file, pRegion=None): + def parse_tracks(self, tracks_file, plot_regions=None): """ Parses a configuration file :param tracks_file: file path containing the track configuration - :param pRegion: a list [chrom, start, end] - on which the data should be loaded - here the vlines + :param plot_regions: a list of tuple [(chrom1, start1, end1), (chrom2, start2, end2)] + on which the data should be loaded + here the vlines :return: array of dictionaries and vlines_file. One dictionary per track """ @@ -522,7 +522,8 @@ def parse_tracks(self, tracks_file, pRegion=None): self.track_list = track_list if self.vlines_properties: self.vlines_intval_tree, __, __ = \ - file_to_intervaltree(self.vlines_properties['file'], pRegion) + file_to_intervaltree(self.vlines_properties['file'], + plot_regions) def close_files(self): """ diff --git a/pygenometracks/utilities.py b/pygenometracks/utilities.py index cec4c2b6..4f715599 100644 --- a/pygenometracks/utilities.py +++ b/pygenometracks/utilities.py @@ -7,8 +7,6 @@ import tempfile import warnings -AROUND_REGION = 100000 - class InputError(Exception): """Exception raised for errors in the input.""" @@ -60,44 +58,47 @@ def opener(filename): return f -def file_to_intervaltree(file_name, pRegion=None): +def temp_file_from_intersect(file_name, plot_regions=None, around_region=0): """ - converts a BED like file into a bx python interval tree + intersect file_name with the plot_regions +/- around_region :param file_name: string file name - :param pRegion: a list [chrom, start, end] with the region to restrict - the data to. - :return: interval tree dictionary. They key is the chromosome/contig name and the - value is an IntervalTree. Each of the intervals have as 'value' the fields[3:] if any. + :param plot_regions:a list of tuple [(chrom1, start1, end1), (chrom2, start2, end2)] + with the region to restrict the data to. + :param around_region: integer with the bp to extend to plot_regions + :return: temporary file with the intersection """ file_to_open = file_name # Check if we can restrict the interval tree to a region: - if pRegion is not None: - # I increase the region to get the intervals: - pRegion[1] = max([0, pRegion[1] - AROUND_REGION]) - pRegion[2] += AROUND_REGION + if plot_regions is not None: # We use pybedtools to overlap: original_file = pybedtools.BedTool(file_name) + # We extend the start and end: + plot_regions_ext = [(chrom, max(0, start - around_region), end + around_region) for chrom, start, end in plot_regions] # We will overlap with both version of chromosome name: - chrom = pRegion[0] - if chrom.startswith('chr'): - # remove the chr part from chromosome name - chrom = chrom[3:] - else: - # prefix with 'chr' the chromosome name - chrom = 'chr' + chrom - bothRegions = ("{0} {1} {2}\n{3} {1} {2}" - .format(*pRegion, - chrom)) - region = pybedtools.BedTool(bothRegions, from_string=True) - # Bedtools will put a warning because I am using inconsistent + plot_regions_as_bed = '\n'.join([f'{chrom} {start} {end}\n{change_chrom_names(chrom)} {start} {end}' for chrom, start, end in plot_regions_ext]) + regions = pybedtools.BedTool(plot_regions_as_bed, from_string=True) + # Bedtools will put a warning because we are using inconsistent # nomenclature (with and without chr) sys.stderr = open(tempfile.NamedTemporaryFile().name, 'w') try: - file_to_open = original_file.intersect(region, wa=True).fn + file_to_open = original_file.intersect(regions, wa=True, u=True).fn except pybedtools.helpers.BEDToolsError: file_to_open = file_name sys.stderr.close() sys.stderr = sys.__stderr__ + return file_to_open + + +def file_to_intervaltree(file_name, plot_regions=None): + """ + converts a BED like file into a bx python interval tree + :param file_name: string file name + :param plot_regions:a list of tuple [(chrom1, start1, end1), (chrom2, start2, end2)] + with the region to restrict the data to. + :return: interval tree dictionary. They key is the chromosome/contig name and the + value is an IntervalTree. Each of the intervals have as 'value' the fields[3:] if any. + """ + file_to_open = temp_file_from_intersect(file_name, plot_regions, 0) # iterate over a BED like file # saving the data into an interval tree # for quick retrieval @@ -297,3 +298,19 @@ def count_lines(file_h, asBed=False): n += 1 file_h.close() return(n) + + +def change_chrom_names(chrom): + """ + Changes UCSC chromosome names to ensembl chromosome names + and vice versa. + """ + # TODO: mapping from chromosome names like mithocondria is missing + if chrom.startswith('chr'): + # remove the chr part from chromosome name + chrom = chrom[3:] + else: + # prefix with 'chr' the chromosome name + chrom = 'chr' + chrom + + return chrom From 96fbd6b88e9bcf89cae21064d60bb173bce58dfd Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Thu, 4 Jun 2020 10:51:26 +0200 Subject: [PATCH 32/34] update tests/doc to use imbricated bed --- docs/content/examples.rst | 10 ++- pygenometracks/tests/generateAllOutput.sh | 3 +- pygenometracks/tests/test_bedGraphTrack.py | 67 +++++++++++------- .../test_data/master_bedgraph_useMid.png | Bin 109845 -> 0 bytes ...bedgraph_useMid_chr2-73800000-75744000.png | Bin 0 -> 109658 bytes ...bedgraph_useMid_chr2-74000000-74800000.png | Bin 0 -> 88872 bytes .../test_data/master_bedgraph_useMid_pdf.png | Bin 0 -> 17690 bytes .../test_data/master_bedgraph_useMid_zoom.png | Bin 89174 -> 0 bytes .../test_data/regions_imbricated_chr2.bed | 3 + 9 files changed, 52 insertions(+), 31 deletions(-) delete mode 100644 pygenometracks/tests/test_data/master_bedgraph_useMid.png create mode 100644 pygenometracks/tests/test_data/master_bedgraph_useMid_chr2-73800000-75744000.png create mode 100644 pygenometracks/tests/test_data/master_bedgraph_useMid_chr2-74000000-74800000.png create mode 100644 pygenometracks/tests/test_data/master_bedgraph_useMid_pdf.png delete mode 100644 pygenometracks/tests/test_data/master_bedgraph_useMid_zoom.png create mode 100644 pygenometracks/tests/test_data/regions_imbricated_chr2.bed diff --git a/docs/content/examples.rst b/docs/content/examples.rst index 94d02d1e..3bde59ec 100644 --- a/docs/content/examples.rst +++ b/docs/content/examples.rst @@ -106,12 +106,18 @@ The output file of some 4C-seq pipeline are bedgraph where the coordinates are t .. literalinclude:: ../../pygenometracks/tests/test_data/bedgraph_useMid.ini :language: INI + +We can generate two zooms using a bed instead of regions: + +.. literalinclude:: ../../pygenometracks/tests/test_data/regions_imbricated_chr2.bed .. code:: bash - $ pyGenomeTracks --tracks bedgraph_useMid.ini --region chr2:73,800,000-75,744,000 --trackLabelFraction 0.2 --width 38 --dpi 130 -o master_bedgraph_useMid.pdf + $ pyGenomeTracks --tracks bedgraph_useMid.ini --BED regions_imbricated_chr2.bed --trackLabelFraction 0.2 --width 38 --dpi 130 -o master_bedgraph_useMid.png + +.. image:: ../../pygenometracks/tests/test_data/master_bedgraph_useMid_chr2-73800000-75744000.png -The output is available `here `_. +.. image:: ../../pygenometracks/tests/test_data/master_bedgraph_useMid_chr2-74000000-74800000.png Examples with peaks diff --git a/pygenometracks/tests/generateAllOutput.sh b/pygenometracks/tests/generateAllOutput.sh index 5515dc80..d95a0c82 100644 --- a/pygenometracks/tests/generateAllOutput.sh +++ b/pygenometracks/tests/generateAllOutput.sh @@ -18,8 +18,7 @@ bin/pgt --tracks ./pygenometracks/tests/test_data/bed_colormap_genes.ini --regio bin/pgt --tracks ./pygenometracks/tests/test_data/bedgraph.ini --region X:2850000-3150000 --trackLabelFraction 0.2 --dpi 130 -o ./pygenometracks/tests/test_data/master_bedgraph.png # test bedGraphTrack: -bin/pgt --tracks ./pygenometracks/tests/test_data/bedgraph_useMid.ini --region chr2:73,800,000-75,744,000 --trackLabelFraction 0.2 --width 38 --dpi 130 -o ./pygenometracks/tests/test_data/master_bedgraph_useMid.png -bin/pgt --tracks ./pygenometracks/tests/test_data/bedgraph_useMid.ini --region chr2:74,000,000-74,800,000 --trackLabelFraction 0.2 --width 38 --dpi 130 -o ./pygenometracks/tests/test_data/master_bedgraph_useMid_zoom.png +bin/pgt --tracks ./pygenometracks/tests/test_data/bedgraph_useMid.ini --BED ./pygenometracks/tests/test_data/regions_imbricated_chr2.bed --trackLabelFraction 0.2 --width 38 --dpi 130 -o ./pygenometracks/tests/test_data/master_bedgraph_useMid.png bin/pgt --tracks ./pygenometracks/tests/test_data/bedgraph_useMid.ini --region chr2:73,800,000-75,744,000 --trackLabelFraction 0.2 --width 38 --dpi 130 -o ./pygenometracks/tests/test_data/master_bedgraph_useMid.pdf bin/pgt --tracks ./pygenometracks/tests/test_data/operation_bdg.ini --region X:2700000-3100000 --trackLabelFraction 0.2 --dpi 130 -o ./pygenometracks/tests/test_data/master_operation_bdg.png diff --git a/pygenometracks/tests/test_bedGraphTrack.py b/pygenometracks/tests/test_bedGraphTrack.py index ba8389ca..dfad0548 100644 --- a/pygenometracks/tests/test_bedGraphTrack.py +++ b/pygenometracks/tests/test_bedGraphTrack.py @@ -134,38 +134,51 @@ tolerance = 13 # default matplotlib pixed difference tolerance -def test_plot_bedgraph_tracks(): +def test_plot_bedgraph_tracks_with_bed(): + extension = '.png' - outfile = NamedTemporaryFile(suffix='.png', prefix='pyGenomeTracks_test_', delete=False) - args = "--tracks {0} --region chr2:73,800,000-75,744,000 "\ - "--trackLabelFraction 0.2 --width 38 --dpi 130 " \ - "--outFileName {1}" \ - "".format(os.path.join(ROOT, "bedgraph_useMid.ini"), - outfile.name).split() - pygenometracks.plotTracks.main(args) - print("saving test to {}".format(outfile.name)) - res = compare_images(os.path.join(ROOT, 'master_bedgraph_useMid.png'), - outfile.name, tolerance) - assert res is None, res - - os.remove(outfile.name) - - -def test_plot_bedgraph_tracks_zoom(): - - outfile = NamedTemporaryFile(suffix='.png', prefix='pyGenomeTracks_test_', delete=False) - args = "--tracks {0} --region chr2:74,000,000-74,800,000 "\ + outfile = NamedTemporaryFile(suffix= extension, prefix='pyGenomeTracks_test_', + delete=False) + args = "--tracks {0} --BED {1} "\ "--trackLabelFraction 0.2 --width 38 --dpi 130 " \ - "--outFileName {1}" \ + "--outFileName {2}" \ "".format(os.path.join(ROOT, "bedgraph_useMid.ini"), + os.path.join(ROOT, 'regions_imbricated_chr2.bed'), outfile.name).split() pygenometracks.plotTracks.main(args) - print("saving test to {}".format(outfile.name)) - res = compare_images(os.path.join(ROOT, 'master_bedgraph_useMid_zoom.png'), - outfile.name, tolerance) - assert res is None, res - - os.remove(outfile.name) + for region in ['chr2:73800000-75744000', 'chr2:74000000-74800000']: + region_str = region.replace(':', '-') + output_file = outfile.name[:-4] + '_' + region_str + extension + res = compare_images(os.path.join(ROOT, + 'master_bedgraph_useMid_' + + region_str + extension), + output_file, tolerance) + assert res is None, res + + os.remove(output_file) + + +def test_plot_bedgraph_tracks_individual(): + extension = '.png' + + for region in ['chr2:73800000-75744000', 'chr2:74000000-74800000']: + outfile = NamedTemporaryFile(suffix= extension, prefix='pyGenomeTracks_test_', + delete=False) + args = "--tracks {0} --region {1} "\ + "--trackLabelFraction 0.2 --width 38 --dpi 130 " \ + "--outFileName {2}" \ + "".format(os.path.join(ROOT, "bedgraph_useMid.ini"), + region, + outfile.name).split() + pygenometracks.plotTracks.main(args) + region_str = region.replace(':', '-') + res = compare_images(os.path.join(ROOT, + 'master_bedgraph_useMid_' + + region_str + extension), + outfile.name, tolerance) + assert res is None, res + + os.remove(outfile.name) def test_plot_bedgraph_tracks_rasterize(): diff --git a/pygenometracks/tests/test_data/master_bedgraph_useMid.png b/pygenometracks/tests/test_data/master_bedgraph_useMid.png deleted file mode 100644 index d8c3149fbee0b6b66104afbca1bd309d8650df71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109845 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�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 DyJp2= diff --git a/pygenometracks/tests/test_data/master_bedgraph_useMid_chr2-73800000-75744000.png b/pygenometracks/tests/test_data/master_bedgraph_useMid_chr2-73800000-75744000.png new file mode 100644 index 0000000000000000000000000000000000000000..e4d331babcc17c9256ea315c272d3301d4fa4e5e GIT binary patch literal 109658 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 +F|Xr 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

{3zSeJ&oa8I}Vs)MGZ}Me>T?fn>KBN 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 literal 0 HcmV?d00001 diff --git a/pygenometracks/tests/test_data/master_bedgraph_useMid_chr2-74000000-74800000.png b/pygenometracks/tests/test_data/master_bedgraph_useMid_chr2-74000000-74800000.png new file mode 100644 index 0000000000000000000000000000000000000000..b8276f2e23c0f25caee3126deddc04f3213261ca GIT binary patch literal 88872 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.d-}^K+qo)u#aJ#4y8Fzotht@I0j~BUVzUf73vup z7`TI8+{E2`%eUw%qbSH72vRpq@w1?%Squ;ez*98ZL@c6yH=-nNfanIo$1H%uzMBYb zp3|8{GHSuaR-((uq}21Vh=q2ZPmEzOESqE<1xzDGAVlWy5xsfgBL%SQ@Kae?S^wz?P@ky)w}lFk z@yiQ+@-F>+PC#9Nrv^RANxRBFm#u@#9$?P_)lDhMJbi$~+3N6Xfnwb#u$c0(^Qk3Q zr4>TItA{{JGfgiy2$IV?0<+G1`WNVBwZkH5x=29?=`!9>4B#ULP{^ml&mmr$3KGEj zGf?H80gEDkJ75c(xuM>IFNuiQH?Bf2i}C=&TsNHL@9%HxO$Me?yvufwhe0S(9&oU< zakB#@mjZyBbimztBJu@b3XNJ9aB8|b2NZQW%Lg&?>;9aw+CY%7Q4FQT2biH~*vl@vqxG z77p0+!z|ddjG`gOROGsFx4Afn?{6;Z285YCYnhOw7<7*!sH}!f^ z8{o__{DzsCnw|{Zy&Nmh?SJ_+DxTX8e#^DI_a8BgmGI){(+>k?aM9(cCi`)54}%Fz)G%b z@jsOC|Bd+Ue>evI^DTzPA;7@3JS9c)1Qe~;pzI_z$C0Dh97(l0gdhLE z{Sg0O{^S;JJL(i>)KF7n2WSQbW|az-^BtD^Xd)K+KP?UWpJ0EEp#lC6U;js;`v238 z`DbDc8yY^nk$D^;DQSh{6bPexH!p+9xA0NHB|tYBrU3Flhnu^Ln?WK%2qMMza9UUb zh#9&0LSLwFNnL#~;5ZRn1ssUG02nVJ?j>YFwGkej?~9;d*Xo|-ostmqZh55kUXzuT zJpa%if~kjp-m2=arAsuhEE85sZTAI$UqrLad$`e6tTHV?*b5}(+1AF z1?&x}<@12!%maok0}28Tg3cMD7%`?r^-QFb7#J8FQOyDTloZ5d$bCd`S|Bh0kw1(0 zNyJWjI}PgKVdA5GJkqNjL66!KAy>$}z_SIMUkcHk!{{DiuKo|4hA>wJkZxMUAR>Yg z?K%*bdE(TmLSSUGAo{k$joHkAAzMlkxE+Ehevh6t13JJ)cnZ7*K?Ixu*qsVO9gWpm z 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 An*aa+ literal 0 HcmV?d00001 diff --git a/pygenometracks/tests/test_data/master_bedgraph_useMid_pdf.png b/pygenometracks/tests/test_data/master_bedgraph_useMid_pdf.png new file mode 100644 index 0000000000000000000000000000000000000000..42c40e2c9be49a50a78f6946c834293ddaa50779 GIT binary patch literal 17690 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 Uq*8>b$Tu4Em&^*0YN$PrT_o{ diff --git a/pygenometracks/tests/test_data/regions_imbricated_chr2.bed b/pygenometracks/tests/test_data/regions_imbricated_chr2.bed new file mode 100644 index 00000000..adef7d87 --- /dev/null +++ b/pygenometracks/tests/test_data/regions_imbricated_chr2.bed @@ -0,0 +1,3 @@ +track type=bed name=regions_to_plot +chr2 73800000 75744000 +chr2 74000000 74800000 \ No newline at end of file From 254c911776cfbc9497738bba8c5eaef26722d181 Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Thu, 4 Jun 2020 10:56:03 +0200 Subject: [PATCH 33/34] linting --- pygenometracks/tests/test_bedGraphTrack.py | 12 ++++++------ pygenometracks/tracks/BedTrack.py | 3 --- pygenometracks/tracks/GtfTrack.py | 3 --- pygenometracks/tracks/LinksTrack.py | 3 --- 4 files changed, 6 insertions(+), 15 deletions(-) diff --git a/pygenometracks/tests/test_bedGraphTrack.py b/pygenometracks/tests/test_bedGraphTrack.py index dfad0548..c408bc5d 100644 --- a/pygenometracks/tests/test_bedGraphTrack.py +++ b/pygenometracks/tests/test_bedGraphTrack.py @@ -137,7 +137,7 @@ def test_plot_bedgraph_tracks_with_bed(): extension = '.png' - outfile = NamedTemporaryFile(suffix= extension, prefix='pyGenomeTracks_test_', + outfile = NamedTemporaryFile(suffix=extension, prefix='pyGenomeTracks_test_', delete=False) args = "--tracks {0} --BED {1} "\ "--trackLabelFraction 0.2 --width 38 --dpi 130 " \ @@ -150,8 +150,8 @@ def test_plot_bedgraph_tracks_with_bed(): region_str = region.replace(':', '-') output_file = outfile.name[:-4] + '_' + region_str + extension res = compare_images(os.path.join(ROOT, - 'master_bedgraph_useMid_' + - region_str + extension), + 'master_bedgraph_useMid_' + + region_str + extension), output_file, tolerance) assert res is None, res @@ -162,7 +162,7 @@ def test_plot_bedgraph_tracks_individual(): extension = '.png' for region in ['chr2:73800000-75744000', 'chr2:74000000-74800000']: - outfile = NamedTemporaryFile(suffix= extension, prefix='pyGenomeTracks_test_', + outfile = NamedTemporaryFile(suffix=extension, prefix='pyGenomeTracks_test_', delete=False) args = "--tracks {0} --region {1} "\ "--trackLabelFraction 0.2 --width 38 --dpi 130 " \ @@ -173,8 +173,8 @@ def test_plot_bedgraph_tracks_individual(): pygenometracks.plotTracks.main(args) region_str = region.replace(':', '-') res = compare_images(os.path.join(ROOT, - 'master_bedgraph_useMid_' + - region_str + extension), + 'master_bedgraph_useMid_' + + region_str + extension), outfile.name, tolerance) assert res is None, res diff --git a/pygenometracks/tracks/BedTrack.py b/pygenometracks/tracks/BedTrack.py index e5c023f7..1d983f8f 100644 --- a/pygenometracks/tracks/BedTrack.py +++ b/pygenometracks/tracks/BedTrack.py @@ -11,9 +11,6 @@ import matplotlib.pyplot as plt from intervaltree import IntervalTree, Interval import numpy as np -import pybedtools -import sys -import tempfile from tqdm import tqdm DEFAULT_BED_COLOR = '#1f78b4' diff --git a/pygenometracks/tracks/GtfTrack.py b/pygenometracks/tracks/GtfTrack.py index 74555f5a..a8ff9369 100644 --- a/pygenometracks/tracks/GtfTrack.py +++ b/pygenometracks/tracks/GtfTrack.py @@ -4,9 +4,6 @@ from matplotlib import font_manager from .. utilities import temp_file_from_intersect import numpy as np -import pybedtools -import sys -import tempfile DEFAULT_BED_COLOR = '#1f78b4' DISPLAY_BED_VALID = ['collapsed', 'triangles', 'interleaved', 'stacked'] diff --git a/pygenometracks/tracks/LinksTrack.py b/pygenometracks/tracks/LinksTrack.py index 9c09c606..935129b0 100644 --- a/pygenometracks/tracks/LinksTrack.py +++ b/pygenometracks/tracks/LinksTrack.py @@ -6,9 +6,6 @@ import matplotlib.pyplot as plt from matplotlib.patches import Arc, Polygon from .. utilities import opener, to_string, change_chrom_names, temp_file_from_intersect -import sys -import tempfile -import pybedtools DEFAULT_LINKS_COLOR = 'blue' HUGE_NUMBER = 1e15 # Which should be above any chromosome size From e46f72ff9516a19a68e20d48c6f83599b5576da3 Mon Sep 17 00:00:00 2001 From: Lucille Delisle Date: Thu, 4 Jun 2020 11:23:21 +0200 Subject: [PATCH 34/34] make prettier the coding --- pygenometracks/tests/test_hiCMatrixTracks.py | 50 ++++++++++---------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/pygenometracks/tests/test_hiCMatrixTracks.py b/pygenometracks/tests/test_hiCMatrixTracks.py index 90fe9e4e..5532ee54 100644 --- a/pygenometracks/tests/test_hiCMatrixTracks.py +++ b/pygenometracks/tests/test_hiCMatrixTracks.py @@ -285,8 +285,9 @@ def test_plot_hic_logmlog(): def test_plot_tracks_with_hic_rasterize_height_2chr(): + extension = '.pdf' - outfile = NamedTemporaryFile(suffix='.pdf', prefix='pyGenomeTracks_test_', + outfile = NamedTemporaryFile(suffix=extension, prefix='pyGenomeTracks_test_', delete=False) args = "--tracks {0} --BED {1} "\ "--trackLabelFraction 0.23 --width 38 "\ @@ -296,23 +297,16 @@ def test_plot_tracks_with_hic_rasterize_height_2chr(): os.path.join(ROOT, 'regions_XY.bed'), outfile.name).split() pygenometracks.plotTracks.main(args) - first_file = outfile.name[:-4] + '_X-2500000-2600000.pdf' - res = compare_images(os.path.join(ROOT, - 'master_plot_hic_rasterize_height' - '_X-2500000-2600000.pdf'), - first_file, tolerance) - assert res is None, res - - os.remove(first_file) - - second_file = outfile.name[:-4] + '_Y-0-1000000.pdf' - res = compare_images(os.path.join(ROOT, - 'master_plot_hic_rasterize_height_Y' - '-0-1000000.pdf'), - second_file, tolerance) - assert res is None, res + for region in ['X:2500000-2600000', 'Y:0-1000000']: + region_str = region.replace(':', '-') + output_file = outfile.name[:-4] + '_' + region_str + extension + res = compare_images(os.path.join(ROOT, + 'master_plot_hic_rasterize_height_' + + region_str + extension), + output_file, tolerance) + assert res is None, res - os.remove(second_file) + os.remove(output_file) def test_plot_tracks_with_hic_rasterize_height_2chr_individual(): @@ -335,8 +329,9 @@ def test_plot_tracks_with_hic_rasterize_height_2chr_individual(): def test_plot_tracks_with_hic_small_test(): + extension = '.png' - outfile = NamedTemporaryFile(suffix='.png', prefix='pyGenomeTracks_test_', + outfile = NamedTemporaryFile(suffix=extension, prefix='pyGenomeTracks_test_', delete=False) args = "--tracks {} --BED {} "\ "--trackLabelFraction 0.23 --width 38 " \ @@ -346,15 +341,16 @@ def test_plot_tracks_with_hic_small_test(): os.path.join(ROOT, 'regions_chr1XY.bed'), outfile.name).split() pygenometracks.plotTracks.main(args) - for region in ['_chr1-0-500000', '_chrX-2500000-2600000', '_chrY-0-1000000']: - file = outfile.name[:-4] + region + '.png' + for region in ['chr1:0-500000', 'chrX:2500000-2600000', 'chrY:0-1000000']: + region_str = region.replace(':', '-') + output_file = outfile.name[:-4] + '_' + region_str + extension res = compare_images(os.path.join(ROOT, - 'master_plot_hic_small_test' - + region + '.png'), - file, tolerance) + 'master_plot_hic_small_test_' + + region_str + extension), + output_file, tolerance) assert res is None, res - os.remove(file) + os.remove(output_file) # The tests with individual chromosome does not give the same result: @@ -363,9 +359,10 @@ def test_plot_tracks_with_hic_small_test(): # when the matrix is not empty def test_plot_tracks_with_hic_small_test_individual(): + extension = '.png' for region in ['chr1:0-500000']: # , 'chrX:2500000-2600000', 'chrY:-0-1000000']: - outfile = NamedTemporaryFile(suffix='.png', prefix='pyGenomeTracks_test_', + outfile = NamedTemporaryFile(suffix=extension, prefix='pyGenomeTracks_test_', delete=False) args = "--tracks {} --region {} "\ "--trackLabelFraction 0.23 --width 38 " \ @@ -375,9 +372,10 @@ def test_plot_tracks_with_hic_small_test_individual(): region, outfile.name).split() pygenometracks.plotTracks.main(args) + region_str = region.replace(':', '-') res = compare_images(os.path.join(ROOT, 'master_plot_hic_small_test_' - + region.replace(':', '-') + '.png'), + + region_str + extension), outfile.name, tolerance) assert res is None, res