Skip to content

Commit 9f21e09

Browse files
authored
Merge branch 'master' into issue-848-numpy-matrix
2 parents c7adbb3 + 225fb78 commit 9f21e09

2 files changed

Lines changed: 44 additions & 0 deletions

File tree

malariagen_data/anoph/h12.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -558,6 +558,8 @@ def plot_h12_gwss_multi_overlay_track(
558558
show: gplt_params.show = True,
559559
x_range: Optional[gplt_params.x_range] = None,
560560
output_backend: gplt_params.output_backend = gplt_params.output_backend_default,
561+
chunks: base_params.chunks = base_params.native_chunks,
562+
inline_array: base_params.inline_array = base_params.inline_array_default,
561563
) -> gplt_params.optional_figure:
562564
cohort_queries = self._setup_cohort_queries(
563565
cohorts=cohorts,
@@ -585,8 +587,11 @@ def plot_h12_gwss_multi_overlay_track(
585587
min_cohort_size=min_cohort_size,
586588
max_cohort_size=max_cohort_size,
587589
sample_query=cohort_query,
590+
sample_query_options=sample_query_options,
588591
sample_sets=sample_sets,
589592
random_seed=random_seed,
593+
chunks=chunks,
594+
inline_array=inline_array,
590595
)
591596

592597
# Determine X axis range.
@@ -679,6 +684,8 @@ def plot_h12_gwss_multi_overlay(
679684
output_backend: gplt_params.output_backend = gplt_params.output_backend_default,
680685
gene_labels: Optional[gplt_params.gene_labels] = None,
681686
gene_labelset: Optional[gplt_params.gene_labelset] = None,
687+
chunks: base_params.chunks = base_params.native_chunks,
688+
inline_array: base_params.inline_array = base_params.inline_array_default,
682689
) -> gplt_params.optional_figure:
683690
# Plot GWSS track.
684691
fig1 = self.plot_h12_gwss_multi_overlay_track(
@@ -700,6 +707,8 @@ def plot_h12_gwss_multi_overlay(
700707
height=track_height,
701708
show=False,
702709
output_backend=output_backend,
710+
chunks=chunks,
711+
inline_array=inline_array,
703712
)
704713

705714
fig1.xaxis.visible = False
@@ -764,6 +773,8 @@ def plot_h12_gwss_multi_panel(
764773
output_backend: gplt_params.output_backend = gplt_params.output_backend_default,
765774
gene_labels: Optional[gplt_params.gene_labels] = None,
766775
gene_labelset: Optional[gplt_params.gene_labelset] = None,
776+
chunks: base_params.chunks = base_params.native_chunks,
777+
inline_array: base_params.inline_array = base_params.inline_array_default,
767778
) -> gplt_params.optional_figure:
768779
cohort_queries = self._setup_cohort_queries(
769780
cohorts=cohorts,
@@ -789,6 +800,7 @@ def plot_h12_gwss_multi_panel(
789800
window_size=window_size[cohort_label],
790801
sample_sets=sample_sets,
791802
sample_query=cohort_query,
803+
sample_query_options=sample_query_options,
792804
cohort_size=cohort_size,
793805
min_cohort_size=min_cohort_size,
794806
max_cohort_size=max_cohort_size,
@@ -799,6 +811,8 @@ def plot_h12_gwss_multi_panel(
799811
height=track_height,
800812
show=False,
801813
output_backend=output_backend,
814+
chunks=chunks,
815+
inline_array=inline_array,
802816
)
803817
if i > 0:
804818
track = self.plot_h12_gwss_track(x_range=figs[0].x_range, **params)

tests/anoph/test_h12.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,36 @@ def test_h12_gwss_multi_with_analysis(fixture, api: AnophelesH12Analysis):
330330
api.plot_h12_gwss_multi_panel(**params)
331331

332332

333+
@parametrize_with_cases("fixture,api", cases=".")
334+
def test_h12_gwss_multi_param_forwarding(fixture, api: AnophelesH12Analysis):
335+
"""Verify sample_query_options, chunks, and inline_array are
336+
forwarded through multi-cohort H12 plotting functions."""
337+
all_sample_sets = api.sample_sets()["sample_set"].to_list()
338+
all_countries = api.sample_metadata()["country"].unique().tolist()
339+
country1, country2 = random.sample(all_countries, 2)
340+
cohort1_query = f"country == '{country1}'"
341+
cohort2_query = f"country == '{country2}'"
342+
343+
h12_params = dict(
344+
contig=random.choice(api.contigs),
345+
sample_sets=all_sample_sets,
346+
window_size=200,
347+
min_cohort_size=1,
348+
cohorts={"cohort1": cohort1_query, "cohort2": cohort2_query},
349+
sample_query_options={"engine": "python"},
350+
chunks="auto",
351+
inline_array=False,
352+
)
353+
354+
# Test multi-overlay — should not raise.
355+
fig = api.plot_h12_gwss_multi_overlay(**h12_params, show=False)
356+
assert isinstance(fig, bokeh.models.GridPlot)
357+
358+
# Test multi-panel — should not raise.
359+
fig = api.plot_h12_gwss_multi_panel(**h12_params, show=False)
360+
assert isinstance(fig, bokeh.models.GridPlot)
361+
362+
333363
def test_garud_h12_empty_window():
334364
import numpy as np
335365
from malariagen_data.anoph.h12 import _garud_h12

0 commit comments

Comments
 (0)