CPTAC CCRCC Confirmatory Study - Training
Can it answer your research question?
2 of 6 supportedOverall survival
LimitedVital status is informative for 85% of cases, but too few events or no time to event.API
Progression or recurrence
Not supportedprogression_or_recurrenceis informative for no case in the harmonized records.APITreatment response
Not supportedtreatment_outcomeis populated for no case in the harmonized records.APIWhich drug was given
Not supportedtherapeutic_agentsis recorded for no case in the harmonized records.APIStage-adjusted modelling
Supportedajcc_pathologic_stageis informative for 85% of cases.APIAnalysis by race or ethnicity
SupportedRace is informative for 92% 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
- Sex36 male · 21 female · 4 not reported
- Race35 white · 13 other · 4 black or african american · 4 1 other · 5 not reported
- Ethnicity12 not hispanic or latino · 2 hispanic or latino · 47 not reported
- Vital status44 Alive · 8 Dead · 5 Not Reported · 4 no value recorded
What was measured, and on how many
- Metabolome mass spectrometry (Label Free / N/A)scarce61 of 61 · 100%
Platform, files and data levels
| Assay | Platform | Files | Levels |
|---|---|---|---|
| Metabolome mass spectrometry (Label Free / N/A)API | Label Free | - | raw, peptide/protein matrix |
How complete all 27 clinical fields are - 10 informative for at least 80% of cases
Access
Direct download from the PDC portal or its API; no account required
- Open components
- 1 analytical fraction studies
- License
- Open access under the PDC data use terms
- Citation requirement
- Cite the PDC study identifier and the study's primary publication; PDC asks that the consortium be acknowledged.
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
PDC: file manifest through the GraphQL APIpython
import requests
PDC_STUDY = "PDC000534"
API = "https://proteomic.datacommons.cancer.gov/graphql"
def gql(query, **variables):
r = requests.post(API, json={"query": query, "variables": variables}, timeout=180)
r.raise_for_status()
body = r.json()
if body.get("errors"):
raise RuntimeError(body["errors"][0]["message"])
return body["data"]
# filesPerStudy only fills its fields when given the study UUID: called with the
# pdc_study_id it returns the right number of rows with every column null.
study = gql("""query ($id: String!) {
study(pdc_study_id: $id acceptDUA: true) { study_id study_name }
}""", id=PDC_STUDY)["study"][0]
files = gql("""query ($sid: String!) {
filesPerStudy(study_id: $sid acceptDUA: true) {
file_id file_name file_type data_category md5sum file_size signedUrl { url }
}
}""", sid=study["study_id"])["filesPerStudy"]
print(study["study_name"], "-", len(files), "files")
for f in files[:3]:
print(f["file_name"], f["data_category"], f["file_size"])
# Each signedUrl.url is a time-limited download link; stream it to disk with requests.get(url, stream=True).This page as data: limitations firstbash
curl -s https://cd2s.vercel.app/data/datasets/pdc-cptac-ccrcc-confirmatory-study-training.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 study in the PDC portalFor people
Proteomic data are released open; the portal's use guidelines still apply.
https://pdc.cancer.gov/pdc/study/PDC000534 - Accept the data use guidelines and downloadFor people
The portal asks for acknowledgement and citation, not a data access request.
https://pdc.cancer.gov/pdc/data-use-guidelines - Resolve the study UUID, then fetch the file manifestFor agents
filesPerStudy keys on the study UUID, not on PDC000534: called with the pdc_study_id it returns the right number of rows with every column null. Resolve the UUID first and pass the terms acknowledgement.
https://pdc.cancer.gov/data-dictionary/publicapi-documentation/python - <<'PY' import requests API = "https://proteomic.datacommons.cancer.gov/graphql" def gql(query, **variables): r = requests.post(API, json={"query": query, "variables": variables}, timeout=180) r.raise_for_status() body = r.json() if body.get("errors"): raise RuntimeError(body["errors"][0]["message"]) return body["data"] study = gql('query($id:String!){ study(pdc_study_id:$id acceptDUA:true){ study_id } }', id="PDC000534")["study"][0] files = gql('query($sid:String!){ filesPerStudy(study_id:$sid acceptDUA:true)' '{ file_id file_name file_size } }', sid=study["study_id"])["filesPerStudy"] print(len(files), "files") PY
Provenance
All of it, and more, is in this record’s JSON.