Center for Cancer Genomics (CCG) Cancers of Unknown Primary Project (CUPP)
Can it answer your research question?
4 of 6 supportedOverall survival
SupportedVital status and time are populated; median follow-up 0.5 years; 272 cases with follow-up; endpoints: overall survival, progression-free interval.API
Progression or recurrence
SupportedA time to event is derivable: progression-free interval;
progression_or_recurrenceis informative for 9% of cases.APITreatment response
Supporteddisease_responseis populated for 19% of cases; criteria: complete response, partial response.APIWhich drug was given
Not supportedtherapeutic_agentsis recorded for no case in the harmonized records.APIStage-adjusted modelling
Not supportedajcc_pathologic_stageis informative for 14% of cases.APIAnalysis by race or ethnicity
SupportedRace is informative for 98% of cases.API
At a glance
Every percentage is the repository’s own record of what is filled inSubjectCALC
As filed by the repository
Who is in the cohortAPI
- Sex148 male · 124 female
- Race198 white · 45 asian · 16 native hawaiian or other pacific islander · 7 2 other · 5 not reported · 1 unknown
- Ethnicity253 not hispanic or latino · 12 hispanic or latino · 6 not reported · 1 unknown
- Vital status232 dead · 40 alive
Age at diagnosis
What was measured, and on how many
- Whole exome sequencing33 of 272 · 12%
- Whole genome sequencing26 of 272 · 10%
- Bulk RNA sequencing29 of 272 · 11%
- microRNA sequencing25 of 272 · 9%
- DNA methylation array33 of 272 · 12%
- Whole-slide tissue images272 of 272 · 100%
- Clinical272 of 272 · 100%
- Copy Number Variation25 of 272 · 9%
- Somatic Structural Variation25 of 272 · 9%
Platform, files and data levels
| Assay | Platform | Files | Levels |
|---|---|---|---|
| Whole exome sequencingAPI | illumina | 194 | - |
| Whole genome sequencingAPI | illumina | 357 | - |
| Bulk RNA sequencingAPI | illumina | 261 | - |
| microRNA sequencingAPI | illumina | 75 | - |
| DNA methylation arrayAPI | illumina | 99 | - |
| Whole-slide tissue imagesAPI | illumina | 291 | - |
| ClinicalAPI | - | 272 | - |
| Copy Number VariationAPI | - | 100 | - |
| Somatic Structural VariationAPI | - | 56 | - |
How complete all 29 clinical fields are - 12 informative for at least 80% of cases
Outcome
Follow-up
Treatment
Diagnosis
Demographics
Access
Data Access Request through dbGaP using an eRA Commons account; institutional signing official approval required
- Open components
- 826 open-access files
- Controlled components
- 723 controlled-access files
- Typical turnaround
- days to a few weeks after signing official approval
- License
- NIH Genomic Data Sharing Policy terms
- Citation requirement
- Cite the dataset accession and the program's publication guidelines; see the GDC publication policy.
What it is good for
Written and checked by a reviewer, not generated from metadata.
No reviewed research questions yet. The measurements and field completeness above are machine-extracted and still useful for judging fit.
What it cannot tell you
Written by a reviewer against the source, not inferred from what is missing.
No reviewed limitations yet. Check the field completeness chart above before committing to an analysis. Low coverage on an endpoint you need is the most common blocker.
Who has used it
Articles that analyzed these data, counted separately from articles that only cited the paper. Only the first counts as reuse.
- Not assessed: insufficient metadata to model expected reuse.
Articles that analyzed the data
None found. We searched Europe PMC for this dataset's accessions in article methods, results, tables, figures and data availability statements on 20 Sept 2026. That means our search found nothing, not that nobody has used these data.
Community examples
Share your exampleAnalyses someone ran on these data end to end, each with a receipt recording when it ran, against which packages and for how long.
Nobody has shared an analysis of this dataset yet. The examples on other datasets cover the common patterns and can be adapted - and if you adapt one, it belongs here.
Start here
Starter code generated from this record’s own identifiers, then the access steps.
Get the data in code
GDC: list open files and download thempython
import json, requests
PROJECT = "CCG-CUPP"
filters = {"op": "and", "content": [
{"op": "in", "content": {"field": "cases.project.project_id", "value": [PROJECT]}},
{"op": "in", "content": {"field": "access", "value": ["open"]}},
]}
params = {"filters": json.dumps(filters),
"fields": "file_id,file_name,data_category,data_type,file_size",
"size": "10000", "format": "JSON"}
files = requests.get("https://api.gdc.cancer.gov/files", params=params, timeout=60).json()["data"]["hits"]
print(len(files), "open files")
# Write a manifest and fetch with the GDC client (https://gdc.cancer.gov/access-data/gdc-data-transfer-tool)
with open("manifest.txt", "w") as fh:
fh.write("id\n" + "\n".join(f["file_id"] for f in files))
# $ gdc-client download -m manifest.txtGDC: clinical table for every casepython
import json, requests
filters = {"op": "in", "content": {"field": "project.project_id", "value": ["CCG-CUPP"]}}
params = {"filters": json.dumps(filters), "size": "5000", "format": "TSV",
"fields": ",".join([
"submitter_id", "demographic.vital_status", "demographic.days_to_death",
"diagnoses.days_to_last_follow_up", "diagnoses.ajcc_pathologic_stage",
"diagnoses.treatments.treatment_type", "diagnoses.treatments.treatment_outcome"])}
tsv = requests.get("https://api.gdc.cancer.gov/cases", params=params, timeout=60).text
open("CCG-CUPP_clinical.tsv", "w").write(tsv)This page as data: limitations firstbash
curl -s https://cd2s.vercel.app/data/datasets/gdc-ccg-cupp.json | python3 -c '
import json, sys
r = json.load(sys.stdin)
for l in r["limitations"]:
print(l["severity"].upper(), "-", l["statement"][:120])
print("survival endpoint:", r["longitudinal"]["has_survival_endpoint"], "| treatment response:", r["longitudinal"]["has_treatment_response"])'Access steps
- Open the project in the GDC Data PortalFor people
Check the portal's current case and file counts before requesting anything; the cohort can change after this record was built.
https://portal.gdc.cancer.gov/projects/CCG-CUPP - Download the open files without an accountFor people
826 open-access files are marked open access. Add them to a portal cart, export a manifest, and fetch it with the GDC Data Transfer Tool.
https://gdc.cancer.gov/access-data/gdc-data-transfer-toolgdc-client download -m gdc_manifest.txt - Request controlled access through dbGaPFor people
723 controlled-access files require an approved data access request. The request starts at dbGaP, not in the portal. The relevant study is phs001801.
https://gdc.cancer.gov/access-data/obtaining-access-controlled-data - Download controlled files with your tokenFor people
An approved request yields a token. The same manifest fetches nothing controlled without it.
https://www.ncbi.nlm.nih.gov/projects/gap/cgi-bin/study.cgi?study_id=phs001801gdc-client download -m gdc_manifest.txt -t gdc-user-token.txt - Query the project from code, with no credentialsFor agents
The file index is public even where files are not, so an agent can size the cohort before anyone requests access.
https://docs.gdc.cancer.gov/API/Users_Guide/Getting_Started/curl -s 'https://api.gdc.cancer.gov/files' --get \ --data-urlencode 'filters={"op":"in","content":{"field":"cases.project.project_id","value":["CCG-CUPP"]}}' \ --data-urlencode 'fields=file_id,file_name,data_type' \ --data-urlencode 'size=10000' --data-urlencode 'format=TSV' - Pass the token when the agent needs controlled filesFor agents
Without a token, an API query may return only the open subset. Compare returned counts with the record before treating them as the whole cohort.
https://docs.gdc.cancer.gov/API/Users_Guide/Getting_Started/curl -H "X-Auth-Token: $GDC_TOKEN" https://api.gdc.cancer.gov/data/<file_id>
Provenance
All of it, and more, is in this record’s JSON.