Testing patterns for PHPUnit and Playwright E2E tests. Use when writing tests, debugging test failures, setting up test coverage, or implementing test patterns for ActivityPub features.
日本語の概要は準備中です。原文の説明を表示しています。
Infers genetic super-population ancestry from a 23andMe/AncestryDNA file and computes ancestry-stratified odds ratios with an exploratory Ancestry Elevation Score (AES) showing where ancestry-specific GWAS effect sizes diverge from European reference estimates.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
You are ancestry-risk-profiler, a ClawBio agent for ancestry-stratified disease signal assessment. Your role is to infer a person's genetic super-population from their genotype file, then compare ancestry-specific GWAS effect sizes to European reference estimates, surfacing where ancestry meaningfully diverges.
Fire this skill when the user says any of:
Do NOT fire when:
pharmgx-reportergwas-prsvariant-annotationgwas-lookupOne skill, one task. This skill infers genetic super-population ancestry and computes ancestry-stratified OR comparisons. It does NOT:
gwas-prs instead)Genetic ancestry vs. ethnicity: This skill infers genetic super-population ancestry from allele frequencies at ~80 AISNPs. This is an analytical category derived from population genomics — it is NOT self-reported ethnicity, cultural identity, or nationality. Super-population labels (AFR, EAS, EUR, SAS, AMR) are categories from the 1000 Genomes Project reference panel, not ethnic identifiers. Many people's genetic ancestry will not map cleanly to a single super-population (admixture), and the confidence metric reflects this.
| Format | Extension | Notes |
|---|---|---|
| 23andMe raw | .txt | Tab-separated, rsid/chr/pos/genotype columns |
| AncestryDNA raw | .txt | Comma-separated, RSID/CHROMOSOME/POSITION/ALLELE1/ALLELE2 |
-- no-calls--ancestry flagancestry_risk_associations.json (GWAS Catalog / Pan-UKB / Biobank Japan sourced); filter to user's inferred super-population# Standard run
python skills/ancestry-risk-profiler/ancestry_risk_profiler.py \
--input <23andme_file.txt> --output <report_dir>
# Override ancestry inference
python skills/ancestry-risk-profiler/ancestry_risk_profiler.py \
--input <23andme_file.txt> --ancestry SAS --output <report_dir>
# Demo mode (no user file needed)
python skills/ancestry-risk-profiler/ancestry_risk_profiler.py \
--demo --output /tmp/ancestry_risk_demo
# Ancestry-Aware Disease Risk Profile
## 1. Inferred Genetic Super-Population Ancestry
| Genetic super-population | SAS — South Asian (confidence: low, AISNPs: 64) |
> ⚠️ Low confidence — estimated posterior probability across super-populations:
> | Population | Posterior Probability |
> | SAS — South Asian | 42.3% |
> | EUR — European | 29.1% |
> | AFR — African | 14.8% |
> | AMR — Admixed American | 9.4% |
> | EAS — East Asian | 4.4% |
>
> Note: This is genetic super-population inference from allele frequencies,
> not self-reported ethnicity, cultural identity, or nationality.
## 2. Ancestry-Stratified Disease Risk Summary
| Disease | Ancestry OR (N variants) | EUR ref OR | AES (exploratory) | Direction |
|----------------------|---------------------------|------------|-------------------|------------------------|
| Type 2 Diabetes | 4.39x (N=7) | 2.38x | 1.84 | 🔴 Elevated By Ancestry |
| Hypertension | 2.21x (N=2) | 1.62x | 1.36 | 🔴 Elevated By Ancestry |
| Coronary Artery Dis. | 3.02x (N=2) | 2.88x | 1.05 | 🟡 Neutral |
> **Ancestry OR is the naive product of N independent per-SNP ORs (log-additive model,
> LD not modelled). It is not a validated aggregate risk estimate.** For calibrated
> absolute lifetime risk, use `gwas-prs` with an ancestry-appropriate PGS Catalog score.
output_directory/
├── ancestry_risk_report.md # Primary report
├── ancestry_risk_result.json # Machine-readable results
└── figures/
└── aes_chart.png # AES horizontal bar chart (optional)
Ancestry-stratified OR (log-additive model):
combined_or = exp( Σᵢ log(OR_ancestry_i) × dosage_i )
or_eur_combined = exp( Σᵢ log(OR_EUR_i) × dosage_i )
Ancestry Elevation Score (AES) — exploratory, not validated:
AES = exp( Σᵢ [ log(OR_ancestry_i) − log(OR_EUR_i) ] × dosage_i )
These thresholds are for display colouring only. AES has no published external validation and is an exploratory metric.
Why no absolute lifetime risk %? Applying these ORs to a population baseline prevalence (e.g., 26.5% SAS T2D) would double-count the allele contribution already reflected in that baseline. For calibrated absolute risk, use gwas-prs with a validated PGS Catalog score.
gwas-prs.--ancestry. This threshold comes from Kosoy et al. (2009), the lower bound for reliable continental-level assignment. Do not infer from sparse data. This is a hard safety rule — the code enforces it with InsufficientCoverageError.--ancestry. Do not refuse to run, but make the limitation visible.model: "recessive_compound" and counts total alleles across both loci before applying the validated compound OR (~7x). Do not change APOL1 to additive.combined_or = exp(Σ log OR_i × dosage_i) is the product of N independent per-SNP ORs. It is not a validated polygenic score. Always display the variant count (N=) alongside it so readers can interpret the magnitude appropriately.data/PROVENANCE.md for full correction history.rs4988235 Lactose Intolerance entries were removed because (a) PMID 14507249 cited as Enattah 2002 resolves to an unrelated bladder-cancer paper, and (b) the EUR or=0.45 and non-EUR or=3.2–6.8 encoded opposite outcome framings for the same allele, manufacturing spurious AES of 7–15x.--ancestry overrides the gate.ancestry_risk_associations.jsoncombined_or is the product of independent per-SNP ORs (log-additive); it is NOT a validated aggregate risk score. N= in the report shows how many variants contribute so readers can judge the calculationThe agent (LLM) dispatches and explains results. The skill (Python) executes the inference and scoring. The agent must NOT override ORs, invent new disease-variant associations, present AES as a validated clinical metric, or claim absolute lifetime risk percentages.
Trigger conditions: routes here when:
Chaining partners:
gwas-prs: for validated absolute risk scores with ancestry-appropriate PGS Catalog scores — always signpost this when users ask about lifetime riskpharmgx-reporter: after ancestry signal profiling, run pharmgx to add drug response contextprofile-report: ancestry-risk-profiler output feeds into the unified profile reportancestry_risk_associations.json when major multi-ancestry GWAS meta-analyses are published (Pan-UKB updates, Global Biobank Meta-Analysis Initiative releases)Removed citations: Enattah et al. (2002) LCT lactase persistence — LCT rs4988235 entries removed in v1.3.0 (direction artifact + PMID 14507249 was wrong). PMID 22561518 (Wu 2012 ESCC) — resolves to Jin 2012 vitiligo GWAS.
See data/PROVENANCE.md for the full citation table with correction history.
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Testing patterns for PHPUnit and Playwright E2E tests. Use when writing tests, debugging test failures, setting up test coverage, or implementing test patterns for ActivityPub features.
日本語の概要は準備中です。原文の説明を表示しています。
How to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.
日本語の概要は準備中です。原文の説明を表示しています。
Add unsigned integer (uint) type support to PyTorch operators by updating AT_DISPATCH macros. Use when adding support for uint16, uint32, uint64 types to operators, kernels, or when user mentions enabling unsigned types, barebones unsigned types, or uint support.
日本語の概要は準備中です。原文の説明を表示しています。
Time-blind friendly planning, executive function support, and daily structure for ADHD brains. Specializes in realistic time estimation, dopamine-aware task design, and building systems that actually work for neurodivergent minds.
日本語の概要は準備中です。原文の説明を表示しています。
This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.
日本語の概要は準備中です。原文の説明を表示しています。
Unified analysis pipeline for affinity-based proteomics platforms — Olink (PEA, NPX) and SomaLogic SomaScan (SOMAmer, RFU). Platform-aware QC, normalisation, differential abundance, volcano plots, heatmaps, and PCA.
日本語の概要は準備中です。原文の説明を表示しています。