bio-causal-genomics-effector-gene-prioritization

SkillAI & models

Maps GWAS-implicated loci to candidate effector (causal) genes by integrating variant-to-gene (V2G) features via Open Targets L2G (Mountjoy 2021), MAGMA gene-based association (de Leeuw 2015), FUMA SNP2GENE, cS2G combined SNP-to-gene scores (Gazal 2022), Polygenic Priority Scores (PoPS, Weeks 2023), FLAMES, INQUISIT, DEPICT, and enhancer-gene predictors (ABC, ENCODE-rE2G). Use when narrowing a GWAS lead locus to a candidate causal gene, picking between proximity, eQTL-based, and similarity-based prioritizers, integrating multi-evidence streams (fine-mapping, colocalization, ABC enhancer-gene, distance, chromatin), reconciling discordant L2G vs PoPS calls, prioritizing tissue-specific eQTL evidence, or triangulating across at least three independent lines of evidence for a publication-grade effector-gene nomination.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the bio-causal-genomics-effector-gene-prioritization skill

What this skill tells your AI

The instructions your AI receives, as published by pku-yuangroup/openai4s in skills/bioskills/bio-causal-genomics-effector-gene-prioritization/SKILL.md and read by ahel’s review.

Version Compatibility

Reference examples tested with: MAGMA 1.10+ (cncr.nl/research/magma), FUMA web platform v1.6+ (fuma.ctglab.nl), Open Targets Genetics API (REST + GraphQL, June 2024 release), PoPS (head of FinucaneLab/pops, 2024), cS2G pre-computed scores (Zenodo record 7754032, Gazal 2022), ABC-Enhancer-Gene-Prediction 0.2.2+, ENCODE-rE2G v1.0+ (Gschwind 2023 preprint), DEPICT v1 rel194, INQUISIT (Fachal 2020 supplementary), Python 3.9-3.11, R 4.3+, PLINK 1.9 + PLINK 2.0.

Before using code patterns, verify installed versions match. If versions differ:

  • CLI: magma --help to confirm gene-window, gene-annot, and gene-set flag names
  • Python: pip show gentropy; introspect endpoints at api.platform.opentargets.org/api/v4/graphql
  • R: packageVersion('coloc') etc. for upstream evidence integration

If a script throws an error about an argument that has moved (e.g. an Open Targets endpoint renamed during a release) or a model file schema change, introspect the installed tool and adapt rather than retrying. Open Targets Genetics deprecated the standalone Genetics Portal in 2024 in favour of the integrated platform; verify endpoint URLs at the time of use.

Effector Gene Prioritization

"Which gene at this GWAS locus is actually the causal mediator?" -> Integrate fine-mapping, colocalization, chromatin-based enhancer-gene predictions, distance, and gene-similarity priors into a per-locus per-gene confidence score, then require concordance across multiple orthogonal evidence streams before nominating a causal effector. Effector gene prioritization is the bridge between statistical fine-mapping (variant level) and biological hypothesis (gene level); it is the most failure-prone step in GWAS-to-target pipelines because the nearest-gene assumption is wrong roughly 30-50% of the time at well-studied loci.

  • CLI (gene-level association): magma --bfile ref --gene-loc geneloc.txt --pval gwas.tsv ncol=N --out out -> magma --gene-results out.genes.raw --set-annot annot.txt --out out
  • Web (integrative): FUMA SNP2GENE at fuma.ctglab.nl (positional + eQTL + Hi-C + chromatin in one workflow)
  • API (pre-computed L2G): Open Targets Genetics GraphQL studyLocus2GeneTable query (note: Open Targets Genetics was consolidated into the Open Targets Platform in 2024; verify the live endpoint at api.platform.opentargets.org/api/v4/graphql)
  • Python (similarity prior): python pops.py --gene_annot_path gene_annot.txt --feature_mat_prefix features --control_features_path control.features --magma_prefix magma_out --out_prefix out
  • Lookup (combined SNP-to-gene): cS2G pre-computed gene scores at zenodo.org/records/7754032
  • CLI (enhancer-gene): ABC pipeline or ENCODE-rE2G (cross-reference atac-seq/enhancer-gene-linking)

V2G is not one method but a portfolio. Open Targets L2G aggregates per-locus per-gene features (distance + coloc + chromatin + V2G) trained on curated gold-standard genes; PoPS adds an orthogonal genome-wide polygenic prior from gene-pathway co-membership; MAGMA provides the lightweight gene-level p-value baseline. Strong effector calls emerge from concordance across these orthogonal signal types, not from any single tool.

Algorithmic Taxonomy

ToolModelInputsOutputStrengthFails when
Open Targets L2G (Mountjoy 2021 Nat Genet 53:1527)Gradient-boosting classifier on per-(locus, gene) features (distance, fine-mapping, coloc, chromatin, V2G) trained on curated gold standardsPre-computed per study; queried via APIPer-(study, locus, gene) L2G score 0-1Most validated integrative scorer; built into Open Targets Platform; updated quarterlyTrait must be in OT release; custom traits need re-training; coverage limited to OT-curated GWAS catalog
V2G (Ghoussaini 2021 Nucleic Acids Res 49:D1311)Open Targets V2G feature aggregator: per-variant eQTL/sQTL/pQTL + chromatin + distanceOT pre-computedPer-(variant, gene) scoreVariant-resolution; complements locus-resolution L2GFeature weights are fixed; cannot tune per-trait
MAGMA (de Leeuw 2015 PLoS Comput Biol 11:e1004219)SNP-to-gene window aggregation + multiple regression on summary statisticsGWAS sumstats + gene annotation + LD reference (PLINK bfile)Gene-level Z, p; gene-set pMature, fast, lightweight; supports gene-set enrichment in same pass; widely citedWindow choice (0+0 vs 35kb+10kb vs 50kb+50kb) shifts top genes; cannot detect distal regulation outside window
FUMA SNP2GENE (Watanabe 2017 Nat Commun 8:1826)Web platform combining positional + eQTL + Hi-C + chromatin annotation + MAGMASumstats upload to fuma.ctglab.nlAnnotated locus + prioritised gene tableOne-click integrative analysis; no local install needed; community standard for GWAS post-hocWeb-only; no API for high-throughput; pre-baked annotations may lag latest reference releases
cS2G (Gazal 2022 Nat Genet 54:827)Weighted aggregation of 7 constituent SNP-to-gene strategies (Exon, Promoter, fine-mapped cis-eQTL, EpiMap enhancer-gene, ABC, Cicero, etc.) calibrated on heritability enrichmentPer-SNP lookupCombined per-SNP score allocated to genesHeritability-calibrated; pre-computed gene scores for downstream filteringAggregation weights are population-averaged; cell-type-specific signal averaged out; coverage limited to baseline-LF SNP universe
PoPS (Weeks 2023 Nat Genet 55:1267)Ridge (L2-penalized) regression of per-gene MAGMA Z on genome-wide gene-feature matrix (pathway membership, co-expression, PPI)MAGMA Z + gene-feature matrixPer-gene priority score (PoPS); per-locus relative rankingOrthogonal to distance / proximity; identifies genes with similar pathway / co-expression profile to other GWAS hitsPathway co-membership similarity is similarity-based; can hand-feed bias if features are not curated; complementary to L2G, not redundant
FLAMES (Schipper M et al 2025 Nat Genet 57:323)Combined per-feature scoring with a machine-learning (XGBoost) classifier + convergence moduleSumstats + featuresPer-gene prioritisationRecent integrative methodLimited validation outside the publication test set; method choice still evolving
INQUISIT (Fachal 2020 Nat Genet 52:56)Three-level scoring for coding, regulatory-proximal, regulatory-distal; trait-specific (breast cancer)Sumstats + cancer-specific annotation panelPer-gene INQUISIT scoreCancer-tuned; integrates expression and chromatin contextOriginally trait-specific (breast cancer); adapting to other diseases requires re-curation
DEPICT (Pers 2015 Nat Commun 6:5890)Empirical Bayes; gene set enrichment + tissue prioritisation + reconstituted gene setsSumstatsPer-gene p; pathway enrichment; tissue priorityOld but still cited; combines three useful outputsReconstituted gene sets are dated (2015 expression panel); largely superseded by L2G + PoPS combination
ABC + ENCODE-rE2GActivity x Contact enhancer-gene model (Fulco 2019) and logistic-regression refinement (Gschwind 2023 preprint)ATAC + H3K27ac + Hi-C/Micro-CPer-(enhancer, gene) scoreDirect mechanistic enhancer-gene link in matched cell type; gold-standard for distal regulationRequires matched epigenome data; cell-type-specific; covered in detail in atac-seq/enhancer-gene-linking
sc-eQTL + cell-type-specific TWAS (e.g. Yazar 2022 OneK1K)Per-cell-type eQTL panels + per-cell-type prediction weightssc-eQTL panel + sumstatsCell-type-resolved gene candidatesResolves cell-type-specific causal genes that bulk-tissue TWAS averages outRequires matched single-cell eQTL panel; not yet pre-built for most cell types

Methodology evolves; verify against the current Open Targets release (platform-docs.opentargets.org), the latest PoPS feature matrix at FinucaneLab/pops, and ABC / ENCODE-rE2G releases before locking on a single prioritiser. The L2G + PoPS combination is the current de facto two-method baseline; cS2G is the heritability-calibrated lookup; FUMA is the no-install community standard.

Decision Tree by Scenario

ScenarioRecommended workflowWhy
Open Targets Platform covers the traitQuery L2G via GraphQL + cross-check V2G; sanity-check with PoPSPre-computed, gold-standard-validated; minimal compute
Custom trait, EUR GWAS sumstats onlyMAGMA + manual fine-mapping (SuSiE) + coloc per QTL panelBuild evidence streams from primitives; combine in own integrative scorer
Tissue known (e.g. liver for lipid traits)Tissue-specific eQTL coloc + ABC / ENCODE-rE2G + S-PrediXcan + L2GTissue-targeted evidence reduces false positives from wrong-tissue eQTLs
Tissue unknown a prioriLDSC-SEG (Finucane 2018 Nat Genet 50:621) to prioritise tissue + S-MultiXcan + PoPSIdentify causal tissue before locking on a single eQTL panel
Distal / long-range regulation suspectedABC / ENCODE-rE2G / HiChIP / Cicero overlay; deprioritise distance-only methodsNearest-gene fails ~ 30-50% of the time at well-studied loci
Polygenic background trait (e.g. height, BMI)L2G + PoPS concordancePoPS captures pathway prior absent from L2G features; concordance flags strong candidates
Publication-grade triangulationAll evidence streams; require concordance across >= 3 orthogonal linesHigh-confidence claim defensible to reviewers
Multi-ancestry GWASMAGMA per ancestry + ancestry-specific eQTL coloc + MA-FOCUS for TWASSingle-ancestry weights miscalibrated for other ancestries
Locus with no coding variants, no significant eQTLABC / ENCODE-rE2G in candidate tissue + chromatin annotation; tag as "regulatory of unknown gene"Distance + chromatin may be the only signal; acknowledge low confidence
HLA region (chr6:28477797-33448354 hg19; chr6:28510120-33480577 hg38; extended chr6:25-35 Mb both builds)Exclude or use HLA-imputation; do not run standard V2G; verify build before excludingLong-range LD breaks every gene-by-gene method

Per-Method Failure Modes

Nearest-gene assumption fails (most common pitfall)

Trigger: Assigning the GWAS lead variant to the closest gene without checking long-range regulation.

Mechanism: Approximately 30-50% of well-fine-mapped GWAS variants regulate a gene that is NOT the nearest TSS (Mountjoy 2021; Fulco 2019 Nat Genet 51:1664). Distal enhancer-promoter contacts span 50 kb to > 1 Mb; LD around the lead variant often spans only kilobases, so the credible-set centroid may sit closer to a passenger gene than to the true target.

Symptom: Distance-based prioritisation names the nearest gene; subsequent eQTL coloc, ABC, and ENCODE-rE2G converge on a different gene at the same locus. Functional validation (CRISPRi at the variant) confirms the distal gene.

Fix: Use L2G (which includes distance but does not let it dominate), PoPS (which is distance-orthogonal by construction), and ABC / ENCODE-rE2G when matched epigenome data are available. Report all candidate genes at the locus with their evidence-stream contributions; do not collapse to the nearest by default.

eQTL tissue mis-specification

Trigger: Using a single-tissue eQTL panel (e.g. whole blood) when the causal tissue is different (e.g. liver for lipid traits, hypothalamus for energy balance).

Mechanism: Cis-eQTL effect sizes are tissue-specific; eQTLs in the wrong tissue still tag the GWAS signal via LD and produce spurious colocalisations or TWAS hits. The right gene at the wrong tissue is statistically detectable but biologically uninterpretable.

Symptom: Strong colocalisation in a tissue biologically irrelevant to the trait; null in the expected tissue. LDSC-SEG / CELLEX / EWCE prioritisation on the GWAS sumstats independently disagrees with the eQTL tissue.

Fix: Run multi-tissue eQTL coloc (e.g. all GTEx tissues via S-MultiXcan + per-tissue coloc) and prioritise the tissue identified by LDSC-SEG (Finucane 2018 Nat Genet 50:621) or CELLEX. For cell-type-specific traits, move to sc-eQTL panels (OneK1K, Yazar 2022 Science 376:eabf3041). S-MultiXcan (Barbeira 2019 PLoS Genet 15:e1007889) jointly tests per-tissue z-scores via PC-decomposition of LD-induced covariance and is preferred for standard GTEx v8 panels (pre-computed weights available); UTMOST (Hu 2019 Nat Genet 51:568) imputes cross-tissue expression weights before testing and is preferred when retraining cross-tissue weights for a custom panel.

MAGMA gene-window choice

Trigger: Default --gene-loc with 0kb upstream / 0kb downstream window assigns all SNPs only within annotated gene bodies.

Mechanism: A wide window (e.g. 35kb upstream + 10kb downstream) captures more regulatory SNPs per gene but assigns each tag-SNP to multiple genes simultaneously, diluting per-gene signal and inflating false positives at gene-dense regions. A narrow window misses regulatory SNPs outside the gene body and loses true positives at intergenic enhancers. The three window conventions in circulation are not interchangeable: MAGMA-native default is 0+0 (no expansion); the MAGMA paper recommended a 50+50 sensitivity check; FUMA SNP2GENE uses 35+10 (35 kb upstream + 10 kb downstream) which is FUMA's convention, NOT MAGMA's default. For brain traits, 50+50 captures distal cis-eQTL signal; for cardiometabolic traits a tighter 10+10 is more conservative. State explicitly which window was used in methods reporting.

Symptom: Many genes per locus flagged at p < 0.05/22k with the wide window; few genes at all flagged with the narrow window; top genes change substantially across window choices.

Fix: Use a sensible default (35kb upstream + 10kb downstream is the FUMA recommendation; 0+0 is MAGMA-native; 50+50 is the MAGMA-paper sensitivity window). Always pair MAGMA with eQTL-based mapping (S-PrediXcan, coloc) for distal-regulatory signal; MAGMA alone is the lightweight baseline, not the full answer.

Wide-window 1Mb warning: Going to 100+100 kb or 1 Mb assigns one SNP to 8-12 genes simultaneously at gene-dense loci (e.g. MHC, chr19q13, chr17q21), diluting power and creating interpretation ambiguity. Avoid 1Mb windows; if distal regulation is suspected supplement with ABC / ENCODE-rE2G enhancer-gene linkage (cross-reference atac-seq/enhancer-gene-linking) rather than widening the MAGMA window.

Coloc fails when the locus has multiple causal variants

Trigger: PP.H4 < threshold despite biological evidence that the gene is causal.

Mechanism: coloc.abf's single-causal-variant assumption forces posterior mass to PP.H3 (distinct causal variants) when 2+ independent signals in moderate LD drive both traits. The result is a false-negative coloc call at a true effector-gene locus.

Symptom: Visual LocusZoom overlap is convincing but PP.H4 stays in 0.3-0.6; coloc.susie or eCAVIAR reveals multiple credible sets and a per-credible-set PP.H4 > 0.7.

Fix: Run coloc.susie (not coloc.abf) at gene-dense / signal-rich loci. Cross-reference causal-genomics/colocalization-analysis; do not rely on coloc.abf as the sole coloc evidence stream when allelic heterogeneity is plausible.

PoPS vs L2G discordance

Trigger: PoPS top-ranked gene at locus disagrees with L2G top-ranked gene.

Mechanism: PoPS uses similarity-based features (pathway membership, co-expression, PPI), L2G uses per-locus features (distance, fine-mapping, coloc, chromatin). They are orthogonal by construction; disagreement is informative, not a failure.

Symptom: Same locus, different top gene under each method.

Fix: Use BOTH and treat concordance (top gene matches across L2G and PoPS) as the strongest single-locus signal short of CRISPR validation. Concordance between PoPS and locus-based methods markedly increases positive predictive value over either method alone (Weeks 2023 Nat Genet 55:1267). Report both ranks; flag concordance.

Pleiotropic locus / multiple causal genes per locus

Trigger: Two or more genes at a single GWAS locus are each independently causal (different SNPs or different mechanisms).

Mechanism: Standard V2G frameworks assume one causal gene per locus. Real biology violates this: an estimated 5-10% of GWAS loci have multiple causal genes (a working convention; CRISPRi-FlowFISH catalogs document multi-gene loci).

Symptom: Two genes at the locus both pass conditional independence checks (FUSION.post_process.R conditional/joint analysis, GCTA-COJO); both show strong eQTL coloc; both have CRISPRi support.

Fix: Allow multi-gene reporting. Each candidate gene needs its own credible variant set (SuSiE / coloc.susie). Report the locus as multi-effector; consider CRISPRi-FlowFISH or MPRA for ground-truth resolution. Do not force a single-gene assignment. Existing CRISPRi enhancer-gene perturbation catalogs for cross-checking computational predictions: Fulco 2019 Nat Genet 51:1664 (>3,500 CRISPRi-FlowFISH enhancer-gene connections for 30 genes in K562); Gasperini 2019 Cell 176:377 (~75,000 pairs at-scale); Schraivogel 2020 Nat Methods 17:629 (TAP-seq / targeted Perturb-seq enhancer-gene screen in K562). Cite the specific catalog when reporting "validated against CRISPRi" rather than the generic term.

Per-Credible-Set Gene-Assignment Hierarchy

When fine-mapping returns credible sets (cross-reference causal-genomics/fine-mapping), each credible variant should be assigned to a gene using a fixed lexicographic ladder rather than a single feature. The ladder collapses ambiguity by preferring direct mechanistic evidence first and falling back to weaker signals only when stronger ones are absent:

  1. Coding consequence at credible variant (missense, splice-donor / splice-acceptor, stop-gained, start-lost via VEP / Ensembl consequence) -> assign variant to that gene.
  2. eQTL / pQTL colocalization PP.H4 >= 0.7 with the gene's expression QTL (matched tissue) -> assign to that gene (cross-reference causal-genomics/colocalization-analysis).
  3. ABC or ENCODE-rE2G enhancer-gene linkage when matched ATAC + H3K27ac (+ optional Hi-C) is available in the candidate tissue -> assign to the linked gene (cross-reference atac-seq/enhancer-gene-linking).
  4. Nearest TSS -> assign as last-resort fallback; flag as low-confidence (nearest-gene is correct only 50-70% of the time at well-fine-mapped loci).

If a single credible variant ties across two or more genes at the same rung (e.g. coding consequence in gene A AND a competing eQTL coloc to gene B), report multi-gene candidacy explicitly rather than forcing a single assignment; the locus may be multi-effector or the credible set may straddle a regulatory boundary.

Multi-Evidence Integration Framework

A strong candidate causal gene at a GWAS locus requires concordance across multiple orthogonal evidence streams. The six canonical streams:

Evidence streamWhat it testsPass thresholdSource
Fine-mappingSuSiE PIP for variant; variant assigned to gene by ABC or eQTL colocPIP > 0.5; credible set purity > 0.5susieR (cross-reference causal-genomics/fine-mapping)
ColocalizationShared causal variant with gene's eQTL / pQTL / sQTLcoloc.abf or coloc.susie PP.H4 >= 0.7coloc (cross-reference causal-genomics/colocalization-analysis)
DistanceVariant within annotated regulatory unit (gene body or enhancer-gene unit)Distance to TSS <= 100 kb OR within ABC enhancer-gene unitConvention; Mountjoy 2021
Polygenic prior (similarity)Gene shares pathway / co-expression / PPI with other GWAS hits for the traitPoPS score in top decile per locusWeeks 2023
L2G (integrative classifier)Per-locus per-gene gradient-boosting on a panel of featuresL2G score >= 0.5 (Open Targets default high-confidence)Mountjoy 2021
Chromatin / enhancer-geneABC or ENCODE-rE2G connects fine-mapped variant to gene's promoterABC >= 0.02 OR ENCODE-rE2G >= 0.5Fulco 2019; Gschwind 2023
Deep-learning variant effect (optional 7th)chromBPNet / EnFormer in silico variant effect on accessibility/expression at credible variant|log2FC| > 1 (chromBPNet strong-effect); agreement across two modelschromBPNet: Pampari 2025 bioRxiv 2024.12.25.630221 (preprint); EnFormer: Avsec 2021 Nat Methods 18:1196; cross-reference atac-seq/deep-learning-atac
Cross-trait coincidence (optional 8th)Same gene flagged at related-trait loci (e.g. lipid GWAS at CHD lead variant)Same gene top-ranked at >= 2 related traitsConvention

Operational rule: Report a gene as a "high-confidence causal effector" only when >= 3 of the 6 core evidence streams are concordant (deep-learning variant effect and cross-trait coincidence are optional supplementary streams). >= 4 concordant is "strong-confidence"; >= 5 is "near-certain pending experimental validation". Single-stream evidence is associational only; two-stream concordance is suggestive. This is the standard used by Open Targets Genetics (Mountjoy 2021), GTEx-derived target nomination pipelines (Open Targets Platform), and pharma drug-discovery workflows.

Quantitative Thresholds

QuantityThresholdSource / Rationale
L2G score (high-confidence)>= 0.5Open Targets default; gradient-boosted classifier calibrated against curated gold standards
L2G score (suggestive)>= 0.2Open Targets exploratory threshold
MAGMA gene-wide p< 2.5e-6 (Bonferroni 0.05 / 20k genes)Standard genome-wide gene-level significance
coloc PP.H4 (triangulation)>= 0.7Open Targets / common practice; >= 0.8 for stringent
PoPS score (high-confidence)Top decile per locusWeeks 2023 Nat Genet 55:1267; threshold is relative per-locus rank, NOT an absolute cutoff. Absolute PoPS score is scale-dependent on trait polygenicity, so an absolute "PoPS >= 0.5" rule is incorrect across traits
ABC enhancer-gene score>= 0.02 (standard) or >= 0.04 (stringent)Fulco 2019; cross-reference atac-seq/enhancer-gene-linking
ENCODE-rE2G probability>= 0.5 (binarised)Gschwind 2023
cS2G aggregate score>= 0.5 per SNP-gene allocationGazal 2022; heritability-calibrated aggregator
Distance to TSS (regulatory window)<= 100 kb (default); <= 500 kb (liberal); <= 1 Mb (absolute)Convention; Mountjoy 2021. Beyond 100 kb distance ceases to be a reliable single feature
MAGMA gene-window35 kb upstream + 10 kb downstreamFUMA default; balances regulatory capture vs gene-dense dilution
Fine-mapping PIP (causal variant)> 0.5 (suggestive); > 0.9 (strong)Convention (cross-reference causal-genomics/fine-mapping)
Multi-evidence concordance>= 3 of 6 streamsOperational rule from Open Targets Genetics and Mountjoy 2021
Single-cell eQTL panel size>= 200 donors per cell typeBelow this, per-cell-type eQTL discovery underpowered

MAGMA Gene-Based and Gene-Set Pipeline

Goal: Compute gene-level p-values from GWAS summary statistics and test gene sets (e.g. MSigDB pathways) for enrichment.

Approach: Pre-format the SNP-to-gene annotation (per-gene SNP membership using a configurable window); run gene-based analysis with --gene-results; downstream, test gene sets via --set-annot. MAGMA's lambda-correction handles LD via the reference panel.

# Step 1: SNP-to-gene annotation using a 35kb upstream + 10kb downstream window (FUMA default)
magma --annotate window=35,10 \
    --snp-loc gwas.snploc \
    --gene-loc NCBI37.3.gene.loc \
    --out annot_35_10

# Step 2: Gene-based association (raw GWAS sumstats; multi-model approach)
magma --bfile g1000_eur \
    --pval gwas.pval ncol=N \
    --gene-annot annot_35_10.genes.annot \
    --out gene_step

Shortened here. Read the whole file on GitHub.

Signals

GitHub stars
409
Forks
48
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
bio-causal-genomics-effector-gene-prioritization
Source
github.com/pku-yuangroup/openai4s