alterlab-gwas — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited alterlab-gwas (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
The GWAS Catalog is a curated repository of published genome-wide association studies maintained by NHGRI and EBI. It contains SNP-trait associations from thousands of GWAS publications — genetic variants, associated traits and diseases, p-values, effect sizes, and full summary statistics for many studies.
scripts/query_gwas.py — query the GWAS Catalog REST API (stdlib only, JSON to stdout):
python scripts/query_gwas.py variant rs7903146 # associations for a SNP (strongest first)
python scripts/query_gwas.py trait MONDO_0005148 --size 100 # associations for a trait
python scripts/query_gwas.py gene TCF7L2 # associations mapped to a gene
python scripts/query_gwas.py find-trait "type 2 diabetes" # free text -> efo_id
python scripts/query_gwas.py study GCST001795 # study metadata (+ summary-stats FTP link)Use this skill for:
| Scenario | Use Instead |
|---|---|
| Target-disease association scores, L2G / colocalisation evidence for drug targets | alterlab-opentargets |
| Clinical pathogenicity of a variant (ACMG/AMP, review stars) | alterlab-clinvar |
| Population allele frequencies or gene constraint | alterlab-gnomad |
| Which gene/tissue a variant regulates (eQTL/sQTL) | alterlab-gtex |
| Variant consequence (VEP), coordinates, gene models | alterlab-ensembl |
Four core entities, each with a canonical identifier:
GCST accessions (e.g., GCST001234)rs numbers (e.g., rs7903146)efo_id (e.g., MONDO_0005148 = type 2 diabetes mellitus); genes use HGNC symbols (e.g., TCF7L2)Trait-ID gotcha (verified 2026-09): many traits have been re-mapped to MONDO / current EFO short-forms, and a stale ID returns an empty page rather than an error —associations?efo_id=EFO_0001360(legacy type 2 diabetes) gives 0 rows whileefo_id=MONDO_0005148gives thousands. Resolve free text first withGET /v2/efo-traits?efo_trait=type 2 diabetesand use the returnedefo_id. Older papers and pipelines may still cite the legacy EFO ID.
https://www.ebi.ac.uk/gwas/rest/api/v2 — curated top associations, studies, SNPs, traits, genes, publications. Free, no key; throttled at 15 requests/second; default page size 20 (keep size ≤ 200 — larger pages time out). Interactive reference: https://www.ebi.ac.uk/gwas/rest/api/v2/docs/gwas/rest/api/singleNucleotidePolymorphisms/..., /efoTraits/..., camelCase fields) is deprecated and was scheduled for retirement by May 2026; it may still answer, but don't write new code against it./gwas/summary-statistics/api) is retired (HTTP 410); full summary statistics are served from the FTP site (see workflow step 6). EBI describes a replacement API as "coming soon".Core v2 endpoints: /v2/associations (filters rs_id, efo_id, efo_trait, mapped_gene, accession_id, pubmed_id; sort=p_value&direction=asc), /v2/studies and /v2/studies/{accession_id}, /v2/single-nucleotide-polymorphisms (by rs_id, mapped_gene, or chromosome + bp_start/bp_end), /v2/efo-traits, /v2/genes/{gene_name}. Responses are HAL+JSON with snake_case fields: results under _embedded.<resource> (associations, studies, snps, efo_traits), paging under page (totalElements, totalPages, number), next pages in _links.next.
efo_id (trait; resolve free text via /v2/efo-traits?efo_trait=), rs ID (variant), GCST (study), or HGNC symbol (gene).page/size or follow _links.next.snp_allele[]), effect sizes (or_per_copy_num or the beta text), p-values. p_value underflows to 0.0 for very strong signals (rs7903146 in type 2 diabetes reaches 3×10⁻¹³¹⁵), so rank and report with pvalue_mantissa / pvalue_exponent./v2/studies?efo_id=...&full_pvalue_set=true; each study's full_summary_stats field gives its FTP directory. Harmonised files live at https://ftp.ebi.ac.uk/pub/databases/gwas/summary_statistics/GCST<range>/<GCST>/harmonised/<GCST>.h.tsv.gz (GWAS-SSF columns, tabix-indexed .tbi), so a region can be pulled remotely with tabix <url> 10:112900000-113200000 instead of downloading the whole file. Don't scrape the association endpoints for this — they hold only curated top hits.references/query_examples.md.references/query_workflows.md.references/data_fields_and_best_practices.md.references/api_reference.md.When using GWAS Catalog data, cite:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.