Tutorials
These tutorials tell the story of a typical admixture workflow: start with a binary PLINK data set, run the upstream Julia implementation via the Python wrapper, and bring the .Q and .P outputs back into Python for inspection.
The package is deliberately small. It does not implement the ADMIXTURE algorithm, and it does not try to become a data-management library. Its job is to make one boundary clean: Python in, OpenADMIXTURE.jl run, Python objects out.
Start here
First analysis with a tiny PLINK fixture walks through a complete local run using the tiny fixture stored in
tests/data/tiny-plink. Use this when you want to check that Python, Julia, OpenADMIXTURE.jl, and the wrapper all work together before running on real data.Preparing data with malariagen-data shows how a future or local analysis can use
malariagen-dataas a data-preparation step, export a small SNP panel to PLINK, and then pass that PLINK prefix toadmixture. This is intentionally optional and requires Google Cloud Storage access for real MalariaGEN data.
What you need before following the tutorials
Install the Python package and instantiate the packaged Julia project:
conda activate admixture
makim setup.installor, after installing from PyPI:
pip install admixture
admixture setupThen verify that Julia and OpenADMIXTURE.jl are visible:
from admixture import OpenAdmixtureRunner
runner = OpenAdmixtureRunner()
runner.version_info()If this fails, see Troubleshooting.