Skip to content

How this was built

Every number on this site is measured from a repository’s own records and linked to its source. This page records how, and where the method is weak. Built for the NCI Office of Data Sharing Impact Prize, Track 1.

Corpus built 21 Sept 2026 with pipeline v0.1.0: 602 records, 865 awards linked.

For software

JSON records, agent briefs, Croissant, JSON-LD, and the search and agent endpoints. No key, no rate limit.

Funding to findings

Pick an NCI award and see the datasets it paid for and the articles that analysed them.

How the ask box works

Deterministic checks against measured fields decide it. A language model is called only where they name no clear place to start.

Curated text and structured metadata are CC BY 4.0; pipeline code is MIT. Upstream dataset metadata keeps its original terms.

One rule: no claim without provenance

Every substantive statement on a dataset page carries an evidence record: how it was obtained (a structured API, a published file, document text, a computation here, or a named reviewer), when it was retrieved, and how confident we are. On the page these are the small chips beside each claim. In the JSON they are the evidence arrays.

The reason is practical. “Treatment response is recorded” is only useful if you can find out whether that means a structured RECIST field on 90% of cases or a free-text note on twelve. Provenance lets a reader decide how much weight to put on any line.

Sources and record units

The unit is the individual study or project. A researcher downloads TCGA-BRCA, not TCGA.

Records by repository

Two repositories hold most of the corpus and almost none of the records whose reuse can be traced.

  • cBioPortal228 · 0 traceable
  • IDC137 · 1 traceable
  • PDC130 · 130 traceable
  • GDC93 · 93 traceable
  • HTAN14 · 0 traceable
Accession can be searched for in the literatureNo citable accession, so reuse cannot be traced

NCI Genomic Data Commons

api.gdc.cancer.gov

Record unit: project

Cohort counts, assay inventories, open/controlled file splits, and - the part that matters most - per-field clinical completeness derived from the API's own missing-value facets.

NCI Proteomic Data Commons

proteomic.datacommons.cancer.gov/graphql

Record unit: study, grouped into cohorts

PDC ships one study per analytical fraction, so proteome and phosphoproteome of the same tumors arrive as separate studies. We group fractions back into one record per biological cohort and drop inter-laboratory reference materials, which are not patient cohorts. Clinical completeness is read case by case from clinicalPerStudy and the treatment records, in the same harmonized vocabulary the GDC uses, so a proteomic cohort is graded by the same six rules.

NCI Imaging Data Commons

api.imaging.datacommons.cancer.gov/v3

Record unit: collection

Subject and series counts, DICOM modalities, licenses, and the supporting_data field that records which other measurements accompany the images. Collection descriptions are mined for cross-repository accessions, which recovers imaging-genomics pairs documented only in prose. Clinical variables here are per-collection tables named by the submitting trial, with no shared vocabulary to grade against, so we record only whether such a table exists - and say so where a collection's own supporting_data disagrees with what is served.

Human Tumor Atlas Network

github.com/ncihtan/htan-portal

Record unit: atlas

Per-atlas Synapse component inventories, which give the assay mix, file counts and the participant count behind each clinical table, plus the network's own curated publication manifest with PMIDs and grant numbers. That manifest is unusually strong evidence because HTAN maintains it.

cBioPortal

cbioportal.org/api

Record unit: study

The discovery channel for investigator-generated cohorts. Every public study records the PMID it came from; we resolve those through NIH RePORTER and keep the ones an NCI award paid for. This surfaces NCI-supported datasets that no NCI catalog enumerates. Its standard clinical attributes are counted per patient, including an explicit bucket for patients a field has no row for, and the survival and progression times are read value by value so the medians are exact.

Europe PMC

ebi.ac.uk/europepmc/webservices/rest

Record unit: article

Section-scoped literature search, which is what makes graded reuse evidence possible, plus citation counts and first-reference dating.

NIH RePORTER

api.reporter.nih.gov/v2

Record unit: award

PMID-to-award linkage, award titles, investigators, institutes and fiscal years. Used to separate NCI-funded data generation from NCI-funded reuse.

Measuring clinical completeness

“Clinical data available” says nothing about whether you can run a survival model. So for every dataset we compute, field by field, how many cases carry an informative value, using the source API’s own missing-value facets.

Two distinctions matter. A field filled entirely with “not reported” blocks an analysis as surely as an absent one, for a different reason, so the two are counted separately. Several cohorts here report vital status for every case and an informative value for none, which makes survival analysis impossible in a way no catalog entry reveals; the dataset pages name them and show the counts.

One-to-many fields, such as treatment records, produce counts that exceed the cohort size, so per-case percentages cannot be read from them. Those fields are flagged 1:n and only the share of cases with any record is reported.

Each repository names its clinical fields its own way. Every measured field therefore carries both its native name and a harmonized name from one shared vocabulary, and the verdicts read the harmonized one, so a proteomic cohort and a genomic one are graded by the same rule. Where two fields claim the same concept, the one informative for more of the cohort is used.

How far the measurement reaches

The six verdicts can only be graded where a repository serves clinical fields that map onto the shared vocabulary. 385 of 602 records qualify. The rest show not measured, which is a statement about this resource and not about the data.

  • cBioPortal166 of 228
  • IDC0 of 137
  • PDC126 of 130
  • GDC93 of 93
  • HTAN0 of 14

The six analysis verdicts

Every dataset page opens with the same six questions, answered from the field completeness above rather than from the catalog description. The thresholds are the ones in the executed workbook “Can I answer this question with this dataset?”, so any verdict can be re-derived against the live API.

A verdict is supported when the decisive field is informative for enough of the cohort, limited when it is informative for some but too few, and not supported when it is absent or filled only with “not reported”. Not measured is a fourth, separate outcome: we have not probed that field for that repository yet. It is never folded into “not supported”, because an agent that read it that way would discard usable cohorts.

AnalysisFields readSupported whenLimited when
Overall survivalvital status with days to death or last follow-upvital status informative for at least 20 cases, with at least 10 deaths and a usable timevital status informative, but too few events or no time field
Progression or recurrenceprogression_or_recurrence at diagnosis or follow-upinformative for 30% of cases or moreinformative for 5% to 30% of cases
Treatment responsetreatment_outcome or disease_response at follow-uppopulated for 30% of cases or morepopulated for 5% to 30% of cases
Which drug was giventherapeutic_agentsrecorded for 25% of cases or morerecorded for 5% to 25% of cases
Stage-adjusted modellingAJCC pathologic or clinical stageinformative for 50% of cases or moreinformative for 20% to 50% of cases
Analysis by race or ethnicityrace, or ethnicityinformative for 50% of cases or moreinformative for 20% to 50% of cases

Repositories that ship one clinical table per topic rather than harmonized fields, as HTAN does, can at best tell us that a table exists for some share of cases. Those verdicts stay “not measured” until the table’s coverage has been probed, and reach “limited” at most when it has.

How the ask box works

A question goes through two stages, and only the second involves a language model. First, the wording is read for what the analysis needs: a survival endpoint, recorded treatment response, imaging, a pediatric cohort, open access, and so on. Each need is checked against the measured flags on every record. A flag that was never measured stays unknown; it is never read as “no”. The candidates that match the topic and meet the most needs form a shortlist, with the reasons and the blockers written from the measured fields.

Alongside, a deterministic router recognises what a shortlist cannot answer: an award number goes to its funding network, a dataset named outright goes to its page, two distinct names go to a comparison, a how or why question goes to the section of this page that answers it, and a request for files goes to the software page. These destinations are offered in addition to the shortlist, never instead of it, and the router chooses pages; it never states a fact about a dataset.

The deterministic ranking is the answer whenever it settles the request. When the leading dataset meets every need the request stated, and each of those needs was actually measured for it, that shortlist is what comes back - with no model in the path to slow it down or to restate a decision already made on measured facts. Only when nothing clears that bar, because a need fails or nobody measured it, does the order among near-misses become a judgement about which caveat matters most to the analysis described; only then is the shortlist handed to a language model through OpenRouter (deepseek/deepseek-v4.1-flash unless OPENROUTER_MODEL says otherwise), to rank and rewrite the reasons in the researcher’s own terms using only the measured facts it is given. Without a key those requests keep the rule-based wording. The answer page says which happened, and the API response carries it as mode and model, with note distinguishing the three ways a rules answer can arise. Each line drawn from a measured field links to the section of the dataset page that carries it; a line whose wording does not identify one carries no source link rather than a guessed one.

Grading reuse: citation is not use

A review that cites the TCGA marker paper in its introduction has not reused TCGA. A paper that downloads TCGA-BRCA expression matrices and fits a model on them has. Treating the two as the same inflates every reuse statistic in the field, so we separate them and report only the second as reuse.

Europe PMC indexes article sections independently, which makes the separation possible. Where an accession appears is strong evidence of what the authors did with it.

Every tier asks a fixed set of section fields, the same set for every dataset, and the tier reported as reuse asks METHODS alone. Asking several and taking the largest answer, which is what this used to do, hands the count to whichever field has the most false positives - and RESULTS, the field that usually returns the most, is the field we already knew to be least reliable.

The table describes the counts. Individual articles listed on a dataset page are graded on a wider set - an accession in RESULTS, a table, a figure or the supplement still shows the data were analyzed - so an example can name a section the count never asked about.

TierIndexed sectionsInterpretation
Data analyzedMETHODSThe accession appears where the analysis is described, so the reported findings plausibly depend on these data. This is the only tier we report as reuse.
Use declaredDATA_AVAILABILITYThe authors named the accession in a data-availability statement. Strong, but it does not by itself show the data were analyzed.
Accession foundACCESSION_IDEurope PMC's text-mined accession index located the accession in the article.
Mentioned onlyREF, INTRONamed in framing text or the bibliography. Counted, shown, and deliberately not called reuse.

Which fields we use, and one we rejected

Field choice is re-measured against the live index on every build, on the corpus’s most reused accession. Of the 5,146 articles that mention TCGA-LUAD anywhere, the broad AVAILABILITY field matches most and so cannot discriminate. The narrow DATA_AVAILABILITY field can. Measured 18 Sept 2026.

  • Mentions TCGA-LUAD anywhere5,146 100%
  • AVAILABILITY (broad, rejected)3,953 77%
  • DATA_AVAILABILITY (narrow, used)311 6%
  • METHODS (counted as reuse)2,831 55%
  • RESULTS (counted as reuse)3,321 65%

The unindexed field name NOT_AN_INDEXED_FIELD returned 0 hits, which is what shows these fields are genuinely indexed rather than falling back to free text. A build where that check fails does not publish.

Which accessions count
Only accession-like tokens: dbGaP phs identifiers, GDC project ids, PDC study ids, GEO series, Synapse ids, EGA, BioProject, PRIDE, MassIVE, Metabolomics Workbench and TCIA DOIs. Program names are excluded because Europe PMC matches their words independently. “CPTAC STAD” returns over a thousand articles, almost none of which used that study.
Independence
An article is independent when none of its authors, matched as surname plus first initial, appears on the dataset’s generating team or among its grant investigators. A follow-up by the people who produced the data is a continuation, not someone else finding the resource useful.

Dating when data became available

Any exposure-adjusted reuse measure needs to know how long the community has had the data. Repository file timestamps do not work: GDC’s earliest file for TCGA-BRCA is stamped 2018, six years after publication, because it records a re-harmonization. Using it would make every TCGA project look six years younger than it is.

So availability is dated from the literature: the first year an article references the dataset’s accession in its methods, its data availability statement, or the curated accession index. It is a lower bound, it is directly observable, and it measures what matters.

This needed hardening. Europe PMC’s RESULTS field reported a 2005 first reference for TARGET-AML, four years before the program existed, because it matches the words of a hyphenated accession independently. That field is excluded from dating, and every candidate year is confirmed by retrieving an actual article.

What a hit count is really counting

Europe PMC does not index a hyphenated accession as one term. It splits on the hyphen, so a quoted search is a two-word phrase query and not an exact match. You can see it directly: METHODS:"TARGET-OS" and METHODS:"target os" return the identical hit count. There is no escape character, no proximity operator and no regular expression that restores the hyphen.

So for any accession whose hyphen-stripped form is also ordinary English, the raw count is inflated by prose that has nothing to do with the dataset - and by how much depends entirely on the words. We measured it against open-access full text:

  • TCGA-BRCA: every sampled article really contained the accession.
  • TARGET-WT: about seven in ten. WT is also wild type.
  • TARGET-RT: about one in seven. RT is also radiotherapy, retention time, reverse transcription and room temperature. The uncorrected count was 270; the corrected one is 39.

Because the inflation is specific to the accession, it cannot be disclosed once and applied everywhere. Every count on this site is therefore corrected individually: we sample the articles a query returns, fetch the open-access full text, test for the literal accession, and scale the count by the fraction that pass. The sample size and the interval are shown on the dataset page next to the number they produced.

Two limits. Only open-access articles can be checked, so the correction assumes the closed-access ones are contaminated at the same rate - an assumption, not a measurement. And the literal test accepts a hyphen, a dash or an underscore but never a space, because a space is the contamination pattern itself; an article that only ever writes “TCGA BRCA” is scored as a miss. Both push the published figure down, so it is a conservative estimate rather than a best guess. Where too few articles are open access to estimate the correction at all, the dataset shows no count instead of an inflated one.

The reuse gap index

Raw reuse counts cannot support an “underexplored” label, because they are not comparable. A 10,000-case open pan-cancer cohort available since 2013 will out-cite a 200-case controlled cohort released in 2023 whatever their scientific value.

So we model expected reuse from the structural properties that drive it and measure the residual. The response is the log of the count, and the fit is a Huber robust regression on log cohort size, years available, number of measurement types, and access tier. The index is the residual:

y      = log2( analyzing articles + 1 )
fitted = Huber( y ~ log10 cases + log2(1+years) + log2(1+modalities) + access )
RGI    = y - fitted

Zero means a dataset is reused about as much as comparable datasets. Minus one is a halving.

Observed against fitted

132 datasets with a citable accession and a dated first use. The diagonal is the model’s prediction; the dashed line is the label threshold.

001110101001001,0001,000Expected articles, from size, age, breadth and accessArticles that analyzed the datareused as expectednsclc_radiogenomicsCGCI-BLGSPFM-ADPDC000443HCMI-CMDCTCGA-LUAD
Underused opportunities (20)Other assessed datasets (112)Reused as expectedLabel threshold: below 2.8× less than expected
Show all 132 datasets as a table
DatasetAnalyzed itExpectedIndex
NSCLC Radiogenomicsunderused opportunity3173-5.44
Burkitt Lymphoma Genome Sequencing Projectunderused opportunity560-3.35
Neuroblastoma49458-3.20
Foundation Medicine Adult Cancer Clinical Dataset (FM-AD)underused opportunity645-2.71
CPTAC UCEC Confirmatory Studyunderused opportunity112-2.68
NCI Cancer Model Development for the Human Cancer Model Initiativeunderused opportunity640-2.54
Broad Institute - Medulloblastomaunderused opportunity04-2.44
High-Risk Wilms Tumor72385-2.40
Molecular Profiling to Predict Response to Treatment for Acute Lymphoblastic Leukemiaunderused opportunity04-2.37
VA Research Precision Oncology Programunderused opportunity04-2.30
Philadelphia-Negative Neutrophilic Leukemias (CNL/aCML/MDS/MPNu)underused opportunity18-2.15
Count Me In (CMI): The Angiosarcoma (ASC) Projectunderused opportunity03-2.11
Clinical Resistance to Crenolanib in Acute Myeloid Leukemia Due to Diverse Molecular Mechanismsunderused opportunity03-2.09
Acute Myeloid Leukemia137570-2.05
CPTAC GBM Discovery Studyunderused opportunity17-2.04
CPTAC non-ccRCC Studyunderused opportunity17-1.98
Clear Cell Sarcoma of the Kidneyunderused opportunity418-1.95
Exceptional Respondersunderused opportunity210-1.85
Rhabdoid Tumor39137-1.78
CPTAC STAD Studyunderused opportunity16-1.75
CPTAC-Brain, Head and Neck, Kidney, Lung, Pancreas, Uterusunderused opportunity2585-1.73
Molecular Profiling to Predict Response to Treatment - Wilms Tumorunderused opportunity16-1.71
Proteogenomics of Gastric Cancerunderused opportunity415-1.66
Therapeutic Targets in Breast Cancer Xenograftsunderused opportunity15-1.66
CTSP Diffuse Large B-Cell Lymphoma (DLBCL) CALGB 50303413-1.45
HIV+ Tumor Molecular Characterization Project - Diffuse Large B-Cell Lymphoma02-1.35
CPTAC CCRCC Discovery Study412-1.34
Pheochromocytoma and Paraganglioma43109-1.33
Acute Lymphoblastic Leukemia - Phase II42105-1.29
Testicular Germ Cell Tumors53127-1.24
Comprehensive genomic characterization of radiation-related papillary thyroid cancer in the Ukraine14-1.23
CPTAC LUAD Confirmatory Study25-1.08
PTRC TNBC37-1.07
HIV+ Tumor Molecular Characterization Project - Cervical Cancer2144-1.04
PTRC HGSOC Frozen Validation01.0-0.98
Beat AML Baseline Clinical25-0.94
CPTAC LSCC Discovery Study1936-0.90
Uterine Carcinosarcoma3361-0.88
CDDP Integrative Analysis of Lung Adenocarcinoma (Phase 2)00.8-0.87
Prospective Breast BI Phosphoproteome24-0.87
Functional Genomic Landscape of Acute Myeloid Leukemia2240-0.82
Thymoma4168-0.71
CPTAC LUAD Discovery Study2236-0.70
CPTAC RCC Combined Study00.6-0.68
Kidney Renal Papillary Cell Carcinoma163250-0.61
KNCC Glioblastoma Evolution24-0.59
CPTAC-Breast, Colon, Ovary812-0.56
APOLLO1: Proteogenomic characterization of lung adenocarcinoma23-0.54
Academia Sinica LUAD1001014-0.42
CPTAC UCEC Discovery Study1318-0.41
Pediatric Brain Cancer Pilot Study68-0.39
KU CCA Discovery Study00.3-0.39
KU CCA Discovery Study - Global proteome00.3-0.39
TCGA Breast Cancer Phosphoproteome34-0.37
Academia Sinica LUAD ICPC-B12-0.34
NCI-7 Cell Line Panel00.2-0.32
Acute Lymphoblastic Leukemia - Phase III105126-0.26
Prospective Colon PNNL Phosphoproteome Lumos22-0.19
PTRC TNBC PDX11-0.13
Acute Lymphoblastic Leukemia - Phase I1415-0.07
CPTAC PDA Discovery Study1920-0.06
Mesothelioma6768-0.03
Pancreas Cancer Organoid Profiling33-0.00
Count Me In (CMI): The Metastatic Breast Cancer (MBC) Project330.00
CPTAC CCRCC Confirmatory Study330.00
Genomic Variation in Diffuse Large B Cell Lymphomas24230.05
Osteosarcoma2442330.06
PTRC Triple-negative Breast Cancer Mitotic Vulnerability Study10.90.07
PTRC BRCA CALGB40601 Neoadjuvant Trial10.90.08
Adrenocortical Carcinoma1131020.15
KNCC Medulloblastoma - KBRI00.00.18
Count Me In (CMI): The Metastatic Prostate Cancer (MPC) Project220.21
Thyroid Carcinoma3633080.24
Kidney Chromophobe95800.25
Prospective Ovarian PNNL Proteome Qeplus320.26
Uterine Corpus Endometrial Carcinoma3873200.28
CPTAC HNSCC Discovery Study18140.30
TCGA Colon Cancer Proteome540.32
NCC iCC210.35
TCGA Ovarian JHU Proteome640.37
Yonsei Cancer Center - TNBC00.00.48
Genomic Characterization CS-MATCH-0007 Arm Z1D10.40.49
KU PDAC Discovery Study10.30.60
Uveal Melanoma113700.69
Prospective Breast BI Acetylome10.20.70
Lymphoid Neoplasm Diffuse Large B-cell Lymphoma83510.70
TCGA Ovarian JHU Glycoproteome10.20.72
TCGA Ovarian PNNL Proteome740.76
Sarcoma1921090.81
KNCC Medulloblastoma - KNCC00.00.81
Molecular Characterization Initiative (MCI)10.10.82
Prospective Ovarian JHU Intact Glycoproteome10.10.85
Prospective Ovarian JHU N-linked Glycosite-containing peptide10.10.85
Prospective Ovarian PNNL Phosphoproteome Lumos10.10.86
Cervical Squamous Cell Carcinoma and Endocervical Adenocarcinoma4162210.91
CPTAC PDAC BioTExt10.00.95
Ovarian Serous Cystadenocarcinoma6413260.97
Multiple Myeloma CoMMpass Study125630.99
Prospective Breast BI Proteome1991.00
TCGA Ovarian PNNL Phosphoproteome Velos Qexactive10.01.03
Lung Squamous Cell Carcinoma6433071.06
HBV-Related Hepatocellular Carcinoma27121.15
Sampling techniques for enrichment of PDAC20.31.26
Head and Neck Squamous Cell Carcinoma7583131.27
Oral Squamous Cell Carcinoma Study10.01.34
Glioblastoma Multiforme1,3995381.38
Genomic Characterization of Metastatic Castration Resistant Prostate Cancer27101.38
Esophageal Carcinoma3081111.47
Skin Cutaneous Melanoma7242601.48
Proteogenomic analysis of tumors from young women with breast cancer00.01.48
VU Normal Colon Epithelium10.01.49
Cholangiocarcinoma195681.51
KU PDAC Discovery Study - Global proteome30.31.60
Ukrainian National Research Center for Radiation Medicine Trio Study10.01.63
Brain Lower Grade Glioma6201961.66
Prospective Ovarian JHU Proteome1541.69
Prostate Adenocarcinoma9973061.70
Prospective Colon VU Proteome30.11.83
Bladder Urothelial Carcinoma8942471.85
TCGA Breast Cancer Proteome1841.88
Kidney Renal Clear Cell Carcinoma1,2453151.98
Prospective Colon PNNL Proteome Qeplus1941.99
Genomic Characterization CS-MATCH-0007 Arm Z1I10.02.00
Rectum Adenocarcinoma4821122.10
CGU OSCC APOBEC3A10.02.13
Stomach Adenocarcinoma1,4052932.26
Breast Invasive Carcinoma2,3734122.52
Colon Adenocarcinoma1,8382982.62
Acute Myeloid Leukemia441712.63
Pancreatic Adenocarcinoma8541152.88
Lung Adenocarcinoma2,8313253.12
Liver Hepatocellular Carcinoma2,5682753.22

Model fit

Model
rgi-huber-v2
Eligible datasets
132
Excluded, no citable accession
378
R² (OLS, for reference)
0.79
Residual SD (log2)
1.53
Down-weighted by the robust fit
16
Label threshold
index < -1.5 and fewer than 25 articles

Coefficients

TermEstimatep
Intercept-8.46<0.001
log10 cohort size1.25<0.001
log2 (1 + years available)2.01<0.001
log2 (1 + measurement types)1.78<0.001
Access: mixed (vs controlled)-1.020.24
Access: open (vs controlled)1.460.06

This is the second specification. The first was a negative binomial on raw counts, the textbook choice for overdispersed count data, and it was wrong here. Reuse spans four orders of magnitude, so a few extreme points dominated the fit and predictions ran to hundreds of expected articles for small imaging collections. Modeling the log response bounds that. Huber weighting stops the TCGA projects, at once the oldest and the most reused datasets here, from setting the slope on years available and so smuggling back the program effect we refuse to adjust for.

It bounds the problem rather than removing it. The corpus’s worst case is gdc-target-aml, a 2,492-case dataset predicted 570 articles against 137 observed, 1.3 residual standard deviations below its prediction. That is why the label also requires a small absolute count, and why the upper tail of predicted reuse is the weakest part of this model. The figure is recomputed on every build rather than quoted here.

One covariate is deliberately absent. Program membership is not adjusted for. “It is part of TCGA” is the disparity we are measuring, not a nuisance to remove. Controlling for it would define the finding out of existence.

Datasets with no citable accession are excluded from the fit and never labeled underexplored: for them the measurement is impossible, not negative. That is 378 of 602 records here, a finding in its own right and one of the clearest barriers to reuse we met.

The coefficients, residual spread, down-weighted count and rejected specification ship with the data as reuse_gap_model.json, so the label can be recomputed or contested rather than taken on trust.

Funding to data to findings

Where the links come from. Awards are resolved through NIH RePORTER from each dataset’s publications. Articles are the record’s original publication plus the reuse exemplars it ships, at most ten per dataset. When a dataset’s own paper lists an award, the award funded data generation; when a later study that analysed the data lists it, the award funded reuse; an award that funds a centre or harmonisation effort is infrastructure.

What a shared node means. An award touching two datasets paid for both. An article touching two datasets combined them. Those cross-links are the reason to draw this as a network rather than a list.

What is missing. Datasets with no citable accession have no traceable articles, and datasets whose publications RePORTER does not index have no awards. Absence is a gap in the record, not proof that nothing was funded or published. Only an award marked as generating the data is ever named as a dataset’s funder on this site.

Merging the same cohort across repositories

TCGA-BRCA is one cohort of patients. It appears as a GDC project for genomics, an IDC collection for radiology and pathology slides, and a cBioPortal study for harmonized matrices. Records describing the same cohort are folded into one page with every access route listed, and the cohort size shown is the one the primary repository reports.

Merging is conservative. We merge only on identifiers that name a specific cohort, and any value shared by more than two records is treated as program-level and ignored. Every TCGA project shares dbGaP phs000178; merging on it would collapse every TCGA cancer type into one record. All source identifiers and all evidence survive the merge.

Where this is weak

A resource that grades other people’s evidence has to be honest about its own.

Reproducing this

The pipeline is a Python package with a command line interface. Every HTTP response is cached on disk by request, so a full rebuild is deterministic and can run offline. No source needs credentials.

cds ingest all        # fetch every source
cds merge             # fold records describing one cohort together
cds trace-index       # comparable reuse counts for every dataset
cds enrich            # availability dating, exemplars, funded-reuse links
cds gap               # fit the reuse gap model, label underexplored
cds export            # write site data and agent packages
cds verify            # check links and detect upstream drift

Bulk data and the agent API are described on the agents page.