Skip to content

Commit cc94c93

Browse files
authored
Merge pull request #1298 from malariagen/jonbrenas-patch-anopheles-to-solve-issue
Update anopheles.py
2 parents 20cb445 + ab68085 commit cc94c93

File tree

1 file changed

+105
-0
lines changed

1 file changed

+105
-0
lines changed

malariagen_data/anopheles.py

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1031,6 +1031,111 @@ def plot_ihs_gwss_track(
10311031
bokeh.plotting.show(fig)
10321032
return fig
10331033

1034+
@doc(
1035+
summary="Run and plot iHS GWSS data.",
1036+
)
1037+
def plot_ihs_gwss(
1038+
self,
1039+
contig: base_params.contig,
1040+
analysis: hap_params.analysis = base_params.DEFAULT,
1041+
sample_sets: Optional[base_params.sample_sets] = None,
1042+
sample_query: Optional[base_params.sample_query] = None,
1043+
sample_query_options: Optional[base_params.sample_query_options] = None,
1044+
window_size: ihs_params.window_size = ihs_params.window_size_default,
1045+
percentiles: ihs_params.percentiles = ihs_params.percentiles_default,
1046+
standardize: ihs_params.standardize = True,
1047+
standardization_bins: Optional[ihs_params.standardization_bins] = None,
1048+
standardization_n_bins: ihs_params.standardization_n_bins = ihs_params.standardization_n_bins_default,
1049+
standardization_diagnostics: ihs_params.standardization_diagnostics = False,
1050+
filter_min_maf: ihs_params.filter_min_maf = ihs_params.filter_min_maf_default,
1051+
compute_min_maf: ihs_params.compute_min_maf = ihs_params.compute_min_maf_default,
1052+
min_ehh: ihs_params.min_ehh = ihs_params.min_ehh_default,
1053+
max_gap: ihs_params.max_gap = ihs_params.max_gap_default,
1054+
gap_scale: ihs_params.gap_scale = ihs_params.gap_scale_default,
1055+
include_edges: ihs_params.include_edges = True,
1056+
use_threads: ihs_params.use_threads = True,
1057+
min_cohort_size: Optional[
1058+
base_params.min_cohort_size
1059+
] = ihs_params.min_cohort_size_default,
1060+
max_cohort_size: Optional[
1061+
base_params.max_cohort_size
1062+
] = ihs_params.max_cohort_size_default,
1063+
random_seed: base_params.random_seed = 42,
1064+
palette: ihs_params.palette = ihs_params.palette_default,
1065+
title: Optional[gplt_params.title] = None,
1066+
sizing_mode: gplt_params.sizing_mode = gplt_params.sizing_mode_default,
1067+
width: gplt_params.width = gplt_params.width_default,
1068+
track_height: gplt_params.track_height = 170,
1069+
genes_height: gplt_params.genes_height = gplt_params.genes_height_default,
1070+
show: gplt_params.show = True,
1071+
output_backend: gplt_params.output_backend = gplt_params.output_backend_default,
1072+
chunks: base_params.chunks = base_params.native_chunks,
1073+
inline_array: base_params.inline_array = base_params.inline_array_default,
1074+
gene_labels: Optional[gplt_params.gene_labels] = None,
1075+
gene_labelset: Optional[gplt_params.gene_labelset] = None,
1076+
) -> gplt_params.optional_figure:
1077+
# gwss track
1078+
fig1 = self.plot_ihs_gwss_track(
1079+
contig=contig,
1080+
analysis=analysis,
1081+
sample_sets=sample_sets,
1082+
sample_query=sample_query,
1083+
sample_query_options=sample_query_options,
1084+
window_size=window_size,
1085+
percentiles=percentiles,
1086+
palette=palette,
1087+
standardize=standardize,
1088+
standardization_bins=standardization_bins,
1089+
standardization_n_bins=standardization_n_bins,
1090+
standardization_diagnostics=standardization_diagnostics,
1091+
filter_min_maf=filter_min_maf,
1092+
compute_min_maf=compute_min_maf,
1093+
min_ehh=min_ehh,
1094+
max_gap=max_gap,
1095+
gap_scale=gap_scale,
1096+
include_edges=include_edges,
1097+
use_threads=use_threads,
1098+
min_cohort_size=min_cohort_size,
1099+
max_cohort_size=max_cohort_size,
1100+
random_seed=random_seed,
1101+
title=title,
1102+
sizing_mode=sizing_mode,
1103+
width=width,
1104+
height=track_height,
1105+
show=False,
1106+
output_backend=output_backend,
1107+
chunks=chunks,
1108+
inline_array=inline_array,
1109+
)
1110+
1111+
fig1.xaxis.visible = False
1112+
1113+
# plot genes
1114+
fig2 = self.plot_genes(
1115+
region=contig,
1116+
sizing_mode=sizing_mode,
1117+
width=width,
1118+
height=genes_height,
1119+
x_range=fig1.x_range,
1120+
show=False,
1121+
output_backend=output_backend,
1122+
gene_labels=gene_labels,
1123+
gene_labelset=gene_labelset,
1124+
)
1125+
1126+
# combine plots into a single figure
1127+
fig = bokeh.layouts.gridplot(
1128+
[fig1, fig2],
1129+
ncols=1,
1130+
toolbar_location="above",
1131+
merge_tools=True,
1132+
sizing_mode=sizing_mode,
1133+
)
1134+
1135+
if show: # pragma: no cover
1136+
bokeh.plotting.show(fig)
1137+
return fig
1138+
10341139
@_check_types
10351140
@doc(
10361141
summary="""

0 commit comments

Comments
 (0)