Transcriptome-wide association studies (TWAS) test gene-level association with a GWAS trait via genetically predicted tissue expression. The agent runs TWAS from GWAS summary statistics using pre-trained eQTL prediction models (PrediXcan / FUSION / MetaXcan family), aggregates multi-tissue signals (S-MultiXcan / UTMOST), and probabilistically fine-maps co-significant gene clusters (FOCUS / MA-FOCUS).
TWAS is the natural cousin of Mendelian randomization and colocalization in the causal-genomics workflow. TWAS asks "is gene expression in tissue T associated with the trait?"; cis-eQTL MR asks "does that association reflect a causal effect under IV assumptions?"; coloc asks "do the GWAS and eQTL share a causal variant?". A single TWAS hit is associational, not causal -- the dominant failure modes are LD-induced co-significance at gene-dense loci, tissue mis-specification, and ancestry mismatch between GWAS and prediction weights. Strong causal claims require triangulation across at least 3 of {TWAS, FOCUS PIP, coloc PP.H4, cis-eQTL MR}.
Install Python tools:
pip install pyfocus
git clone https://github.com/hakyimlab/MetaXcan # S-PrediXcan / S-MultiXcan (not on PyPI)
Install R / FUSION:
git clone https://github.com/gusevlab/fusion_twas
R -e "install.packages(c('plink2R', 'optparse', 'glmnet', 'methods', 'RColorBrewer', 'GBJ'))"
For MA-FOCUS and multi-ancestry analyses, additionally pull mancusolab/ma-focus. For UTMOST, Joker-Jerome/UTMOST. For TIGAR-V2, yanglab-emory/TIGAR.
Tell the AI agent what to do: - "Run TWAS on my GWAS sumstats using FUSION with GTEx whole blood weights and fine-map hits with FOCUS" - "Use S-PrediXcan across all 49 GTEx tissues and combine with S-MultiXcan for a joint multi-tissue test" - "I have a list of TWAS hits at a gene-dense locus -- run FOCUS to identify the probable causal gene" - "Triangulate TWAS, coloc, and cis-eQTL MR to nominate a candidate causal gene at my GWAS lead locus" - "Run a multi-ancestry TWAS combining EUR and AFR sumstats with MA-FOCUS fine-mapping" - "Restrict TWAS to brain tissues for a psychiatric trait using PsychENCODE weights"
"Run S-PrediXcan on my LDL-cholesterol GWAS using the GTEx v8 MASHR liver model. Filter to genes with significant association at p < 2.3e-6 (Bonferroni for 22k genes) and report the top 20 by Z magnitude. Note the assumption that EUR-trained weights apply to an EUR-only GWAS."
"Run S-PrediXcan across all 49 GTEx v8 MASHR tissues for my schizophrenia GWAS. Combine the per-tissue outputs with S-MultiXcan for a joint multi-tissue test. Compare the joint-significant gene set against the per-tissue Bonferroni-significant lists, and flag any genes where the joint test gains power over the best per-tissue test."
"At the chr11p15.5 locus my TWAS reports 7 genes passing significance. Run FOCUS using the GTEx v8 whole blood DB and 1000G EUR LD reference to compute per-gene PIPs and report the credible gene set. Genes with PIP >= 0.8 are causal candidates; co-significant genes with PIP < 0.5 are LD-tagged."
"Run MA-FOCUS on my T2D GWAS combining EUR (BBJ + UKB), EAS (BBJ), and AFR (AAGILE) sumstats using ancestry-matched 1000 Genomes LD references. Use the MA-FOCUS DBs for each ancestry's PredictDB v8 MASHR adipose tissue. Report joint PIPs and per-ancestry contribution."
"I have a TWAS hit for SORT1 in liver from S-PrediXcan. Triangulate this with (a) a cis-eQTL MR using SORT1 cis-eQTLs from GTEx liver as the exposure and my LDL GWAS as the outcome with TwoSampleMR, and (b) coloc.abf between the GTEx liver cis-eQTL for SORT1 and the GWAS at the SORT1 locus. Report a 4-way concordance summary across TWAS, FOCUS PIP, cis-MR, and coloc PP.H4."
"Run TWAS using GTEx splicing models (sQTL-based PredictDB) instead of expression for my major depressive disorder GWAS in brain frontal cortex. Identify splice-mediated gene hits and contrast with the expression-TWAS hit list at the same loci."
"Run FUSION on my CAD GWAS with GTEx artery coronary weights for all 22 autosomes. Then run FUSION.post_process.R at every significant locus (conditional/joint analysis run by default, no --joint flag) to identify conditionally independent genes; report the joint-Z table per locus."
Use the panel matching the GWAS ancestry; document any mismatch and apply MA-FOCUS for cross-ancestry credible sets. Patel 2022 AJHG 109:1286 quantifies the ancestry-transfer power loss.
| Panel | N donors | Tissues / cells | Ancestry | Use case |
|---|---|---|---|---|
| GTEx v8 (full) | 838 | 49 tissues | EUR (~85%) | Default standard for general TWAS |
| GTEx v8 MASHR-EUR | -- | 49 tissues | EUR | Primary; sparser SNP set per gene |
| eQTLGen | 31,684 | Whole blood | EUR (>95%) | Highest blood power; cis + trans available |
| MESA Monocytes (Mogil 2018) | 1,163 | Monocytes | Multi-ancestry | AFR / HIS-relevant analyses |
| MESA Monocytes-AFA | 233 | Monocytes | AFR | AFR-specific immune traits |
| AFGR | ~2,000 | Whole blood | AFR | AFR (emerging; release-dependent) |
| OneK1K (Yazar 2022) | 982 | PBMC, 14 cell types | EUR | sc-TWAS in immune cell types |
| PsychENCODE (Wang 2018) | ~1,300 | Prefrontal cortex | EUR | Neuropsychiatric traits |
| BrainSeq Phase 2 | ~350 | DLPFC, hippocampus | EUR + AFR | Neuropsychiatric replication |
Below ~100 donors the per-gene elastic-net cross-validation R^2 is unstable and the FUSION heritability filter drops many genes. Skip these unless biologically required:
| Tissue | GTEx v8 N |
|---|---|
| Kidney Medulla | 4 |
| Cervix - Endocervix | 10 |
| Cervix - Ectocervix | 9 |
| Fallopian Tube | 9 |
| Bladder | 21 |
| Brain - Substantia nigra | 139 (marginal; use with caution) |
| Brain - Spinal cord (cervical c-1) | 159 (marginal) |
For brain analyses requiring sub-region resolution at low N, substitute PsychENCODE (~1,300) or BrainSeq.
FUSION.post_process.R conditional/joint analysis (run by default, no --joint flag) is a lighter-weight alternative to FOCUS when a full DB build is unavailable; it does not return PIPs but identifies conditionally independent gene signals.