GO annotation QC · human, fly, fission yeast (initial 3-species snapshot)

Ligand gap check for GO signaling pathways

GO puts a protein ligand inside the signaling pathway it starts. If that holds, every pathway an organism annotates should contain at least one gene with ligand activity. This page runs that test on current GOA data and sorts out what fails.

Note: This standalone report is the initial 3-species snapshot covering GO:0007166 (cell surface receptor signaling pathway) only. For the expanded 7-species analysis that also includes GPCR signaling pathways (GO:0007186) and automated cross-species triage, see projects/LIGANDS_IN_SIGNALING.md and projects/LIGANDS_IN_SIGNALING/results/RESULTS.md.

The rule

If an organism annotates genes to a cell-surface signaling pathway P, at least one gene involved_in P should also enable receptor ligand activity.

for each organism, for each P ⊑ GO:0007166 cell surface receptor signaling pathway with a direct annotation: pass ⇔ ∃ gene g : g involved_in P' (P' = P or a subterm, via is_a/part_of) ∧ g enables F (F = GO:0048018 receptor ligand activity or an is_a subterm)

No curated modules or hand-picked pathway lists go into the check. Pathways come from the GO terms each organism's GAF actually uses, and ligands come from MF annotations in the same GAF. The only human judgement is the triage of the failures below, which is marked as such.

Pathway terms per organism, by outcome Each bar counts the cell-surface pathway terms used directly in that organism's GAF. Failures are split by the manual triage categories.

What the failures are

I sorted every failing term into one of seven categories, using the term name, the annotated genes, and a follow-up lookup of the expected ligand in the same GAF. This sorting is manual and should be reviewed. The chart groups the categories into four outcomes.

Every failing pathway term

Pathway termOrgCategoryGenesAnnotated genes (first 12)Expected ligand, looked up in the same GAF

"Binding-only" lists genes in the pathway with a signaling receptor binding MF but no ligand-activity MF. In the ligand lookup, "ligand MF" means the gene has any MF under receptor ligand activity, and "in P" means it is annotated to this term or a subterm.

Fission yeast: the pheromone pathway is missing entirely

PomBase annotates four ligand-activity genes: map2 (P-factor) and mfm1, mfm2, mfm3 (M-factor), all with mating pheromone activity (GO:0000772). The receptors mam2 and map3 enable pheromone receptor activity.

None of these genes is involved_in a specific signaling pathway. Ligands, receptors and the Gα subunit gpa1 all carry positive regulation of pheromone response MAPK cascade (GO:0062038). Only the kinases byr2 and spk1 are involved_in the cascade itself (GO:0071507). The ligands reach signal transduction only through an automatic inference from their MF (GO_REF:0000108).

The old pathway term, GO:0000750 pheromone-dependent signal transduction involved in conjugation with cellular fusion, is obsolete. Its comment says it "should be represented as a GO-CAM model".

So the one pathway term pombe uses (generic GO:0007166 on wsc1) technically fails. The real finding is that the GO-wide convention, where the ligand is part of the pathway, is not applied in pombe at all.

Reverse check: ligand genes in no signaling pathway

This asks the converse question: which genes enable receptor ligand activity but are not involved_in any signal transduction term (any subterm of GO:0007165)?

Why the rule holds: ligands are part of the pathway

Before building the check I confirmed the convention in three ways.

In annotations. For well-known ligands, I counted the involved_in annotations each one has to the pathway it activates (or a subterm). Human ligands are almost all annotated to their pathway, and fly ligands all are, mostly from FlyBase experimental evidence. KITLG is the human exception. The pombe pheromones have none.

Ligand annotations to its own pathwayinvolved_in rows to the activated pathway or a subterm, from QuickGO. Experimental means IDA, IMP, IPI, IGI, IEP or EXP.

In the ontology. GO:0048018 receptor ligand activity is asserted part_of GO:0007165 signal transduction. The definition of signal transduction says it "begins with reception of a signal (e.g. a ligand binding to a receptor…)". The GO-CAM guideline for signaling receptors (reviewed 2023-07-20) says a ligand's activity is "'part of' the process in which the ligand participates, usually a child of signal transduction".

In the tracker. The follow-on question, whether a ligand should then also carry "cellular response to X", is still open in go-ontology#15477 (2018). In that thread R. Lovering and P. Gaudet state that the ligand belongs in the pathway.

How the ontology got hereFrom QuickGO term history and the go-ontology tracker.
  • 2009#5890 asks whether "response to X" should be a parent of "X signaling pathway". It is deferred because "receptor:ligand binding isn't a 1:1 relationship".
  • 2011-05-18receptor ligand activity part_of signal transduction is first added. It is removed and re-added several times up to 2019.
  • 2012#10067: TGF-β receptor signaling is made is_a cellular response to TGF-β. On 2012-02-03, VEGF receptor signaling (GO:0048010) loses its is_a link to the VEGF response, and the ligand-named GO:0038084 gains it.
  • 2014-12-20Signal transduction and pathway terms move from is_a to part_of the corresponding "cellular response" terms.
  • 2018-03-25#15477: are ligands "involved in" the response? It is still open.
  • 2019-04-23The part_of link from receptor ligand activity to signal transduction is re-added, and it is still current.

In our modules. 117 of the curated modules are signaling pathways. All 14 fly ligands from the survey sit inside their modules. Of the 19 human ligands checked, 16 are present. The exceptions are INS (missing from insulin_receptor_signaling), CXCL12 (the chemokine module uses CXCL8) and WNT1 (one generic Wnt ligand slot). No module covers fission yeast.

Pathway terms that pass ()
Pathway termGenesLigand genesExamples

Method and caveats

Data. The GAFs come from current.geneontology.org (goa_human, fb, pombase; each file's header says generated 2026-05-21). The ontology is go-basic.obo, release 2026-07-26. The ligand survey used the QuickGO annotation API at the time of the analysis.

Pathways. These are all non-obsolete is_a descendants of GO:0007166 cell surface receptor signaling pathway that have at least one direct annotation in the organism. Gene sets are propagated upward through is_a and part_of. Only positive involved_in rows count, so NOT and acts_upstream_of rows are excluded.

Ligands. These are genes with a positive enables annotation to GO:0048018 or any is_a descendant, at any evidence level. IEA is included on both sides.

What is judgement. The category of each failing term, and which ligand to look up for it, are my calls. The lookup results themselves come straight from the GAFs. Statements such as "flies have no NGF" come from my background knowledge and were not checked in this run.

Known limitations. Intracellular pathways (MAPK cascades, nuclear receptors) are out of scope by construction. Pathways whose ligand is a small molecule, a microbial product or an antigen fail by design and need an exclusion list or a test based on logical definitions. A pass only means one ligand gene is present, not that every expected ligand is.

Reproduce. Committed scripts (fetch_data.sh, ligand_gap_check.py, triage.py, survey/ligand_pathway_survey.py) live under projects/LIGANDS_IN_SIGNALING/scripts/, and the full 7-species results are in projects/LIGANDS_IN_SIGNALING/results/.