gtex-expression
Guide for integrating GTEx tissue expression data with ENCODE regulatory elements. Use when users need to check if a gene is expressed in a tissue, correlate regulatory elements with expression, or validate ENCODE findings against GTEx. Trigger on: GTEx, tissue expression, gene e
Install
npx skills add https://github.com/ammawla/encode-toolkit/tree/main/plugin/skills/gtex-expression
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install ammawla-encode-toolkit@llmmart
git clone https://github.com/ammawla/encode-toolkit.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole ammawla/encode-toolkit collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
Integrating GTEx Tissue Expression with ENCODE Regulatory Data
Use GTEx gene expression across 54 human tissues to validate ENCODE regulatory element activity, establish enhancer-gene links, and provide tissue-specific expression context for functional genomics findings.
Scientific Rationale
The question: "Is the gene near my ENCODE regulatory element actually expressed in the tissue where the element is active?"
ENCODE catalogs where regulatory elements exist (enhancers, promoters, insulators) but does not directly measure gene expression across a broad tissue panel. GTEx (Genotype-Tissue Expression) fills this gap by providing RNA-seq-based gene expression measurements across 54 human tissues from ~1,000 post-mortem donors. Integrating the two answers a fundamental question: does the regulatory landscape match the transcriptional output?
An active enhancer (H3K27ac+, ATAC-seq+) near a gene in pancreas tissue is much more meaningful if GTEx confirms the gene is highly expressed in pancreas. Conversely, an ENCODE enhancer near a gene with zero expression in the relevant tissue suggests the enhancer regulates a different gene, or acts in a cell-type subpopulation not captured by bulk GTEx.
What GTEx Provides
- Median gene expression (TPM) across 54 human tissues from ~1,000 donors
- Transcript-level expression for isoform analysis
- eQTLs — variants associated with gene expression in specific tissues (cis and trans)
- sQTLs — variants associated with alternative splicing
- Single-nucleus RNA-seq for selected tissues (GTEx v8+)
- Allele-specific expression data
Why Integrate with ENCODE
| ENCODE provides | GTEx provides | Together |
|---|---|---|
| Where regulatory elements are | Where genes are expressed | Regulatory element-expression correlation |
| Tissue-specific enhancers | Tissue-specific expression | Enhancer-gene validation |
| TF binding sites | eQTLs in those sites | Functional variant identification |
| Chromatin accessibility | Expression levels | Accessibility-expression concordance |
Key Literature
- GTEx Consortium 2020 "The GTEx Consortium atlas of genetic regulatory effects across human tissues" (Science, ~4,000 citations). The flagship publication describing the v8 release with 17,382 samples across 54 tissues from 948 donors. Identified cis-eQTLs for 95% of genes, tissue-sharing patterns, and cell-type interaction eQTLs. DOI: 10.1126/science.aaz1776
- Aguet et al. 2017 "Genetic effects on gene expression across human tissues" (Nature, ~3,000 citations). The v6p analysis establishing the multi-tissue eQTL framework, demonstrating widespread tissue-specific genetic regulation. DOI: 10.1038/nature24277
- ENCODE Project Consortium 2020 (Nature, ~1,656 citations). Registry of 926,535 human cCREs. Provides the regulatory element catalog to cross-reference with GTEx expression. DOI: 10.1038/s41586-020-2493-4
- Nasser et al. 2021 (Nature, ~468 citations). ABC model linking enhancers to genes using ENCODE data. GTEx expression validates ABC-predicted enhancer-gene pairs. DOI: 10.1038/s41586-021-03446-x
When to Use This Skill
| Scenario | How GTEx helps |
|---|---|
| Found enhancer near gene X in ENCODE | Check if gene X is expressed in the matching tissue |
| GWAS variant in ENCODE peak | Query GTEx eQTLs to identify regulated gene |
| Comparing regulatory landscapes across tissues | Validate that differential enhancers correspond to differential expression |
| Designing functional validation | Confirm gene is expressed before investing in CRISPR/reporter assays |
| Interpreting TF ChIP-seq | Check if TF target genes show expected expression patterns |
| Choosing relevant ENCODE biosamples | Use GTEx to identify which tissues express your gene of interest |
GTEx REST API Reference
Base URL: https://gtexportal.org/api/v2
No authentication required. Responses are JSON.
Key Endpoints
| Endpoint | Purpose | Key Parameters |
|---|---|---|
/expression/geneExpression |
Median TPM by tissue for a gene | geneId, datasetId |
/expression/medianTranscriptExpression |
Transcript-level TPM by tissue | geneId, datasetId |
/eqtl/singleTissueEqtl |
eQTLs for a gene in a tissue | geneId, tissueSiteDetailId, datasetId |
/expression/topExpressedGene |
Most expressed genes in a tissue | tissueSiteDetailId, datasetId |
/dataset/tissueSiteDetail |
List all GTEx tissues with IDs | — |
/reference/gene |
Gene metadata lookup | geneId or geneName |
Dataset IDs
gtex_v8— Current release (54 tissues, 948 donors, 17,382 samples)
Step 1: Identify the Gene of Interest from ENCODE Data
The starting point is typically an ENCODE finding — an active regulatory element near a gene:
# Find enhancers in pancreas
encode_search_experiments(assay_title="Histone ChIP-seq", target="H3K27ac", organ="pancreas")
# Get peak files
encode_list_files(
experiment_accession="ENCSR...",
file_format="bed",
output_type="IDR thresholded peaks",
assembly="GRCh38"
)
From the peak file, identify the nearest gene(s) to the enhancer. You will need the Ensembl gene ID (ENSG...) for GTEx queries.
Step 2: Query GTEx for Gene Expression
Get median expression across all tissues
import requests
gene_id = "ENSG00000254647" # INS (insulin)
url = f"https://gtexportal.org/api/v2/expression/geneExpression"
params = {
"geneId": gene_id,
"datasetId": "gtex_v8"
}
response = requests.get(url, params=params)
data = response.json()
# Each entry has: tissueSiteDetailId, median, geneSymbol, etc.
for entry in sorted(data["data"], key=lambda x: x["median"], reverse=True)[:10]:
print(f"{entry['tissueSiteDetailId']}: {entry['median']:.1f} TPM")
Get transcript-level expression
url = "https://gtexportal.org/api/v2/expression/medianTranscriptExpression"
params = {
"geneId": gene_id,
"datasetId": "gtex_v8"
}
response = requests.get(url, params=params)
Step 3: Map GTEx Tissues to ENCODE Biosamples
GTEx and ENCODE use different tissue nomenclature. Key mappings:
| GTEx tissueSiteDetailId | ENCODE organ/biosample | Notes |
|---|---|---|
Pancreas |
pancreas | Direct match |
Liver |
liver | Direct match |
Brain_Cortex |
brain | GTEx has 13 brain sub-regions |
Brain_Hippocampus |
brain | Map to specific brain region |
Heart_Left_Ventricle |
heart | GTEx separates ventricle/atrial |
Heart_Atrial_Appendage |
heart | — |
Lung |
lung | Direct match |
Kidney_Cortex |
kidney | GTEx has cortex only |
Whole_Blood |
blood | ENCODE uses specific blood cell types |
Skin_Sun_Exposed_Lower_leg |
skin of body | GTEx has sun-exposed/not-exposed |
Adipose_Subcutaneous |
adipose tissue | GTEx has subcutaneous/visceral |
Muscle_Skeletal |
muscle | Direct match |
Stomach |
stomach | Direct match |
Small_Intestine_Terminal_Ileum |
intestine | Partial match |
Colon_Sigmoid |
large intestine | GTEx has sigmoid/transverse |
To get the full list of GTEx tissue IDs:
url = "https://gtexportal.org/api/v2/dataset/tissueSiteDetail"
response = requests.get(url)
tissues = response.json()["data"]
for t in tissues:
print(f"{t['tissueSiteDetailId']}: {t['tissueSiteDetail']}")
Step 4: Interpret TPM Values
Expression Thresholds
| TPM Range | Interpretation | ENCODE Implication |
|---|---|---|
| 0 | Not detected | Regulatory elements likely inactive or regulating a different gene |
| 0.1 - 1 | Low / noise threshold | May reflect rare cell-type expression in bulk tissue |
| 1 - 10 | Expressed | Regulatory elements expected to show moderate activity |
| 10 - 100 | Moderately expressed | Strong expectation of active promoter + enhancers |
| 100 - 1,000 | Highly expressed | Expect broad H3K27ac, multiple enhancers |
| >1,000 | Very highly expressed | Tissue-defining genes (e.g., INS in pancreas at ~400 TPM) |
The 1 TPM threshold: Widely used as a minimum for "expressed" status. Below this, signal is difficult to distinguish from noise in bulk RNA-seq. However, genes expressed in rare cell types within a tissue (e.g., beta cells in pancreas) may show low bulk TPM but high single-cell expression.
Tissue Specificity Metric
Calculate the tau specificity index (Yanai et al. 2005):
import numpy as np
def tau_specificity(tpm_values):
"""Calculate tissue specificity (0 = ubiquitous, 1 = tissue-specific)."""
if max(tpm_values) == 0:
return 0
x = np.array(tpm_values) / max(tpm_values)
n = len(x)
return sum(1 - x) / (n - 1)
- tau > 0.8: Highly tissue-specific (e.g., INS in pancreas, ALB in liver)
- tau 0.4 - 0.8: Moderately specific
- tau < 0.4: Broadly expressed (housekeeping genes)
Step 5: Cross-Reference ENCODE Regulatory Elements with GTEx Expression
Validation Logic
IF ENCODE shows active enhancer (H3K27ac+) near gene X in tissue T
AND GTEx shows gene X expressed (TPM > 1) in tissue T
THEN: Consistent — regulatory element likely drives expression
IF ENCODE shows active enhancer near gene X in tissue T
AND GTEx shows gene X NOT expressed (TPM < 1) in tissue T
THEN: Discordant — enhancer may regulate a different gene, or
expression is cell-type-specific (below bulk detection)
IF GTEx shows gene X highly expressed in tissue T
AND ENCODE shows NO active enhancer near gene X in tissue T
THEN: Regulatory data may be incomplete for this tissue,
or regulation is promoter-driven (check H3K4me3)
Using ENCODE Tools for Cross-Referencing
# Check what ENCODE regulatory data exists for the GTEx tissue
encode_get_facets(organ="pancreas")
# Get H3K27ac (enhancer) data
encode_search_experiments(
assay_title="Histone ChIP-seq",
target="H3K27ac",
organ="pancreas",
biosample_type="tissue"
)
# Get ATAC-seq (accessibility) data
encode_search_experiments(
assay_title="ATAC-seq",
organ="pancreas",
biosample_type="tissue"
)
Step 6: eQTL Integration
GTEx eQTLs identify variants that regulate gene expression. These can be cross-referenced with ENCODE peaks.
Query eQTLs for a Gene
url = "https://gtexportal.org/api/v2/eqtl/singleTissueEqtl"
params = {
"geneId": "ENSG00000254647",
"tissueSiteDetailId": "Pancreas",
"datasetId": "gtex_v8"
}
response = requests.get(url, params=params)
eqtls = response.json()["data"]
# Each eQTL has: variantId, pValue, nes (effect size), tissueSiteDetailId
for eqtl in eqtls[:5]:
print(f"{eqtl['variantId']}: p={eqtl['pValue']:.2e}, NES={eqtl['nes']:.3f}")
GTEx-ENCODE eQTL Workflow
- Get eQTLs for gene of interest in relevant tissue
- Convert GTEx variant IDs to genomic coordinates (format:
chr1_12345_A_G_b38) - Intersect eQTL positions with ENCODE peak files (H3K27ac, ATAC-seq, TF ChIP-seq)
- eQTLs falling in active regulatory elements are high-confidence regulatory variants
- Check the
variant-annotationskill for full variant prioritization
Step 7: R Workflow Example
library(httr)
library(jsonlite)
# Query GTEx API
gene_id <- "ENSG00000254647"
url <- paste0("https://gtexportal.org/api/v2/expression/geneExpression",
"?geneId=", gene_id, "&datasetId=gtex_v8")
response <- GET(url)
data <- fromJSON(content(response, "text", encoding = "UTF-8"))
# Create expression table
expr_df <- data.frame(
tissue = data$data$tissueSiteDetailId,
median_tpm = data$data$median,
stringsAsFactors = FALSE
)
expr_df <- expr_df[order(-expr_df$median_tpm), ]
# Filter to tissues matching ENCODE organs
encode_tissues <- c("Pancreas", "Liver", "Lung", "Heart_Left_Ventricle",
"Brain_Cortex", "Kidney_Cortex")
matched <- expr_df[expr_df$tissue %in% encode_tissues, ]
print(matched)
Walkthrough: Tissue-Specific Expression Context for ENCODE Enhancer Targets
Goal: Use GTEx expression data to validate that genes near ENCODE enhancers are expressed in the expected tissue, providing functional context for epigenomic findings. Context: ENCODE identifies enhancers by chromatin marks, but expression data confirms the target gene is active in the same tissue.
Step 1: Identify enhancer target genes from ENCODE
Start with H3K27ac ChIP-seq peaks near gene promoters:
encode_search_experiments(assay_title="Histone ChIP-seq", organ="liver", target="H3K27ac", organism="Homo sapiens")
Expected output:
{
"results": [
{"accession": "ENCSR123LIV", "assay_title": "Histone ChIP-seq", "biosample_summary": "liver", "target": "H3K27ac"}
],
"total": 8,
"limit": 25,
"offset": 0,
"has_more": false,
"next_offset": null
}
Step 2: Query GTEx for tissue-specific expression
Using the GTEx REST API (via skill guidance):
GET https://gtexportal.org/api/v2/expression/medianGeneExpression?gencodeId=ENSG00000134243&tissueSiteDetailId=Liver
Expected response:
{
"medianGeneExpression": [
{"geneSymbol": "SORT1", "tissueSiteDetailId": "Liver", "median": 45.2, "unit": "TPM"},
{"geneSymbol": "SORT1", "tissueSiteDetailId": "Brain_Cortex", "median": 12.8, "unit": "TPM"},
{"geneSymbol": "SORT1", "tissueSiteDetailId": "Heart_Left_Ventricle", "median": 2.1, "unit": "TPM"}
]
}
Interpretation: SORT1 is highly expressed in liver (45.2 TPM) — consistent with the H3K27ac enhancer mark in liver tissue. The 22x enrichment over heart confirms tissue-specific regulation.
Step 3: Validate multi-gene enhancer targets
For each gene near an ENCODE enhancer peak, check GTEx expression:
- Tissue-matched expression (TPM > 5) = concordant (enhancer is near an active gene)
- No expression in tissue (TPM < 1) = discordant (enhancer may regulate a different gene, or the gene is active in a rare cell subtype)
Step 4: Track validated experiments
encode_track_experiment(accession="ENCSR123LIV", notes="Liver H3K27ac - validated with GTEx expression for SORT1, PCSK9")
Integration with downstream skills
- Enhancer targets from peak-annotation provide gene lists to query in GTEx
- GTEx tissue specificity informs disease-research for tissue-relevant disease genes
- Compare GTEx bulk expression with cellxgene-context single-cell data for cell-type resolution
- GTEx eQTL data connects to gwas-catalog trait-associated variants
Code Examples
1. Find ENCODE experiments matching a GTEx tissue
encode_search_experiments(assay_title="Histone ChIP-seq", organ="brain", target="H3K27ac", organism="Homo sapiens")
Expected output:
{
"results": [
{"accession": "ENCSR456BRN", "assay_title": "Histone ChIP-seq", "biosample_summary": "brain", "target": "H3K27ac"}
],
"total": 24,
"limit": 25,
"offset": 0,
"has_more": false,
"next_offset": null
}
2. Explore available ENCODE data for GTEx tissues
encode_get_facets(assay_title="Histone ChIP-seq", organism="Homo sapiens")
Expected output (facet field names are the top-level keys):
{
"biosample_ontology.organ_slims": [
{"term": "brain", "count": 45},
{"term": "liver", "count": 18}
]
}
3. Get file details for expression comparison
encode_list_files(experiment_accession="ENCSR456BRN", file_format="bed", output_type="IDR thresholded peaks", assembly="GRCh38")
Expected output (a JSON array of file records; fields abridged):
[
{"accession": "ENCFF789IDR", "output_type": "IDR thresholded peaks", "file_format": "bed", "file_type": "bed narrowPeak", "file_size_human": "1.2 MB"}
]
Integration
| This skill produces... | Feed into... | Purpose |
|---|---|---|
| Tissue-specific gene expression (TPM) | peak-annotation | Validate enhancer target gene assignments with expression evidence |
| GTEx eQTL associations | gwas-catalog | Connect GWAS variants to expression-altering mechanisms |
| Tissue expression profiles | disease-research | Identify disease-relevant tissues for ENCODE data selection |
| Multi-tissue expression matrix | visualization-workflow | Generate tissue expression heatmaps alongside epigenomic data |
| Expression-validated gene lists | regulatory-elements | Prioritize cCREs near expressed genes |
| GTEx tissue matches | cellxgene-context | Compare bulk (GTEx) vs single-cell expression resolution |
| Tissue-specific genes | compare-biosamples | Identify genes differentially expressed between ENCODE biosamples |
Presenting Results
Expression Summary Table
| Tissue | GTEx Median TPM | Rank (of 54) | ENCODE Data Available | Concordance |
|---|---|---|---|---|
| Pancreas | 387.2 | 1 | H3K27ac, ATAC-seq, RNA-seq | Active enhancer confirmed |
| Liver | 0.3 | 48 | H3K27ac, ATAC-seq | No active enhancer (expected) |
| Brain_Cortex | 0.0 | 54 | H3K27ac, ATAC-seq, Hi-C | No signal (expected) |
Key Numbers to Report
- Gene symbol and Ensembl ID
- TPM in target tissue and rank across all 54 tissues
- Tissue specificity (tau index)
- Number of tissues where gene is expressed (TPM > 1)
- Whether ENCODE regulatory data is concordant
- eQTL count in target tissue (if queried)
Pitfalls & Edge Cases
- GTEx tissue names ≠ ENCODE organ names: GTEx uses specific tissue subregions (e.g., "Brain - Cortex", "Brain - Cerebellum") while ENCODE uses broader organ terms ("brain"). Map carefully using the GTEx tissue-to-ENCODE organ mapping table.
- GTEx v8 vs v10 coordinate differences: GTEx v8 uses GRCh38 but gene models differ from v10. Ensure you match the GTEx version to your GENCODE annotation version.
- Bulk tissue heterogeneity: GTEx expression represents a mixture of cell types. A gene with "low" GTEx expression may be highly expressed in a rare cell type. Use single-cell deconvolution for cell-type resolution.
- eQTL effect sizes are tissue-specific: A variant that is an eQTL in liver may not be one in pancreas. Never assume eQTL effects generalize across tissues — always check the specific tissue of interest.
- TPM normalization caveats: GTEx TPM values cannot be directly compared across tissues with very different transcriptome compositions. Use the GTEx-provided median TPM or normalized values for cross-tissue comparisons.
Related Skills
variant-annotation— Full variant interpretation workflow using ENCODE functional datadisease-research— Disease-focused ENCODE analysis workflowsregulatory-elements— Characterizing ENCODE regulatory elements near expressed genescellxgene-context— Single-cell expression context when GTEx bulk is insufficientcross-reference— Linking ENCODE experiments to GTEx and other external databasesensembl-annotation— Gene annotation, VEP, and coordinate conversionpublication-trust— Verify literature claims backing analytical decisions
For the request: "$ARGUMENTS"
Files (encode-toolkit)
-
references
-
literature.md 10.9 KB
# GTEx Expression — Literature References **Last updated:** 2026-03-07 **Purpose:** Reference catalog for the gtex-expression skill — key papers informing tissue-specific gene expression analysis, eQTL mapping, and transcriptome-wide association studies using the Genotype-Tissue Expression project. --- ## Core GTEx Releases --- ### GTEx Consortium 2020 — GTEx v8: the definitive multi-tissue expression resource - **Citation:** GTEx Consortium. The GTEx Consortium atlas of genetic regulatory effects across human tissues. Science, 369(6509):1318-1330, 2020. - **DOI:** [10.1126/science.aaz1776](https://doi.org/10.1126/science.aaz1776) - **PMID:** 32913098 | **PMC:** PMC7737656 - **Citations:** ~4,000 - **Key findings:** GTEx v8 profiled gene expression via RNA-seq across 54 tissue types from 838 postmortem donors, generating the largest multi-tissue eQTL map with 4.1 million significant cis-eQTLs across 49 tissues. Demonstrated that 95% of protein-coding genes have at least one eQTL in at least one tissue, with approximately 30% of eQTLs showing tissue-specific or tissue-enriched effects — meaning that genetic regulation of gene expression is pervasive but often constrained to particular biological contexts. Introduced MASH (Multivariate Adaptive Shrinkage) for Bayesian multi-tissue eQTL sharing analysis, revealing that most eQTL effect sizes are shared across tissues but with quantitative magnitude differences reflecting tissue-specific regulatory activity. The v8 release also expanded splicing QTL (sQTL) analysis, identifying 32,663 sQTL associations affecting alternative splicing in a tissue-dependent manner, often at loci distinct from eQTLs — demonstrating that genetic variants regulate gene output at both the expression level and the isoform level. This dataset is the foundational resource for interpreting GWAS variants in regulatory context — by overlapping GWAS hits with GTEx eQTLs and sQTLs, researchers can identify which gene is affected, in which tissue, and through which regulatory mechanism (expression vs. splicing), connecting non-coding variants to specific molecular mechanisms. --- ### Aguet et al. 2017 — Multi-tissue eQTL mapping reveals regulatory mechanisms - **Citation:** Aguet F, Brown AA, Castel SE, Davis JR, He Y, Jo B, Mohammadi P, Park Y, Parsana P, Segre AV, et al. Genetic effects on gene expression across human tissues. Nature, 550(7675):204-213, 2017. - **DOI:** [10.1038/nature24277](https://doi.org/10.1038/nature24277) - **PMID:** 29022597 | **PMC:** PMC5776756 - **Citations:** ~2,500 - **Key findings:** GTEx v6p analysis of 44 tissues identified cis-eQTLs for 19,725 protein-coding and 3,692 lncRNA genes, establishing these as "eGenes" with genetically controlled expression levels. Demonstrated that cis-eQTLs map predominantly within 1 Mb of the TSS with strong enrichment in promoters and enhancers annotated by ENCODE and Roadmap Epigenomics, directly linking histone modification patterns to functional genetic variation. Tissue- sharing analysis revealed distinct regulatory clusters: immune tissues share eQTLs with each other, brain regions form a separate regulatory cluster, and reproductive tissues (testis, ovary) show unique effects rarely shared with other tissues. The multi-tissue framework enabled identification of "master regulatory variants" affecting gene expression across dozens of tissues, distinguishing these from tissue-restricted regulatory effects. --- ### GTEx Consortium 2015 — GTEx pilot: establishing the genotype-tissue expression resource - **Citation:** GTEx Consortium. Human genomics. The Genotype-Tissue Expression (GTEx) pilot analysis: multitissue gene regulation in humans. Science, 348(6235):648-660, 2015. - **DOI:** [10.1126/science.1262110](https://doi.org/10.1126/science.1262110) - **PMID:** 25954001 | **PMC:** PMC4547484 - **Citations:** ~3,500 - **Key findings:** Pilot phase analyzing 1,641 samples across 43 tissues from 175 donors, establishing the feasibility and scientific value of systematic multi-tissue eQTL mapping from postmortem samples. Showed that tissue- specific eQTLs are significantly enriched in tissue-specific enhancers defined by histone modifications (H3K27ac, H3K4me1 from Roadmap Epigenomics), providing the first genome-wide evidence that chromatin- defined regulatory elements harbor functional genetic variants. Demonstrated that allelic expression (ASE) analysis within individuals provides independent validation of population-level eQTL effects and can detect regulatory variants with smaller sample sizes. Established the analytical framework — including correction for hidden confounders using PEER factors and permutation-based significance thresholds — that all subsequent GTEx analyses built upon, and which became the de facto standard for eQTL studies. --- ## TWAS / Gene-Level Methods --- ### Gamazon et al. 2015 — PrediXcan: gene-level association testing from genotypes - **Citation:** Gamazon ER, Wheeler HE, Shah KP, Mozaffari SV, Aquino-Michaels K, Carroll RJ, Eyler AE, Denny JC, GTEx Consortium, Nicolae DL, Cox NJ, Im HK. A gene-based association method for mapping traits using reference transcriptome data. Nature Genetics, 47(9):1091-1098, 2015. - **DOI:** [10.1038/ng.3367](https://doi.org/10.1038/ng.3367) - **PMID:** 26258848 | **PMC:** PMC4552594 - **Citations:** ~2,500 - **Key findings:** Introduced PrediXcan, which imputes tissue-specific gene expression from genotype data using elastic net models trained on GTEx reference panels, then tests the association between imputed expression and phenotype. By aggregating the effects of multiple regulatory variants into a single gene-level test statistic, PrediXcan increases statistical power over single-variant GWAS and provides directional interpretation — whether higher or lower expression of a specific gene in a specific tissue associates with disease. Demonstrated that gene-level associations replicate across independent cohorts at substantially higher rates than single-SNP associations, suggesting they capture more biologically meaningful signals. PrediXcan launched the transcriptome-wide association study (TWAS) field, creating a direct bridge between ENCODE regulatory annotations (which define which variants are regulatory) and disease genetics (which identifies which variants matter for phenotypes). --- ### Barbeira et al. 2018 — MetaXcan: multi-tissue TWAS framework - **Citation:** Barbeira AN, Dickinson SP, Bonazzola R, Zheng J, Wheeler HE, Torres JM, Tober ES, Shah KP, Edwards TL, Stahl EA, et al. Exploring the phenotypic consequences of tissue specific gene expression variation inferred from GWAS summary statistics. Nature Communications, 9(1):1825, 2018. - **DOI:** [10.1038/s41467-018-03621-1](https://doi.org/10.1038/s41467-018-03621-1) - **PMID:** 29739930 | **PMC:** PMC5940825 - **Citations:** ~1,200 - **Key findings:** Extended PrediXcan to work with GWAS summary statistics (S-PrediXcan) rather than requiring individual-level genotype data, vastly expanding applicability to the thousands of published GWAS results with publicly available summary statistics. The MetaXcan framework integrates TWAS results across multiple tissues, using multi-tissue meta-analysis to identify 247 novel gene-trait associations across 108 phenotypes from GWAS Catalog studies. Showed that multi-tissue analysis increases power by leveraging regulatory effects shared across related tissues (e.g., combining all 13 brain regions for neuropsychiatric traits, or combining adipose subcutaneous and visceral for metabolic traits) while maintaining the ability to identify tissue-specific effects through conditional analysis. Revealed that many GWAS loci contain multiple independent gene-trait associations operating in different tissues, suggesting more complex regulatory architectures than the "one locus, one gene" model implies. The summary statistics-based approach also enables colocalization analysis with ENCODE regulatory annotations, testing whether the same causal variant drives both the GWAS signal and the eQTL signal within a specific chromatin context. --- ## Cell-Type Resolution --- ### Kim-Hellmuth et al. 2020 — Cell-type-specific eQTLs from GTEx bulk tissue - **Citation:** Kim-Hellmuth S, Aguet F, Oliva M, Munoz-Aguirre M, Kasela S, Wucher V, Castel SE, Hamel AR, Vinuela A, Roberts AL, et al. Cell type- specific genetic regulation of gene expression across human tissues. Science, 369(6509):eaaz8528, 2020. - **DOI:** [10.1126/science.aaz8528](https://doi.org/10.1126/science.aaz8528) - **PMID:** 32913075 | **PMC:** PMC7668455 - **Citations:** ~800 - **Key findings:** Used computational deconvolution of GTEx v8 bulk RNA-seq to estimate cell type proportions per sample, then identified cell-type- interaction eQTLs (ct-eQTLs) whose regulatory effects depend on the abundance of specific cell types. Found 3,347 ct-eQTLs across 8 tissues, with ~20% representing effects entirely missed by standard bulk eQTL analysis because they average out across cell types. Many ct-eQTLs colocalize with cell-type-specific ATAC-seq peaks from ENCODE and with GWAS loci, suggesting that disease-associated variants frequently act through specific cell populations within heterogeneous tissues. This work established that bulk tissue eQTL studies — including GTEx — systematically underestimate the complexity of gene regulation and miss cell-type-specific disease mechanisms that single-cell or deconvolution approaches can reveal. --- ### Eraslan et al. 2022 — Single-cell GTEx: cell-type resolution across human tissues - **Citation:** Eraslan G, Drokhlyansky E, Anber S, Regev A, et al. Single- nucleus cross-tissue molecular reference maps toward understanding disease gene function. Science, 376(6594):eabl4290, 2022. - **DOI:** [10.1126/science.abl4290](https://doi.org/10.1126/science.abl4290) - **PMID:** 35549429 | **PMC:** PMC9744718 - **Citations:** ~600 - **Key findings:** Generated single-nucleus RNA-seq profiles from ~200,000 nuclei across 8 tissue types from GTEx donors with matched genotype data, creating the first cell-type-resolution expression atlas linked to individual genomes. Identified 6,600 cell-type-level eQTLs, of which 43% showed significant cell-type specificity invisible in bulk tissue analysis. Disease-associated GWAS variants were enriched in cell-type-specific eQTLs corresponding to pathogenically relevant cell types — hepatocytes for liver disease, podocytes for kidney disease, glutamatergic neurons for neuropsychiatric conditions. This single-cell GTEx pilot proved that cell- type-resolved eQTL mapping is essential for mechanistic interpretation of GWAS results, for identifying causal cell types, and for understanding why the same genetic variant can have different effects in different tissues — namely because it operates in cell types present at varying proportions across tissues. ---
-
-
SKILL.md 19.3 KB
--- name: gtex-expression description: "Guide for integrating GTEx tissue expression data with ENCODE regulatory elements. Use when users need to check if a gene is expressed in a tissue, correlate regulatory elements with expression, or validate ENCODE findings against GTEx. Trigger on: GTEx, tissue expression, gene expression levels, expression atlas, eQTL, tissue-specific expression, TPM values." --- # Integrating GTEx Tissue Expression with ENCODE Regulatory Data Use GTEx gene expression across 54 human tissues to validate ENCODE regulatory element activity, establish enhancer-gene links, and provide tissue-specific expression context for functional genomics findings. ## Scientific Rationale **The question**: "Is the gene near my ENCODE regulatory element actually expressed in the tissue where the element is active?" ENCODE catalogs where regulatory elements exist (enhancers, promoters, insulators) but does not directly measure gene expression across a broad tissue panel. GTEx (Genotype-Tissue Expression) fills this gap by providing RNA-seq-based gene expression measurements across 54 human tissues from ~1,000 post-mortem donors. Integrating the two answers a fundamental question: does the regulatory landscape match the transcriptional output? An active enhancer (H3K27ac+, ATAC-seq+) near a gene in pancreas tissue is much more meaningful if GTEx confirms the gene is highly expressed in pancreas. Conversely, an ENCODE enhancer near a gene with zero expression in the relevant tissue suggests the enhancer regulates a different gene, or acts in a cell-type subpopulation not captured by bulk GTEx. ### What GTEx Provides - **Median gene expression (TPM)** across 54 human tissues from ~1,000 donors - **Transcript-level expression** for isoform analysis - **eQTLs** — variants associated with gene expression in specific tissues (cis and trans) - **sQTLs** — variants associated with alternative splicing - **Single-nucleus RNA-seq** for selected tissues (GTEx v8+) - **Allele-specific expression** data ### Why Integrate with ENCODE | ENCODE provides | GTEx provides | Together | |----------------|--------------|---------| | Where regulatory elements are | Where genes are expressed | Regulatory element-expression correlation | | Tissue-specific enhancers | Tissue-specific expression | Enhancer-gene validation | | TF binding sites | eQTLs in those sites | Functional variant identification | | Chromatin accessibility | Expression levels | Accessibility-expression concordance | ## Key Literature - **GTEx Consortium 2020** "The GTEx Consortium atlas of genetic regulatory effects across human tissues" (Science, ~4,000 citations). The flagship publication describing the v8 release with 17,382 samples across 54 tissues from 948 donors. Identified cis-eQTLs for 95% of genes, tissue-sharing patterns, and cell-type interaction eQTLs. [DOI: 10.1126/science.aaz1776](https://doi.org/10.1126/science.aaz1776) - **Aguet et al. 2017** "Genetic effects on gene expression across human tissues" (Nature, ~3,000 citations). The v6p analysis establishing the multi-tissue eQTL framework, demonstrating widespread tissue-specific genetic regulation. [DOI: 10.1038/nature24277](https://doi.org/10.1038/nature24277) - **ENCODE Project Consortium 2020** (Nature, ~1,656 citations). Registry of 926,535 human cCREs. Provides the regulatory element catalog to cross-reference with GTEx expression. [DOI: 10.1038/s41586-020-2493-4](https://doi.org/10.1038/s41586-020-2493-4) - **Nasser et al. 2021** (Nature, ~468 citations). ABC model linking enhancers to genes using ENCODE data. GTEx expression validates ABC-predicted enhancer-gene pairs. [DOI: 10.1038/s41586-021-03446-x](https://doi.org/10.1038/s41586-021-03446-x) ## When to Use This Skill | Scenario | How GTEx helps | |---------|---------------| | Found enhancer near gene X in ENCODE | Check if gene X is expressed in the matching tissue | | GWAS variant in ENCODE peak | Query GTEx eQTLs to identify regulated gene | | Comparing regulatory landscapes across tissues | Validate that differential enhancers correspond to differential expression | | Designing functional validation | Confirm gene is expressed before investing in CRISPR/reporter assays | | Interpreting TF ChIP-seq | Check if TF target genes show expected expression patterns | | Choosing relevant ENCODE biosamples | Use GTEx to identify which tissues express your gene of interest | ## GTEx REST API Reference **Base URL**: `https://gtexportal.org/api/v2` No authentication required. Responses are JSON. ### Key Endpoints | Endpoint | Purpose | Key Parameters | |---------|---------|---------------| | `/expression/geneExpression` | Median TPM by tissue for a gene | `geneId`, `datasetId` | | `/expression/medianTranscriptExpression` | Transcript-level TPM by tissue | `geneId`, `datasetId` | | `/eqtl/singleTissueEqtl` | eQTLs for a gene in a tissue | `geneId`, `tissueSiteDetailId`, `datasetId` | | `/expression/topExpressedGene` | Most expressed genes in a tissue | `tissueSiteDetailId`, `datasetId` | | `/dataset/tissueSiteDetail` | List all GTEx tissues with IDs | — | | `/reference/gene` | Gene metadata lookup | `geneId` or `geneName` | ### Dataset IDs - `gtex_v8` — Current release (54 tissues, 948 donors, 17,382 samples) ## Step 1: Identify the Gene of Interest from ENCODE Data The starting point is typically an ENCODE finding — an active regulatory element near a gene: ``` # Find enhancers in pancreas encode_search_experiments(assay_title="Histone ChIP-seq", target="H3K27ac", organ="pancreas") # Get peak files encode_list_files( experiment_accession="ENCSR...", file_format="bed", output_type="IDR thresholded peaks", assembly="GRCh38" ) ``` From the peak file, identify the nearest gene(s) to the enhancer. You will need the Ensembl gene ID (ENSG...) for GTEx queries. ## Step 2: Query GTEx for Gene Expression ### Get median expression across all tissues ```python import requests gene_id = "ENSG00000254647" # INS (insulin) url = f"https://gtexportal.org/api/v2/expression/geneExpression" params = { "geneId": gene_id, "datasetId": "gtex_v8" } response = requests.get(url, params=params) data = response.json() # Each entry has: tissueSiteDetailId, median, geneSymbol, etc. for entry in sorted(data["data"], key=lambda x: x["median"], reverse=True)[:10]: print(f"{entry['tissueSiteDetailId']}: {entry['median']:.1f} TPM") ``` ### Get transcript-level expression ```python url = "https://gtexportal.org/api/v2/expression/medianTranscriptExpression" params = { "geneId": gene_id, "datasetId": "gtex_v8" } response = requests.get(url, params=params) ``` ## Step 3: Map GTEx Tissues to ENCODE Biosamples GTEx and ENCODE use different tissue nomenclature. Key mappings: | GTEx tissueSiteDetailId | ENCODE organ/biosample | Notes | |------------------------|----------------------|-------| | `Pancreas` | pancreas | Direct match | | `Liver` | liver | Direct match | | `Brain_Cortex` | brain | GTEx has 13 brain sub-regions | | `Brain_Hippocampus` | brain | Map to specific brain region | | `Heart_Left_Ventricle` | heart | GTEx separates ventricle/atrial | | `Heart_Atrial_Appendage` | heart | — | | `Lung` | lung | Direct match | | `Kidney_Cortex` | kidney | GTEx has cortex only | | `Whole_Blood` | blood | ENCODE uses specific blood cell types | | `Skin_Sun_Exposed_Lower_leg` | skin of body | GTEx has sun-exposed/not-exposed | | `Adipose_Subcutaneous` | adipose tissue | GTEx has subcutaneous/visceral | | `Muscle_Skeletal` | muscle | Direct match | | `Stomach` | stomach | Direct match | | `Small_Intestine_Terminal_Ileum` | intestine | Partial match | | `Colon_Sigmoid` | large intestine | GTEx has sigmoid/transverse | To get the full list of GTEx tissue IDs: ```python url = "https://gtexportal.org/api/v2/dataset/tissueSiteDetail" response = requests.get(url) tissues = response.json()["data"] for t in tissues: print(f"{t['tissueSiteDetailId']}: {t['tissueSiteDetail']}") ``` ## Step 4: Interpret TPM Values ### Expression Thresholds | TPM Range | Interpretation | ENCODE Implication | |-----------|---------------|-------------------| | 0 | Not detected | Regulatory elements likely inactive or regulating a different gene | | 0.1 - 1 | Low / noise threshold | May reflect rare cell-type expression in bulk tissue | | 1 - 10 | Expressed | Regulatory elements expected to show moderate activity | | 10 - 100 | Moderately expressed | Strong expectation of active promoter + enhancers | | 100 - 1,000 | Highly expressed | Expect broad H3K27ac, multiple enhancers | | >1,000 | Very highly expressed | Tissue-defining genes (e.g., INS in pancreas at ~400 TPM) | **The 1 TPM threshold**: Widely used as a minimum for "expressed" status. Below this, signal is difficult to distinguish from noise in bulk RNA-seq. However, genes expressed in rare cell types within a tissue (e.g., beta cells in pancreas) may show low bulk TPM but high single-cell expression. ### Tissue Specificity Metric Calculate the tau specificity index (Yanai et al. 2005): ```python import numpy as np def tau_specificity(tpm_values): """Calculate tissue specificity (0 = ubiquitous, 1 = tissue-specific).""" if max(tpm_values) == 0: return 0 x = np.array(tpm_values) / max(tpm_values) n = len(x) return sum(1 - x) / (n - 1) ``` - tau > 0.8: Highly tissue-specific (e.g., INS in pancreas, ALB in liver) - tau 0.4 - 0.8: Moderately specific - tau < 0.4: Broadly expressed (housekeeping genes) ## Step 5: Cross-Reference ENCODE Regulatory Elements with GTEx Expression ### Validation Logic ``` IF ENCODE shows active enhancer (H3K27ac+) near gene X in tissue T AND GTEx shows gene X expressed (TPM > 1) in tissue T THEN: Consistent — regulatory element likely drives expression IF ENCODE shows active enhancer near gene X in tissue T AND GTEx shows gene X NOT expressed (TPM < 1) in tissue T THEN: Discordant — enhancer may regulate a different gene, or expression is cell-type-specific (below bulk detection) IF GTEx shows gene X highly expressed in tissue T AND ENCODE shows NO active enhancer near gene X in tissue T THEN: Regulatory data may be incomplete for this tissue, or regulation is promoter-driven (check H3K4me3) ``` ### Using ENCODE Tools for Cross-Referencing ``` # Check what ENCODE regulatory data exists for the GTEx tissue encode_get_facets(organ="pancreas") # Get H3K27ac (enhancer) data encode_search_experiments( assay_title="Histone ChIP-seq", target="H3K27ac", organ="pancreas", biosample_type="tissue" ) # Get ATAC-seq (accessibility) data encode_search_experiments( assay_title="ATAC-seq", organ="pancreas", biosample_type="tissue" ) ``` ## Step 6: eQTL Integration GTEx eQTLs identify variants that regulate gene expression. These can be cross-referenced with ENCODE peaks. ### Query eQTLs for a Gene ```python url = "https://gtexportal.org/api/v2/eqtl/singleTissueEqtl" params = { "geneId": "ENSG00000254647", "tissueSiteDetailId": "Pancreas", "datasetId": "gtex_v8" } response = requests.get(url, params=params) eqtls = response.json()["data"] # Each eQTL has: variantId, pValue, nes (effect size), tissueSiteDetailId for eqtl in eqtls[:5]: print(f"{eqtl['variantId']}: p={eqtl['pValue']:.2e}, NES={eqtl['nes']:.3f}") ``` ### GTEx-ENCODE eQTL Workflow 1. Get eQTLs for gene of interest in relevant tissue 2. Convert GTEx variant IDs to genomic coordinates (format: `chr1_12345_A_G_b38`) 3. Intersect eQTL positions with ENCODE peak files (H3K27ac, ATAC-seq, TF ChIP-seq) 4. eQTLs falling in active regulatory elements are high-confidence regulatory variants 5. Check the `variant-annotation` skill for full variant prioritization ## Step 7: R Workflow Example ```r library(httr) library(jsonlite) # Query GTEx API gene_id <- "ENSG00000254647" url <- paste0("https://gtexportal.org/api/v2/expression/geneExpression", "?geneId=", gene_id, "&datasetId=gtex_v8") response <- GET(url) data <- fromJSON(content(response, "text", encoding = "UTF-8")) # Create expression table expr_df <- data.frame( tissue = data$data$tissueSiteDetailId, median_tpm = data$data$median, stringsAsFactors = FALSE ) expr_df <- expr_df[order(-expr_df$median_tpm), ] # Filter to tissues matching ENCODE organs encode_tissues <- c("Pancreas", "Liver", "Lung", "Heart_Left_Ventricle", "Brain_Cortex", "Kidney_Cortex") matched <- expr_df[expr_df$tissue %in% encode_tissues, ] print(matched) ``` ## Walkthrough: Tissue-Specific Expression Context for ENCODE Enhancer Targets **Goal**: Use GTEx expression data to validate that genes near ENCODE enhancers are expressed in the expected tissue, providing functional context for epigenomic findings. **Context**: ENCODE identifies enhancers by chromatin marks, but expression data confirms the target gene is active in the same tissue. ### Step 1: Identify enhancer target genes from ENCODE Start with H3K27ac ChIP-seq peaks near gene promoters: ``` encode_search_experiments(assay_title="Histone ChIP-seq", organ="liver", target="H3K27ac", organism="Homo sapiens") ``` Expected output: ```json { "results": [ {"accession": "ENCSR123LIV", "assay_title": "Histone ChIP-seq", "biosample_summary": "liver", "target": "H3K27ac"} ], "total": 8, "limit": 25, "offset": 0, "has_more": false, "next_offset": null } ``` ### Step 2: Query GTEx for tissue-specific expression Using the GTEx REST API (via skill guidance): ``` GET https://gtexportal.org/api/v2/expression/medianGeneExpression?gencodeId=ENSG00000134243&tissueSiteDetailId=Liver ``` Expected response: ```json { "medianGeneExpression": [ {"geneSymbol": "SORT1", "tissueSiteDetailId": "Liver", "median": 45.2, "unit": "TPM"}, {"geneSymbol": "SORT1", "tissueSiteDetailId": "Brain_Cortex", "median": 12.8, "unit": "TPM"}, {"geneSymbol": "SORT1", "tissueSiteDetailId": "Heart_Left_Ventricle", "median": 2.1, "unit": "TPM"} ] } ``` **Interpretation**: SORT1 is highly expressed in liver (45.2 TPM) — consistent with the H3K27ac enhancer mark in liver tissue. The 22x enrichment over heart confirms tissue-specific regulation. ### Step 3: Validate multi-gene enhancer targets For each gene near an ENCODE enhancer peak, check GTEx expression: - Tissue-matched expression (TPM > 5) = **concordant** (enhancer is near an active gene) - No expression in tissue (TPM < 1) = **discordant** (enhancer may regulate a different gene, or the gene is active in a rare cell subtype) ### Step 4: Track validated experiments ``` encode_track_experiment(accession="ENCSR123LIV", notes="Liver H3K27ac - validated with GTEx expression for SORT1, PCSK9") ``` ### Integration with downstream skills - Enhancer targets from **peak-annotation** provide gene lists to query in GTEx - GTEx tissue specificity informs **disease-research** for tissue-relevant disease genes - Compare GTEx bulk expression with **cellxgene-context** single-cell data for cell-type resolution - GTEx eQTL data connects to **gwas-catalog** trait-associated variants ## Code Examples ### 1. Find ENCODE experiments matching a GTEx tissue ``` encode_search_experiments(assay_title="Histone ChIP-seq", organ="brain", target="H3K27ac", organism="Homo sapiens") ``` Expected output: ```json { "results": [ {"accession": "ENCSR456BRN", "assay_title": "Histone ChIP-seq", "biosample_summary": "brain", "target": "H3K27ac"} ], "total": 24, "limit": 25, "offset": 0, "has_more": false, "next_offset": null } ``` ### 2. Explore available ENCODE data for GTEx tissues ``` encode_get_facets(assay_title="Histone ChIP-seq", organism="Homo sapiens") ``` Expected output (facet field names are the top-level keys): ```json { "biosample_ontology.organ_slims": [ {"term": "brain", "count": 45}, {"term": "liver", "count": 18} ] } ``` ### 3. Get file details for expression comparison ``` encode_list_files(experiment_accession="ENCSR456BRN", file_format="bed", output_type="IDR thresholded peaks", assembly="GRCh38") ``` Expected output (a JSON array of file records; fields abridged): ```json [ {"accession": "ENCFF789IDR", "output_type": "IDR thresholded peaks", "file_format": "bed", "file_type": "bed narrowPeak", "file_size_human": "1.2 MB"} ] ``` ## Integration | This skill produces... | Feed into... | Purpose | |---|---|---| | Tissue-specific gene expression (TPM) | **peak-annotation** | Validate enhancer target gene assignments with expression evidence | | GTEx eQTL associations | **gwas-catalog** | Connect GWAS variants to expression-altering mechanisms | | Tissue expression profiles | **disease-research** | Identify disease-relevant tissues for ENCODE data selection | | Multi-tissue expression matrix | **visualization-workflow** | Generate tissue expression heatmaps alongside epigenomic data | | Expression-validated gene lists | **regulatory-elements** | Prioritize cCREs near expressed genes | | GTEx tissue matches | **cellxgene-context** | Compare bulk (GTEx) vs single-cell expression resolution | | Tissue-specific genes | **compare-biosamples** | Identify genes differentially expressed between ENCODE biosamples | ## Presenting Results ### Expression Summary Table | Tissue | GTEx Median TPM | Rank (of 54) | ENCODE Data Available | Concordance | |--------|----------------|-------------|----------------------|-------------| | Pancreas | 387.2 | 1 | H3K27ac, ATAC-seq, RNA-seq | Active enhancer confirmed | | Liver | 0.3 | 48 | H3K27ac, ATAC-seq | No active enhancer (expected) | | Brain_Cortex | 0.0 | 54 | H3K27ac, ATAC-seq, Hi-C | No signal (expected) | ### Key Numbers to Report - Gene symbol and Ensembl ID - TPM in target tissue and rank across all 54 tissues - Tissue specificity (tau index) - Number of tissues where gene is expressed (TPM > 1) - Whether ENCODE regulatory data is concordant - eQTL count in target tissue (if queried) ## Pitfalls & Edge Cases - **GTEx tissue names ≠ ENCODE organ names**: GTEx uses specific tissue subregions (e.g., "Brain - Cortex", "Brain - Cerebellum") while ENCODE uses broader organ terms ("brain"). Map carefully using the GTEx tissue-to-ENCODE organ mapping table. - **GTEx v8 vs v10 coordinate differences**: GTEx v8 uses GRCh38 but gene models differ from v10. Ensure you match the GTEx version to your GENCODE annotation version. - **Bulk tissue heterogeneity**: GTEx expression represents a mixture of cell types. A gene with "low" GTEx expression may be highly expressed in a rare cell type. Use single-cell deconvolution for cell-type resolution. - **eQTL effect sizes are tissue-specific**: A variant that is an eQTL in liver may not be one in pancreas. Never assume eQTL effects generalize across tissues — always check the specific tissue of interest. - **TPM normalization caveats**: GTEx TPM values cannot be directly compared across tissues with very different transcriptome compositions. Use the GTEx-provided median TPM or normalized values for cross-tissue comparisons. ## Related Skills - `variant-annotation` — Full variant interpretation workflow using ENCODE functional data - `disease-research` — Disease-focused ENCODE analysis workflows - `regulatory-elements` — Characterizing ENCODE regulatory elements near expressed genes - `cellxgene-context` — Single-cell expression context when GTEx bulk is insufficient - `cross-reference` — Linking ENCODE experiments to GTEx and other external databases - `ensembl-annotation` — Gene annotation, VEP, and coordinate conversion - `publication-trust` — Verify literature claims backing analytical decisions ## For the request: "$ARGUMENTS"
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.