CF · QJE Revise & Resubmit · Task 1
The referees call the DisGeNET value label circular — it's built from publication counts. We rebuild L/M/H on independent TIGA/GWAS evidence and rerun the main spec across every candidate definition. The behavioral herding result (column 2) is what has to survive.
The behavioral herding test is column 2, share_gene_after (genes explored per
publication after 2000) — a measure independent of how value was labelled. Coefficients are on
Medium and High diseases relative to Low; a negative sign means more valuable diseases are explored
less broadly (herding). Table 1 reports it under the paper's controls and under each added
GWAS-coverage control, with a Yes/No panel recording what enters each specification. Table 2 gives the two
breakthrough outcomes.
Table 1. Herding (share_gene_after) on the value tier, by definition and control set
| Value definition | Baseline (paper controls) | + # TIGA traits | + # GWAS hits | N | |||
|---|---|---|---|---|---|---|---|
| Medium | High | Medium | High | Medium | High | ||
| DisGeNET (paper) | −0.155*** (0.023) | −0.300*** (0.047) |
−0.155*** (0.023) | −0.298*** (0.050) |
−0.156*** (0.023) | −0.296*** (0.049) |
5,515 |
| TIGA — full sample (uncovered diseases coded Low) | |||||||
| n_study | −0.232*** (0.048) | −0.247*** (0.034) |
−0.262*** (0.055) | −0.282*** (0.047) |
−0.227*** (0.047) | −0.203*** (0.034) |
5,515 |
| p-value (median) | −0.211*** (0.060) | −0.253*** (0.034) |
−0.241*** (0.066) | −0.286*** (0.046) |
−0.206*** (0.059) | −0.226*** (0.032) |
5,515 |
| p-value (max) | −0.210*** (0.052) | −0.257*** (0.036) |
−0.238*** (0.058) | −0.293*** (0.048) |
−0.205*** (0.051) | −0.228*** (0.034) |
5,515 |
| meanRankScore | −0.232*** (0.056) | −0.244*** (0.034) |
−0.261*** (0.063) | −0.279*** (0.044) |
−0.228*** (0.055) | −0.209*** (0.033) |
5,515 |
| odds ratio (median) | −0.325*** (0.059) | −0.232*** (0.040) |
−0.331*** (0.065) | −0.238*** (0.045) |
−0.303*** (0.054) | −0.200*** (0.039) |
5,515 |
| geneNtrait (gene-level) | −0.058*** (0.022) | −0.075** (0.032) |
−0.055** (0.022) | −0.068** (0.031) |
−0.058*** (0.022) | −0.070** (0.031) |
5,515 |
| TIGA — GWAS-covered subsample (no Low tier → Medium not identified) | |||||||
| n_study | — | −0.076 (0.047) |
— | −0.063 (0.046) |
— | −0.021 (0.056) |
311 |
| p-value (median) | — | −0.121* (0.063) |
— | −0.114* (0.064) |
— | −0.087 (0.069) |
311 |
| p-value (max) | — | −0.119** (0.051) |
— | −0.110** (0.051) |
— | −0.083 (0.058) |
311 |
| meanRankScore | — | −0.108** (0.048) |
— | −0.098** (0.048) |
— | −0.066 (0.055) |
311 |
| odds ratio (median) | — | −0.019 (0.051) |
— | −0.027 (0.046) |
— | +0.002 (0.047) |
218 |
| Disease-class fixed effects | Yes | Yes | Yes | ||||
| Total-publications control | Yes | Yes | Yes | ||||
| # TIGA-matched traits | No | Yes | No | ||||
| # GWAS-hit opportunities | No | No | Yes | ||||
| SE clustered by disease class | Yes | Yes | Yes | ||||
Notes. OLS estimates; standard errors clustered by disease class in parentheses.
*** p<0.01, ** p<0.05, * p<0.1. Dependent variable
share_gene_after = distinct genes explored per post-2000 publication; a negative coefficient
is herding. "—" = coefficient not identified: in the GWAS-covered subsample every disease is Medium or
High, so there is no Low reference group. Controlling for # TIGA traits slightly strengthens the
estimate; # GWAS-hit opportunities slightly weakens it (it is partly collinear with the value tier), but
every full-sample estimate stays negative and significant — the herding is not a GWAS-coverage artifact.
Table 2. Breakthrough outcomes (TIGA-rebuilt), paper controls
| Value definition (full sample) | Post2000_TIGA_H | Delay_To_TIGA_H | N | ||
|---|---|---|---|---|---|
| Medium | High | Medium | High | ||
| n_study | +0.299*** (0.044) | +0.763*** (0.037) |
−3.932*** (0.617) | −26.974*** (0.630) |
5,515 |
| p-value (median) | +0.397*** (0.058) | +0.677*** (0.032) |
−4.747*** (0.755) | −26.266*** (0.593) |
5,515 |
| p-value (max) | +0.354*** (0.065) | +0.698*** (0.033) |
−4.197*** (0.796) | −26.564*** (0.632) |
5,515 |
| meanRankScore | +0.325*** (0.052) | +0.706*** (0.039) |
−4.200*** (0.660) | −26.701*** (0.706) |
5,515 |
| odds ratio (median) | +0.652*** (0.099) | +0.700*** (0.034) |
−6.543*** (1.117) | −25.494*** (0.562) |
5,515 |
| geneNtrait (gene-level) | +0.263*** (0.026) | +0.515*** (0.023) |
−3.621*** (0.369) | −22.980*** (0.333) |
5,515 |
| Disease-class FE · pubs control · clustered SE | Yes | ||||
Notes. Post2000_TIGA_H = 1 if the disease has ≥1 High-tier gene first
discovered after 2000. Because the value tier (RHS) is fixed in the pre-2000 exploration window, this
is a forward-looking breakthrough, not a mechanical restatement of the label. Delay_To_TIGA_H =
years from 1980 to the first High-tier discovery (censored at 39). A positive Post2000 and a negative Delay
both say higher-value diseases reach breakthroughs more, and sooner. Subsample (Variant B) High
coefficients are similar and significant; Medium is again not identified. Stars as in Table 1.
Lead with Variant A (full sample, uncovered-as-Low). Present the metric rows — study count, p-value, GWAS composite, gene-level pleiotropy — as a robustness panel: the herding conclusion is invariant to which GWAS signal defines value. The correlation between the DisGeNET and TIGA labels is only ≈0.11, yet the behavioral result is the same — that independence is the point. The subsample (Variant B) stands as a deliberately conservative check whose only weakness is statistical power.
Every row in the table above runs through the identical pipeline below — only the value
metric and the zero-handling rule change between definitions. The crosswalk (step 3),
which is the expensive part, is built once and reused. Source: src/run_definition_sweep.py.
disgenet_v1.dta (14,619 diseases × 17,181 genes), each carrying the DisGeNET
score. Gene IDs mapped to HGNC symbols via the associations file so they can be
joined to TIGA.tiga_gene-trait_stats.tsv read with
"NA" treated as missing; EFO ids normalized (EFO_0004908 → EFO:0004908,
upper-cased) so ontology ids match across files.disease_mappings.tsv, trying five bridges in order and
keeping any that resolve to a trait TIGA actually studied: (i) EFO id, (ii) EFO label
name, (iii) DisGeNET disease name, (iv) MONDO id, (v) ORDO id. Result:
1,388 / 14,619 diseases (9.5%) map to ≥1 GWAS-covered trait — genuine GWAS sparsity.geneNtrait is ranked directly across all pairs at 60/90.gene_empirics.dta, keep
disease_tag==1, marginal_disease!=1, and non-missing
share_gene_after → 5,515 diseases.YearInitial ≤ 2000), re-cut at 60/90 — the pre-2000 RHS. Breakthrough outcomes:
Post2000_TIGA_H = has ≥1 High gene first discovered after 2000 (forward-looking);
Delay_To_TIGA_H = years from 1980 to its first High discovery.y ~ C(category) + count_pmid_after_fill + C(diseaseclass), OLS with standard errors
clustered by diseaseclass — identical to the paper's specification.n_traits (# TIGA traits the disease maps to) and, separately, n_gwas_opp
(# gene–disease pairs with any GWAS hit), to confirm the effect is not driven by some diseases being
better covered by GWAS.| Variable | Source | Short definition | Role |
|---|---|---|---|
| Candidate value metrics — the swept axis | |||
| n_study | TIGA | # of GWAS studies backing the gene–trait association | metric |
| pvalue_mlog_median | TIGA | Median −log₁₀(p) of the association across studies — robust signal strength | metric ★ |
| pvalue_mlog_max | TIGA | Strongest single −log₁₀(p) across studies | metric |
| meanRankScore | TIGA | TIGA's own composite evidence-ranking score (0–100) | metric |
| or_median | TIGA | Median odds ratio (effect size) — sample-size invariant, but missing for 88% of rows | metric |
| geneNtrait | TIGA | # of distinct traits a gene is GWAS-associated with (pleiotropy / ex-ante importance) | metric · gene-level |
| Crosswalk keys — joining CUIs to GWAS traits | |||
| diseaseId (CUI) | disgenet_v1 | UMLS disease code — the unit of analysis | key |
| geneSymbol | associations | HGNC gene symbol — bridges gene ids to TIGA | key |
| efoId · trait | TIGA | EFO ontology id and name of the GWAS trait | join |
| vocabulary·code·name | disease_mappings | EFO / MONDO / ORDO crosswalk rows linking each CUI to a trait | bridge |
| Regression variables — the main spec | |||
| category_10_perc | derived | Value tier L/M/H (=1/2/3) from the label, over the exploration era — the right-hand side of interest | RHS |
| share_gene_after | gene_empirics | Column 2. Subsequent exploration of the disease's gene space — value-independent, the real herding test | outcome ★ |
| Post2000_TIGA_H | derived | Column 1. Disease has ≥1 H_TIGA gene first discovered post-2000 — forward-looking breakthrough (non-mechanical) | outcome |
| Delay_To_TIGA_H | derived | Column 3. Years from 1980 to the first H_TIGA discovery (delay), censored at 39 | outcome |
| count_pmid_after_fill | gene_empirics | Post-period publication volume — research-effort control (paper's control) | control |
| n_traits | derived | # distinct TIGA/EFO traits the disease maps to — GWAS-coverage control | control (added) |
| n_gwas_opp | derived | # gene–disease pairs for the disease with any GWAS hit — GWAS-opportunity control | control (added) |
| diseaseclass | gene_empirics | Disease category — absorbed as fixed effect and used as the cluster | FE · cluster |
| disease_tag · marginal_disease | gene_empirics | Sample filters defining the estimation universe | filter |
| YearInitial | associations | First publication year of the gene–disease pair — discovery date, clipped at 1980 | timing |
★ = the recommended metric (median p-value) and the outcome that carries the rebuttal
(share_gene_after). Every metric is drawn from GWAS evidence, not publication counts —
which is what breaks the circularity the referees flagged.