CF · QJE Revise & Resubmit · Task 1

Rebuilding the value label on GWAS evidence

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 herding effect survives the relabel. In every full-sample definition, more valuable diseases draw less subsequent exploration (col 2 negative & significant) — the same conclusion DisGeNET gives, from a source that can't be circular.
The choice of GWAS metric barely matters. Study count, median p-value, max p-value, and TIGA's composite score all land at M ≈ −0.21, H ≈ −0.25. The p-value-weighting question turns out to be second-order.
The real fork is how to treat GWAS-silent diseases. Coding uncovered diseases as Low (Variant A, full sample) is strong throughout. Restricting to the ~1,300 GWAS-covered diseases (Variant B) is underpowered and loses its Low reference group.
It's not a GWAS-coverage artifact. Adding a control for how well GWAS covers each disease (# matched traits, # hit opportunities) barely moves column 2 — the herding effect isn't just "better-covered diseases look different."

Main results — disease-level regressions

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
MediumHighMediumHighMediumHigh
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 effectsYesYesYes
Total-publications controlYesYesYes
# TIGA-matched traitsNoYesNo
# GWAS-hit opportunitiesNoNoYes
SE clustered by disease classYesYesYes

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
MediumHighMediumHigh
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 SEYes

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.

How to read the rebuttal

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.

Appendix · Data pipeline & variables

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.

Cleaning & build steps

  1. Load the pair universe. 429,111 gene–disease pairs from 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.
  2. Load & normalize 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.
  3. Build the CUI → GWAS-trait crosswalk (once). Each disease code (CUI) is linked to TIGA traits through 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.
  4. Score each pair. For a metric x, a pair's score is the max of x over the gene × the disease's mapped traits. Three states result: NaN if the disease is uncovered (unmeasurable), 0 if covered but this gene has no GWAS hit (a genuine Low), or a positive value. ~8,654 pairs score positive (6,233 for odds ratio).
  5. Cut into L / M / H (zero-inflated). Because most pairs are 0, a naive percentile collapses to L/H with no Medium. Instead the positive pairs are percentile-ranked and split at the 60th / 90th percentiles into M / H; zeros are Low. The two variants differ only in uncovered diseases — A codes them Low (full sample); B drops them (covered subsample). Gene-level geneNtrait is ranked directly across all pairs at 60/90.
  6. Assemble the regression sample. From gene_empirics.dta, keep disease_tag==1, marginal_disease!=1, and non-missing share_gene_after5,515 diseases.
  7. Build disease-level value vars. Labels map to representative values (L=30, M=75, H=95); a disease's value tier is the max value among pairs discovered by the exploration cutoff (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.
  8. Run the main spec. For each outcome: y ~ C(category) + count_pmid_after_fill + C(diseaseclass), OLS with standard errors clustered by diseaseclass — identical to the paper's specification.
  9. Add GWAS-coverage controls (robustness). Re-run column 2 adding 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.

Variables included

VariableSourceShort definitionRole
Candidate value metrics — the swept axis
n_studyTIGA# of GWAS studies backing the gene–trait associationmetric
pvalue_mlog_medianTIGAMedian −log₁₀(p) of the association across studies — robust signal strengthmetric ★
pvalue_mlog_maxTIGAStrongest single −log₁₀(p) across studiesmetric
meanRankScoreTIGATIGA's own composite evidence-ranking score (0–100)metric
or_medianTIGAMedian odds ratio (effect size) — sample-size invariant, but missing for 88% of rowsmetric
geneNtraitTIGA# 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_v1UMLS disease code — the unit of analysiskey
geneSymbolassociationsHGNC gene symbol — bridges gene ids to TIGAkey
efoId · traitTIGAEFO ontology id and name of the GWAS traitjoin
vocabulary·code·namedisease_mappingsEFO / MONDO / ORDO crosswalk rows linking each CUI to a traitbridge
Regression variables — the main spec
category_10_percderivedValue tier L/M/H (=1/2/3) from the label, over the exploration era — the right-hand side of interestRHS
share_gene_aftergene_empiricsColumn 2. Subsequent exploration of the disease's gene space — value-independent, the real herding testoutcome ★
Post2000_TIGA_HderivedColumn 1. Disease has ≥1 H_TIGA gene first discovered post-2000 — forward-looking breakthrough (non-mechanical)outcome
Delay_To_TIGA_HderivedColumn 3. Years from 1980 to the first H_TIGA discovery (delay), censored at 39outcome
count_pmid_after_fillgene_empiricsPost-period publication volume — research-effort control (paper's control)control
n_traitsderived# distinct TIGA/EFO traits the disease maps to — GWAS-coverage controlcontrol (added)
n_gwas_oppderived# gene–disease pairs for the disease with any GWAS hit — GWAS-opportunity controlcontrol (added)
diseaseclassgene_empiricsDisease category — absorbed as fixed effect and used as the clusterFE · cluster
disease_tag · marginal_diseasegene_empiricsSample filters defining the estimation universefilter
YearInitialassociationsFirst publication year of the gene–disease pair — discovery date, clipped at 1980timing

★ = 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.