Population Delimitation Practice
I have developed a population genetics practice where students are tasked with delimiting genetic groups. They must do this by analyzing genetic structure alongside other variables, such as taxa and the country of origin.
The primary objective is to teach students that genetic structure alone is often insufficient for defining populations; context and additional biological data are essential.
The practice is a web application hosted on our laboratory’s static site and developed using marimo. There is quite a bit of "magic" happening under the hood to make this work seamlessly in the browser:
-
Pyodide: A Python interpreter compiled to WebAssembly, allowing the logic to run entirely client-side.
-
3D Scatter Widget: A custom widget I developed using Python and TypeScript. This was my first serious foray into JavaScript/TypeScript, and I honestly couldn't have built it without the help of AI tools.