Skip to content

agricola

agricola is a command-line tool and Python package for conducting genome-wide association studies (GWAS) in admixed populations. Inspired by regenie and Tractor, agricola provides a scalable, local-ancestry–aware framework that handles relatedness, population structure, and ancestry effect heterogeneity. Agricola is highly computationally efficient and can be run on GPU, CPU, or TPU compute environments.


Why agricola?

Admixed individuals have unique LD patterns that can improve signal localization and improve power for population-specific causal variants. However, standard GWAS tools fail to adjust for local ancestry or model effect heterogeneity in admixed individuals.

Tools like Tractor address this gap by performing single-variant association tests with explicit local ancestry adjustment. agricola follows the same conceptual approach but uses whole genome regression to correct for sample relatedness. Other features include:

  • Accelerated linear algebra via JAX
  • CUDA GPU, TPU, or CPU support for flexible compute environments
  • Fast local ancestry queries using lanctools
  • Efficient multi-phenotype modeling
  • Hypothesis testing for ancestry effect heterogeneity

Installation

Requirements: Python 3.12+

Install via pip:

pip install agricola

For GPU or TPU support:

pip install agricola[cuda]
pip install agricola[tpu]