Cholangiocarcinoma
Cholangiocarcinoma is a cancer that develops in the bile duct. The bile duct is a network of tubes that carry bile from the liver and gallbladder to the small intestine. Tumors that start in bile duct branches that lie inside the liver are called intrahepatic bile duct cancer, while those that form outside the liver are called extrahepatic bile duct cancer. About 10% of all cholangiocarcinoma are intrahepatic and 90% are extrahepatic. TCGA studied both subtypes of cholangiocarcinoma. Although cholangiocarcinoma is a rare cancer, the incidence and mortality rates for the disease have been increasing worldwide in the last three decades. Between 2,000 and 3,000 Americans are diagnosed with cholangiocarcinoma each year, the majority of them with tumors at advanced stages. This cancer is more prevalent in Asia and the Middle East, where parasitic infection of the bile duct increases the risk of cholangiocarcinoma. Other diseases of the bile duct or liver, such as bile duct stones and liver disease, obesity, diabetes, and smoking are also risk factors. When intrahepatic and extrahepatic cholangiocarcinoma spread to other parts of the body, only 2% of patients survive five years after diagnosis. Please see the DICOM converted Slide Microscopy images for the TCGA-CHOL collection page to learn more about the histopathology images and to obtain any supporting metadata for this collection.
Can it answer your research question?
5 of 6 supportedOverall survival
SupportedVital status and time are populated; median follow-up 1.9 years; 48 cases with follow-up; endpoint: overall survival.API
Progression or recurrence
Supportedprogression_or_recurrenceis informative for 35% of cases.APITreatment response
Supporteddisease_responseis populated for 92% of cases; criteria: complete response, partial response.APIWhich drug was given
Limitedtherapeutic_agentsis recorded for 18% of cases.APIStage-adjusted modelling
Supportedajcc_pathologic_stageis informative for 94% 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
- Sex27 female · 21 male · 3 no value recorded
- Race41 white · 3 asian · 3 black or african american · 1 unknown · 3 no value recorded
- Ethnicity43 not hispanic or latino · 2 hispanic or latino · 2 unknown · 1 not reported · 3 no value recorded
- Vital status26 alive · 22 dead · 3 no value recorded
Age at diagnosis
What was measured, and on how many
- Whole exome sequencing51 of 51 · 100%
- Clinical51 of 51 · 100%
- DICOM medical imaging51 of 51 · 100%
- Whole genome sequencing49 of 51 · 96%
- Somatic Structural Variation49 of 51 · 96%
- Whole-slide diagnostic images39 of 51 · 76%
- Bulk RNA sequencing36 of 51 · 71%
- microRNA sequencing36 of 51 · 71%
- SNP genotyping array (copy number, germline)36 of 51 · 71%
- DNA methylation array36 of 51 · 71%
- Reverse phase protein array30 of 51 · 59%
- ATAC sequencing (chromatin accessibility)5 of 51 · 10%
Platform, files and data levels
| Assay | Platform | Files | Levels |
|---|---|---|---|
| Whole exome sequencingAPI | illumina | 829 | - |
| ClinicalAPI | - | 116 | - |
| DICOM medical imagingAPI | - | - | DICOM series |
| Whole genome sequencingAPI | illumina | 783 | - |
| Somatic Structural VariationAPI | - | 204 | - |
| Whole-slide diagnostic imagesAPI | illumina | 39 | - |
| Bulk RNA sequencingAPI | illumina | 396 | - |
| microRNA sequencingAPI | illumina | 135 | - |
| SNP genotyping array (copy number, germline)API | illumina | 520 | - |
| DNA methylation arrayAPI | illumina | 135 | - |
| Reverse phase protein arrayAPI | illumina | 30 | - |
| ATAC sequencing (chromatin accessibility)API | illumina | 5 | - |
How complete all 29 clinical fields are - 17 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
- 1,171 open-access files
- Controlled components
- 2,000 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.
What articles did with it
- Cited the paper409
- Mentioned the dataset9
- Accession found in text0
- Declared using it25
- Analyzed the data195
Against comparable datasets
- Analyzed it195
- Expected~68
- Reuse is within the expected range for comparable datasets (index +1.51).
Original publication
Articles that analyzed the 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 = "TCGA-CHOL"
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": ["TCGA-CHOL"]}}
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("TCGA-CHOL_clinical.tsv", "w").write(tsv)IDC: pull the DICOM collection with idc-indexpython
from idc_index import IDCClient
COLLECTION = "tcga_chol"
client = IDCClient()
series = client.index[client.index["collection_id"] == COLLECTION] # one row per DICOM series
print(len(series), "series,", series["PatientID"].nunique(), "patients,",
round(series["series_size_MB"].sum() / 1024, 1), "GB")
print(series["Modality"].value_counts().to_dict())
# Everything above is an index lookup and costs nothing. Uncomment to pull the pixels;
# the client refuses up front if the disk cannot hold them.
# client.download_from_selection(collection_id=COLLECTION, downloadDir="./tcga_chol")This page as data: limitations firstbash
curl -s https://cd2s.vercel.app/data/datasets/gdc-tcga-chol.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/TCGA-CHOL - Download the open files without an accountFor people
1,171 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
2,000 controlled-access files require an approved data access request. The request starts at dbGaP, not in the portal. The relevant study is phs000178.
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=phs000178gdc-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":["TCGA-CHOL"]}}' \ --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.
Identifiers
Versions and verification
- Released
- 1 Jan 2017
- Metadata retrieved
- 18 Sept 2026
- Review status
- Machine-extracted
- Data generation funding
- Funded data generation
Funding
Funded data generation
- U24CA210990UCSC-Buck Specialized Genomic Data Analysis Center for the Genomic Data Analysis NetworkJOSHUA Michael STUARTAPI
- U24CA210950Integrated analysis of protein expression data from the Reverse Phase Protein Array (RPPA) platformRehan Akbani, GORDON B. MILLSAPI
- U24CA210949Batch effects in molecular profiling data on cancers: detection, quantitation, interpretation, and correctionRehan Akbani, GORDON B. MILLSAPI
- U24CA199461Next-Generation Clustered Heat Maps for fluent, interactive exploration of omic dataBradley McIntosh Broom, John N WeinsteinAPI
- U24CA144025Harvard Genome Characterization CenterRaju S. KucherlapatiAPI
- U24CA143883Integrative Pipeline for Analysis & Translational Application of TCGA Data (GDAC)Rehan Akbani, GORDON B. MILLSAPI
- U24CA143882The USC-JHU Cancer Epigenome Characterization CenterSTEPHEN B. BAYLIN, Daniel Joseph WeisenbergerAPI
- U24CA143867Genome Characterization Center (GCC)Stacey Gabriel, Matthew L. MeyersonAPI
- U24CA143866Cancer transcriptome characterization using massively parallel DNA sequencingMarco Antonio MarraAPI
- U24CA143858UCSC-Buck Inst. Genome Data Analysis Center for TCGA Research Network (GDAC)Christopher Benz, DAVID H HAUSSLERAPI