Agent skill

bio-causal-genomics-transcriptome-wide-association

Performs gene-level association from GWAS summary statistics via genetically predicted tissue expression using FUSION, PrediXcan, S-PrediXcan, S-MultiXcan, UTMOST, MOSTWAS, kTWAS, EpiXcan, TIGAR-V2, and probabilistic fine-mapping with FOCUS and MA-FOCUS. Use when running TWAS from GWAS sumstats, prioritising candidate causal genes from a GWAS lead locus, picking single-tissue vs cross-tissue models, identifying LD-induced TWAS false positives, choosing ancestry-matched prediction weights, fine-mapping co-regulated TWAS hits, or triangulating TWAS with cis-eQTL Mendelian randomization and coloc

BioTender-maxgithub.com/BioTender-maxGitHub ↗
claude-codeships scriptsNOASSERTION
Install
npx skills add BioTender-max/awesome-bio-agent-skills --skill transcriptome-wide-association --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 4
SKILL.md size: 41 KB
Bundled scripts: yes
Path: skills/bioskills/transcriptome-wide-association/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 135
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Performs gene-level association from GWAS summary statistics via genetically predicted tissue expression using a suite of TWAS tools and probabilistic fine-mapping methods. It is intended for use when running TWAS from GWAS sumstats to prioritize candidate causal genes at lead loci, decide single-tissue vs cross-tissue models, identify LD-induced false positives, select ancestry-managed weights, fine-map co-regulated hits, and triangulate TWAS with cis-eQTL MR and colocalization.

How it works

The skill describes applying multiple TWAS approaches that compute a gene-level association by weighting SNP Z-scores with per-gene expression weights derived from reference panels (eQTL models). It lists concrete CLI commands or patterns for several tools:

  • FUSION.assoc_test.R with sumstats and weights to produce TWAS statistics per gene and tissue
  • SPrediXcan.py to compute per-gene Z/p from GWAS sumstats using a model_db_path and covariance
  • SMulTiXcan.py to perform a joint multi-tissue test across tissues
  • UTMOST cross-tissue testing with GBJ-style steps
  • focus finemap to produce probabilistic fine-mapping results (PIPs) for TWAS hits
  • focus finemap with MA-FOCUS for cross-ancestry fine-mapping The workflow emphasizes comparing TWAS results with cis-eQTL MR and coloc to triangulate causal gene signals, and using a decision framework to choose tissue models, priors, and fine-mapping strategies. It provides an algorithmic taxonomy including strengths, typical failures, and operational rules for model selection, as well as a decision tree by experimental scenario and tissue selection protocol.

When to use it

Use when running TWAS from GWAS sumstats, especially if: prioritizing candidate causal genes at a lead locus, selecting single-tissue vs cross-tissue models, addressing LD-induced false positives, matching ancestry-specific weights, performing fine-mapping across co-regulated hits, or triangulating TWAS with MR and coloc evidence.

What it can touch

Tooling involves mixed tool types with primary tool FUSION and several CLI patterns (e.g., FUSION.assoc_test.R, SPrediXcan.py, SMulTiXcan.py, focus). It references model databases (GTEx v8, PredictDB), LD references, and per-tissue weights. The description specifies the scripts and commands to run, and notes requirements for model files and reference LD panels. It does not prescribe touching files outside the specified tools and models.

Caveats

Notes that TWAS signals can reflect LD-tagged eQTLs rather than causal mediation; causal claims require triangulation with cis-eQTL MR and coloc. It highlights potential pitfalls such as LD-induced false positives in gene-dense regions, tissue mis-specification, and ancestry mismatch. It emphasizes using ancestry-matched weights and matching LD references to the GWAS population. It also warns about model compatibility (GTEx versions, PredictDB panels) and the need to pin versions explicitly in scripts.

From the SKILL.md

## Version Compatibility Reference examples tested with: FUSION (head of `gusevlab/fusion_twas`, scripts dated 2023+), MetaXcan / S-PrediXcan / S-MultiXcan 0.7.5+ (`hakyimlab/MetaXcan`), PrediXcan model files from PredictDB (GTEx v8 elastic-net + MASHR), UTMOST (head of `Joker-Jerome/UTMOST`), pyfocus 0.8+ (`bogdanlab/focus`), MA-FOCUS (head of `mancusolab/ma-focus`), TIGAR-V2 (head of `yanglab-emory/TIGAR`), PLINK 1.9 + PLINK 2.0, R 4.3+, Python 3.9-3.11. Before using code patterns, verify installed versions match. If versions differ: - R: `Rscript --version`; for FUSION scripts inspect `--help` flags directly in the source - Python: `pip show metaxcan pyfocus` then `SPrediXcan.py --help`, `SMulTiXcan.py --help`, `focus finemap --help` - CLI: `plink2 --version`; FUSION ships as R scripts not a binary If a script throws an error about an argument that has moved (e.g. `--gwas_file` vs `--gwas-file`) or a model database schema change, introspect the installed script with `--help` and adapt rather than retrying. PredictDB model file paths change with GTEx version; pin the version explicitly in scripts. # Transcriptome-Wide Association **"Find genes whose predicted tissue expression is

What's inside
Steps it walks through
  1. Version Compatibility
  2. Algorithmic Taxonomy
  3. PredictDB Model Choice and GTEx Versioning
  4. MASHR vs Elastic-Net Models
  5. Decision Tree by Experimental Scenario
  6. Tissue Selection Protocol
  7. S-MultiXcan vs UTMOST
  8. Single-Cell and Cell-Type-Resolved TWAS
  9. Per-Tool Failure Modes
  10. LD-induced TWAS false positives (most common pitfall)
  11. Tissue mis-specification
  12. Ancestry mismatch in prediction weights
  13. Low-N tissue weights are unstable
  14. HLA region
Ships with 3 files
  • examples/focus_finemap.sh
  • examples/s_predixcan_pipeline.sh
  • usage-guide.md
Commands it runs
Pre-computed FUSION weights live at http://gusevlab.org/projects/fusion/
GWAS sumstats expected columns: SNP A1 A2 Z (Z-score on standardised scale)
Use TwoSampleMR or a custom munger to harmonise alleles upstream
for chr in {1..22}; do
Rscript FUSION.assoc_test.R \
done
cat twas_chr*.dat > twas_all.dat
Conditional joint analysis at each significant locus
Rscript FUSION.post_process.R \
twas_joint.dat reports per-gene conditional Z; genes with joint Z > 4 are independent
More from awesome-bio-agent-skills
All skills →
About this skill
What does the bio-causal-genomics-transcriptome-wide-association skill do?

Performs gene-level association from GWAS summary statistics via genetically predicted tissue expression using FUSION, PrediXcan, S-PrediXcan, S-MultiXcan, UTMOST, MOSTWAS, kTWAS, EpiXcan, TIGAR-V2, and probabilistic fine-mapping with FOCUS and MA-FOCUS. Use when running TWAS from GWAS sumstats, prioritising candidate causal genes from a GWAS lead locus, picking single-tissue vs cross-tissue models, identifying LD-induced TWAS false positives, choosing ancestry-matched prediction weights, fine-mapping co-regulated TWAS hits, or triangulating TWAS with cis-eQTL Mendelian randomization and coloc

How do I install it?

Run `npx skills add BioTender-max/awesome-bio-agent-skills --skill transcriptome-wide-association --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From BioTender-max/awesome-bio-agent-skills, a repository with 135 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going