Skip to content
Datasets/TCGA-LIHC

Liver Hepatocellular Carcinoma

MixedMachine-extracted
TCGAAvailable from GDC and IDC

The Cancer Imaging Program (CIP) is working directly with primary investigators from institutes participating in TCGA to obtain and load images relating to the genomic, clinical, and pathological data being stored within the TCGA Data Portal. Currently this CT and MR multi-sequence image collection of liver hepatocellular carcinoma (LIHC) patients can be matched by each unique case identifier with the extensive gene and expression data of the same case from The Cancer Genome Atlas Data Portal to research the link between clinical phenome and tissue genome. Please see the TCGA-LIHC page to learn more about the radiology images and to obtain any supporting metadata for this collection. Please see the DICOM converted Slide Microscopy images for the TCGA-LIHC 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 supported
  • Overall survival

    Supported

    Vital status and time are populated; median follow-up 1.6 years; 376 cases with follow-up; endpoint: overall survival.API

  • Progression or recurrence

    Supported

    progression_or_recurrence is informative for 46% of cases.API

  • Treatment response

    Supported

    disease_response is populated for 100% of cases; criteria: partial response, progressive disease.API

  • Which drug was given

    Limited

    therapeutic_agents is recorded for 16% of cases.API

  • Stage-adjusted modelling

    Supported

    ajcc_pathologic_stage is informative for 94% of cases.API

  • Analysis by race or ethnicity

    Supported

    Race is informative for 97% of cases.API

Judged from the repository’s own field completeness (thresholds). “Not measured” means we have not probed that field for this record, not that the data lack it.

At a glance

Every percentage is the repository’s own record of what is filled in
CasesAPI2
377
Measurement types
12
24,083 files, 213 TB
Follow-upAPI
19.7 months
for 376 of 377 cases; overall survival
Treatment responseAPI
Recorded
partial response, progressive disease, stable disease

SubjectCALC

Liver

As filed by the repository

Adenomas and AdenocarcinomasLiverLiver and intrahepatic bile ducts

Who is in the cohortAPI

A usable value“Not reported” or “unknown”No value recorded
  • Sex255 male · 122 female
  • Race187 white · 161 asian · 17 black or african american · 2 1 other · 6 not reported · 4 unknown
  • Ethnicity340 not hispanic or latino · 18 hispanic or latino · 15 not reported · 4 unknown
  • Vital status245 alive · 132 dead

Age at diagnosis

Median 62, middle half 52–69, range 17–88 years across 373 cases.

What was measured, and on how many

12 measurement types, 5 covering the whole cohort.

  • SNP genotyping array (copy number, germline)377 of 377 · 100%
  • DNA methylation array377 of 377 · 100%
  • Whole-slide tissue images377 of 377 · 100%
  • Clinical377 of 377 · 100%
  • DICOM medical imaging377 of 377 · 100%
  • Whole exome sequencing376 of 377 · >99%
  • microRNA sequencing373 of 377 · 99%
  • Bulk RNA sequencing371 of 377 · 98%
  • Whole genome sequencing324 of 377 · 86%
  • Somatic Structural Variation304 of 377 · 81%
  • Reverse phase protein array184 of 377 · 49%
  • ATAC sequencing (chromatin accessibility)17 of 377 · 5%
Platform, files and data levels
AssayPlatformFilesLevels
SNP genotyping array (copy number, germline)APIillumina4,967-
DNA methylation arrayAPIillumina1,290-
Whole-slide tissue imagesAPI2illumina491-
ClinicalAPI2-803-
DICOM medical imagingAPI--DICOM series
Whole exome sequencingAPIillumina6,046-
microRNA sequencingAPIillumina1,275-
Bulk RNA sequencingAPIillumina3,816-
Whole genome sequencingAPI2illumina4,051-
Somatic Structural VariationAPI-949-
Reverse phase protein arrayAPIillumina184-
ATAC sequencing (chromatin accessibility)APIillumina17-
How complete all 29 clinical fields are - 17 informative for at least 80% of cases

A field counts as informative only when it holds a real value. “Not reported” blocks an analysis just as a missing field does. Fields marked 1:n can hold several records per case, so they show the share of cases with any record.

Informative - a usable valuePresent but uninformative - “not reported” or “unknown”Absent - no value recorded

Outcome

  • Vital statusAPI100%
  • Cause of deathAPI0%
  • Progression or recurrenceAPI0%
  • Last known disease statusAPI0%

Follow-up

  • Disease response at follow-up1:nAPI>99%
  • ECOG performance statusAPI78%
  • Progression at follow-upAPI46%

Treatment

  • Prior treatment1:nAPI100%
  • Treatment type1:nAPI100%
  • Treatment given1:nAPI100%
  • Therapeutic agents1:nAPI16%
  • Treatment outcomeAPI10%
  • Regimen or line of therapyAPI<1%

Staging

  • AJCC pathologic stageAPI94%
  • AJCC clinical stageAPI0%

Diagnosis

  • Primary diagnosis1:nAPI100%
  • Tissue or organ of origin1:nAPI100%
  • Prior malignancyAPI>99%
  • Synchronous malignancyAPI>99%

Pathology

  • Morphology (ICD-O)1:nAPI100%
  • Classification of tumor1:nAPI100%
  • Tumor gradeAPI99%

Demographics

  • Sex at birthAPI100%
  • Country of residenceAPI98%
  • RaceAPI97%
  • EthnicityAPI95%
  • Population groupAPI0%

Exposure

  • Tobacco smoking statusAPI0%
  • Alcohol historyAPI0%

Access

MixedSome components are open; others need approval.API

Data Access Request through dbGaP using an eRA Commons account; institutional signing official approval required

Open components
9,302 open-access files
Controlled components
14,781 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.

Analyzed the dataCALC2
2,568
accession in the methods; 100% of a 30-article sample really cited it
Declared using it
281
named in a data availability statement
Cited the paper
2,049
attention to the publication, not reuse of the data
Against expectation
As expected or above
about 275 articles expected; index 3.22

What articles did with it

Only the last row counts as reuse. Where the accession appears in an article tells us what the authors did with the data.

  • Cited the paper2,049
  • Mentioned the dataset233
  • Accession found in text0
  • Declared using it281
  • Analyzed the data2,568

Against comparable datasets

2,568 articles analyzed these data. About 275 would be expected. The expectation comes from a model of size, age, breadth and access tier.

  • Analyzed it2,568
  • Expected~275
Reuse assessment
  • Reuse is within the expected range for comparable datasets (index +3.22).

Compared against 132 datasets in this corpus with a citable accession and sufficient metadata. See Methods for the model.

Articles that analyzed the data

Examples, not the full list. 115 articles matching this dataset's accession search were retrieved and graded individually; these are the strongest of those.

Deep-review sample: author overlap and funding were checked only for the 10 articles listed here, not for every article examined. Of the 10 that analyzed the data, 10 of the 10 we could check had no author in common with the generating team, and 0 of the 10 we could check were themselves NCI-funded. These are sample counts, not population estimates.

Community examples

Share your example

Analyses 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

Open-access files need no account. Controlled files need an approved dbGaP request and a token passed to gdc-client.

import json, requests

PROJECT = "TCGA-LIHC"
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.txt
GDC: clinical table for every casepython
import json, requests

filters = {"op": "in", "content": {"field": "project.project_id", "value": ["TCGA-LIHC"]}}
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-LIHC_clinical.tsv", "w").write(tsv)
IDC: pull the DICOM collection with idc-indexpython

pip install idc-index. Images are public; the package uses s5cmd under the hood.

from idc_index import IDCClient

COLLECTION = "tcga_lihc"
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_lihc")
This page as data: limitations firstbash
curl -s https://cd2s.vercel.app/data/datasets/gdc-tcga-lihc.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

  1. 1
    Open the project in the GDC Data PortalFor people5 minutes

    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-LIHC

    Generated from repository policy. Check the linked policy before downloading.

  2. 2
    Download the open files without an accountFor peopleminutes to hours, by cohort size

    9,302 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.

    gdc-client download -m gdc_manifest.txt
    https://gdc.cancer.gov/access-data/gdc-data-transfer-tool

    Generated from repository policy. Check the linked policy before downloading.

  3. 3
    Request controlled access through dbGaPFor peopledays to a few weeks after signing official approval

    14,781 controlled-access files require an approved data access request. The request starts at dbGaP, not in the portal. The relevant study is phs000178.

    Requires: eRA Commons account, institutional signing official approval, dbGaP data access request for phs000178

    https://gdc.cancer.gov/access-data/obtaining-access-controlled-data

    Generated from repository policy. Check the linked policy before downloading.

  4. 4
    Download controlled files with your tokenFor people

    An approved request yields a token. The same manifest fetches nothing controlled without it.

    Requires: approved dbGaP request, GDC authentication token

    gdc-client download -m gdc_manifest.txt -t gdc-user-token.txt
    https://www.ncbi.nlm.nih.gov/projects/gap/cgi-bin/study.cgi?study_id=phs000178

    Generated from repository policy. Check the linked policy before downloading.

  5. 5
    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.

    curl -s 'https://api.gdc.cancer.gov/files' --get \
      --data-urlencode 'filters={"op":"in","content":{"field":"cases.project.project_id","value":["TCGA-LIHC"]}}' \
      --data-urlencode 'fields=file_id,file_name,data_type' \
      --data-urlencode 'size=10000' --data-urlencode 'format=TSV'
    https://docs.gdc.cancer.gov/API/Users_Guide/Getting_Started/

    Generated from repository policy. Check the linked policy before downloading.

  6. 6
    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.

    Requires: GDC authentication token

    curl -H "X-Auth-Token: $GDC_TOKEN" https://api.gdc.cancer.gov/data/<file_id>
    https://docs.gdc.cancer.gov/API/Users_Guide/Getting_Started/

    Generated from repository policy. Check the linked policy before downloading.

Provenance

All of it, and more, is in this record’s JSON.

Identifiers

Versions and verification

Released
1 Jan 2013
Metadata retrieved
18 Sept 2026
Review status
Machine-extracted
Data generation funding
Funded data generation

Funding

Awards resolved through NIH RePORTER. Awards that paid to generate these data are listed apart from awards that paid to reuse them. Both are returns on NCI investment, but different ones.

Funded data generation

  • U24CA210999Global Infrastructure for Collaborative High-throughput Cancer Genomics AnalysisGAD A GETZFY2016-2020API
  • U24CA210990UCSC-Buck Specialized Genomic Data Analysis Center for the Genomic Data Analysis NetworkJOSHUA Michael STUARTFY2016-2020API
  • U24CA210969Integrative Cancer Epigenomic Data Analysis Center (ICE-DAC)PETER W LAIRD, Benjamin P BermanFY2016-2020API
  • U24CA210950Integrated analysis of protein expression data from the Reverse Phase Protein Array (RPPA) platformRehan Akbani, GORDON B. MILLSFY2016-2020API
  • U24CA210949Batch effects in molecular profiling data on cancers: detection, quantitation, interpretation, and correctionRehan Akbani, GORDON B. MILLSFY2016-2020API
  • U24CA199461Next-Generation Clustered Heat Maps for fluent, interactive exploration of omic dataBradley McIntosh Broom, John N WeinsteinFY2015-2019API
  • U24CA144025Harvard Genome Characterization CenterRaju S. KucherlapatiFY2009-2016API
  • U24CA143883Integrative Pipeline for Analysis & Translational Application of TCGA Data (GDAC)Rehan Akbani, GORDON B. MILLSFY2009-2016API
  • U24CA143882The USC-JHU Cancer Epigenome Characterization CenterSTEPHEN B. BAYLIN, Daniel Joseph WeisenbergerFY2009-2016API
  • U24CA143867Genome Characterization Center (GCC)Stacey Gabriel, Matthew L. MeyersonFY2009-2016API

and 8 more

For softwarerecord JSON