From 31a05688b62a6c2db4520f09824eaa6848dbeaf5 Mon Sep 17 00:00:00 2001 From: ljw Date: Fri, 4 Sep 2026 09:15:52 +0800 Subject: [PATCH] Improve bigwig plot by keep value on the whole interval instead of connect interval middle points. --- coolbox/core/track/hist/bigwig.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/coolbox/core/track/hist/bigwig.py b/coolbox/core/track/hist/bigwig.py index c5d5711..15cd404 100644 --- a/coolbox/core/track/hist/bigwig.py +++ b/coolbox/core/track/hist/bigwig.py @@ -40,9 +40,13 @@ def __init__(self, file, **kwargs): def fetch_plot_data(self, gr: GenomeRange, **kwargs): intervals = self.fetch_data(gr, **kwargs) - starts = intervals['start'].values - ends = intervals['end'].values - positions = (starts + ends) / 2 # use interval midpoints as real genomic coordinates + intervals = intervals.melt( + id_vars="value", + value_vars=["start", "end"], + var_name="se", + value_name="position" + ).sort_values(by=["index", "se"]) + positions = intervals["position"].values values = intervals['value'].values return positions, values