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.
Documentation
Full documentation, including examples, methods description, and details can be found here: https://frankp-0.github.io/agricola
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]
Release files for agricola 1.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agricola-1.3.2.tar.gz | 40.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agricola-1.3.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 85.0 kB
Release files / agricola-1.3.2.tar.gz
| Download URL | agricola-1.3.2.tar.gz |
|---|---|
| Size | 40.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1b4d9034db4660fb1b83abf6bbafe146e09684194d34f97171915be642c5d582
|
|
BLAKE2b-256 checksum How to use checksums |
262dc6d2beb64df9a831cfa0944d7d57a5046b6559ea75ed1e432fd730db7329
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / agricola-1.3.2-py3-none-any.whl
| Download URL | agricola-1.3.2-py3-none-any.whl |
|---|---|
| Size | 44.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5efc6a02c0819f739b54f5226b7a6379fed56088eb1f5e6e8a0774ae0fd89927
|
|
BLAKE2b-256 checksum How to use checksums |
8b3317e3d349e1beed2dcb5ee91e3d22cc792c47afdd7e19f0b9bcb019167970
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|