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]
Metadata
Release files for agricola 1.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| agricola-1.5.0.tar.gz | 43.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agricola-1.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 90.2 kB
Release files / agricola-1.5.0.tar.gz
| Download URL | agricola-1.5.0.tar.gz |
|---|---|
| Size | 43.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0f3b111b9810f9b7209cae80d08b8441b62133d2d5bd01068f19553c8ebf0263
|
|
BLAKE2b-256 checksum How to use checksums |
37d2fbb87fa77e2a12d35dc0222ffa83322e112729a5a09e0c3f38ccab10195b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","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.5.0-py3-none-any.whl
| Download URL | agricola-1.5.0-py3-none-any.whl |
|---|---|
| Size | 46.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
61d96b66a1161baccfdd1fa9349ce00169ba39b8eed0f5c8b2869cccecb65614
|
|
BLAKE2b-256 checksum How to use checksums |
82efcd26eebbe4d0af75ac62f509c7a2621eae57dd5ff46a7a97c036fdc689bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","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}
|
Security for agricola 1.5.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.