Skip to content

Commit f73157f

Browse files
authored
Merge branch 'master' into GH648-fix-h12-calibration-axis-flip
2 parents 65e0443 + b3805b9 commit f73157f

29 files changed

Lines changed: 744 additions & 514 deletions

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ To get setup for development, see [this video if you prefer VS Code](https://you
4949
For detailed setup instructions, see:
5050
- [Linux setup guide](LINUX_SETUP.md)
5151
- [macOS setup guide](MACOS_SETUP.md)
52+
- [Google Colab (TPU) setup guide](docs/source/colab_tpu_runtime.rst)
5253
Detailed instructions can be found in the [Contributors guide](https://github.com/malariagen/malariagen-data-python/blob/master/CONTRIBUTING.md).
5354

5455
## AI use policy and guidelines

docs/source/colab_tpu_runtime.rst

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
Google Colab Installation Guide
2+
===============================
3+
Prerequisites
4+
-------------
5+
6+
Before installing the package, configure the runtime environment
7+
correctly:
8+
9+
1. Open a new notebook in Google Colab.
10+
2. Navigate to ``Runtime → Change runtime type``.
11+
3. Set the runtime configuration as follows:
12+
13+
- **Runtime type:** Python 3
14+
- **Hardware accelerator:** TPU
15+
- **TPU type:** v2-8
16+
17+
4. Click **Save** to apply the configuration.
18+
19+
Using the recommended TPU configuration ensures compatibility with
20+
workflows that may require TPU-based computation.
21+
22+
23+
Installation Procedure
24+
----------------------
25+
26+
In a new notebook cell, install the package:
27+
28+
.. code-block:: bash
29+
30+
!pip install malariagen_data
31+
32+
After installation completes, verify that the package is available:
33+
34+
.. code-block:: python
35+
36+
import malariagen_data
37+
38+
If the import executes without errors, the installation was successful.
39+
40+
If dependency-related warnings or conflicts occur, follow one of the
41+
resolution options described below.
42+
43+
44+
Resolution Options
45+
------------------
46+
47+
Resolution Option 1: Uninstall Panel
48+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49+
50+
If your notebook does not require ``panel``, uninstall it before
51+
installing ``malariagen_data``.
52+
53+
.. code-block:: bash
54+
55+
!pip uninstall -y panel
56+
!pip install malariagen_data
57+
58+
Verify installation:
59+
60+
.. code-block:: python
61+
62+
import malariagen_data
63+
64+
65+
Resolution Option 2: Install Compatible Panel Version
66+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
67+
68+
If your workflow depends on ``panel``, install a compatible version:
69+
70+
.. code-block:: bash
71+
72+
!pip install panel==1.7.0
73+
!pip install malariagen_data
74+
75+
Restart the runtime:
76+
77+
``Runtime → Restart runtime``
78+
79+
Then verify:
80+
81+
.. code-block:: python
82+
83+
import malariagen_data
84+
85+
86+
Resolution Option 3: Install Required Blinker Version
87+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
88+
89+
If a ``blinker`` version conflict occurs:
90+
91+
.. code-block:: bash
92+
93+
!pip install blinker==1.9.0 --ignore-installed
94+
!pip install malariagen_data
95+
96+
Restart the runtime and verify:
97+
98+
.. code-block:: python
99+
100+
import malariagen_data
101+
102+
103+
Final Verification
104+
------------------
105+
106+
After completing any of the procedures above:
107+
108+
- Ensure that ``malariagen_data`` installs without dependency errors.
109+
- Confirm that ``import malariagen_data`` runs successfully.
110+
- Restart the runtime whenever core dependencies are modified.
111+
- Avoid mixing incompatible package versions within the same Colab session.

malariagen_data/anoph/aim_data.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,4 @@ def plot_aim_heatmap(
341341

342342
if show: # pragma: no cover
343343
fig.show(renderer=renderer)
344-
return None
345-
else:
346-
return fig
344+
return fig

malariagen_data/anoph/cnv_data.py

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -810,9 +810,7 @@ def plot_cnv_hmm_coverage_track(
810810

811811
if show:
812812
bkplt.show(fig)
813-
return None
814-
else:
815-
return fig
813+
return fig
816814

817815
@_check_types
818816
@doc(
@@ -884,9 +882,7 @@ def plot_cnv_hmm_coverage(
884882

885883
if show:
886884
bkplt.show(fig)
887-
return None
888-
else:
889-
return fig
885+
return fig
890886

891887
@_check_types
892888
@doc(
@@ -1028,9 +1024,7 @@ def plot_cnv_hmm_heatmap_track(
10281024

10291025
if show:
10301026
bkplt.show(fig)
1031-
return None
1032-
else:
1033-
return fig
1027+
return fig
10341028

10351029
@_check_types
10361030
@doc(
@@ -1100,6 +1094,4 @@ def plot_cnv_hmm_heatmap(
11001094

11011095
if show:
11021096
bkplt.show(fig)
1103-
return None
1104-
else:
1105-
return fig
1097+
return fig

malariagen_data/anoph/dipclust.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -189,13 +189,11 @@ def plot_diplotype_clustering(
189189

190190
if show: # pragma: no cover
191191
fig.show(renderer=renderer)
192-
return None
193-
else:
194-
return {
195-
"figure": fig,
196-
"dendro_sample_id_order": np.asarray(leaf_data["sample_id"].to_list()),
197-
"n_snps": n_snps_used,
198-
}
192+
return {
193+
"figure": fig,
194+
"dendro_sample_id_order": np.asarray(leaf_data["sample_id"].to_list()),
195+
"n_snps": n_snps_used,
196+
}
199197

200198
def diplotype_pairwise_distances(
201199
self,
@@ -800,6 +798,4 @@ def plot_diplotype_clustering_advanced(
800798

801799
if show:
802800
fig.show(renderer=renderer)
803-
return None
804-
else:
805-
return fig
801+
return fig

malariagen_data/anoph/distance.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -614,6 +614,4 @@ def plot_njt(
614614

615615
if show: # pragma: no cover
616616
fig.show(renderer=renderer)
617-
return None
618-
else:
619-
return fig
617+
return fig

malariagen_data/anoph/frq_base.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -401,9 +401,7 @@ def plot_frequencies_heatmap(
401401

402402
if show: # pragma: no cover
403403
fig.show(renderer=renderer)
404-
return None
405-
else:
406-
return fig
404+
return fig
407405

408406
@_check_types
409407
@doc(
@@ -553,9 +551,7 @@ def plot_frequencies_time_series(
553551

554552
if show: # pragma: no cover
555553
fig.show(renderer=renderer)
556-
return None
557-
else:
558-
return fig
554+
return fig
559555

560556
@_check_types
561557
@doc(

malariagen_data/anoph/fst.py

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -257,9 +257,7 @@ def plot_fst_gwss_track(
257257

258258
if show: # pragma: no cover
259259
bokeh.plotting.show(fig)
260-
return None
261-
else:
262-
return fig
260+
return fig
263261

264262
@_check_types
265263
@doc(
@@ -345,9 +343,7 @@ def plot_fst_gwss(
345343

346344
if show: # pragma: no cover
347345
bokeh.plotting.show(fig)
348-
return None
349-
else:
350-
return fig
346+
return fig
351347

352348
@_check_types
353349
@doc(
@@ -590,6 +586,4 @@ def plot_pairwise_average_fst(
590586

591587
if show: # pragma: no cover
592588
fig.show(renderer=renderer)
593-
return None
594-
else:
595-
return fig
589+
return fig

malariagen_data/anoph/g123.py

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -421,9 +421,7 @@ def plot_g123_gwss_track(
421421

422422
if show: # pragma: no cover
423423
bokeh.plotting.show(fig)
424-
return None
425-
else:
426-
return fig
424+
return fig
427425

428426
@_check_types
429427
@doc(
@@ -506,9 +504,7 @@ def plot_g123_gwss(
506504

507505
if show: # pragma: no cover
508506
bokeh.plotting.show(fig)
509-
return None
510-
else:
511-
return fig
507+
return fig
512508

513509
@_check_types
514510
@doc(
@@ -607,9 +603,7 @@ def plot_g123_calibration(
607603

608604
if show: # pragma: no cover
609605
bokeh.plotting.show(fig)
610-
return None
611-
else:
612-
return fig
606+
return fig
613607

614608

615609
def _diplotype_frequencies(gt):

malariagen_data/anoph/genome_features.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -312,9 +312,7 @@ def plot_transcript(
312312

313313
if show: # pragma: no cover
314314
bokeh.plotting.show(fig)
315-
return None
316-
else:
317-
return fig
315+
return fig
318316

319317
@_check_types
320318
@doc(
@@ -514,9 +512,7 @@ def plot_genes(
514512

515513
if show: # pragma: no cover
516514
bokeh.plotting.show(fig)
517-
return None
518-
else:
519-
return fig
515+
return fig
520516

521517
def _plot_genes_setup_data(self, *, region):
522518
attributes = [a for a in self._gff_default_attributes if a != "Parent"]

0 commit comments

Comments
 (0)