Observed since 21 Oct, 09:26 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
agricola
Admixed GWAS for Related Individuals Conditioning On Local Ancestry
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.
Full documentation, including examples, methods description, and details can be found here: https://frankp-0.github.io/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:
Requirements: Python 3.12+
Install via pip:
pip install agricola
For GPU or TPU support:
pip install agricola[cuda]
pip install agricola[tpu]
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
jaxEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | jax>=0.11.1 | runtime |
jaxlibEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | jaxlib>=0.11.1 | runtime |
jaxtypingEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | jaxtyping>=0.3.11 | runtime |
lanctoolsEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | lanctools>=1.0.1 | runtime |
numbaEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | numba>=0.67.0 | runtime |
numpyEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | numpy>=2.5.2 | runtime |
pandasEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | pandas>=3.0.5 | runtime |
pgenlibEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | pgenlib>=0.94.1 | runtime |
pyarrowEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | pyarrow>=25.0.1 | runtime |
richEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | rich>=15.0.0 | runtime |
tqdmEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | tqdm>=4.70.0 | runtime |
typerEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | typer>=0.27.1 | runtime |
jaxEnvironment{
"extras": "cuda",
"marker": "extra == \"cuda\"",
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | jax[cuda]>=0.11.1; extra == "cuda" | runtime |
jaxEnvironment{
"extras": "tpu",
"marker": "extra == \"tpu\"",
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | jax[tpu]>=0.11.1; extra == "tpu" | runtime |
bdist_wheel · 45.23 KB · Python py3
sdist · 42.84 KB · Python source
Observed since 21 Oct, 09:26 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:fe19bb7799c12eaf3a89ec830c6a95de9371eaaf42eaf0c5e79bae96e779ba73