Skip to content
Datasets/TCGA-THCA

Thyroid Carcinoma

MixedMachine-extracted
TCGAAvailable from GDC and IDC

The Cancer Genome Atlas-Thyroid Cancer (TCGA-THCA) data collection is part of a larger effort to enhance the TCGA http://cancergenome.nih.gov/ data set with characterized radiological images. The Cancer Imaging Program (CIP) with the cooperation of several of the TCGA tissue-contributing institutions are working to archive a large portion of the radiological images of the genetically-analyzed THCA cases. Please see the TCGA-THCA 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-THCA collection page to learn more about the histopathology images and to obtain any supporting metadata for this collection.

Can it answer your research question?

4 of 6 supported
  • Overall survival

    Supported

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

  • Progression or recurrence

    Limited

    progression_or_recurrence is informative for 10% of cases.API

  • Treatment response

    Supported

    disease_response is populated for 100% of cases; criteria: complete response, cr-complete response.API

  • Which drug was given

    Limited

    therapeutic_agents is recorded for 9% of cases.API

  • Stage-adjusted modelling

    Supported

    ajcc_pathologic_stage is informative for 100% of cases.API

  • Analysis by race or ethnicity

    Supported

    Race is informative for 82% 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
507
Measurement types
12
33,772 files, 289 TB
Follow-upAPI
2.6 years
for 507 of 507 cases; overall survival
Treatment responseAPI
Recorded
complete response, cr-complete response, partial response

SubjectCALC

Thyroid

As filed by the repository

Epithelial Neoplasms, NOSAdenomas and AdenocarcinomasSquamous Cell NeoplasmsThyroidThyroid gland

Who is in the cohortAPI

A usable value“Not reported” or “unknown”No value recorded
  • Sex371 female · 136 male
  • Race334 white · 52 asian · 27 black or african american · 1 1 other · 65 not reported · 28 unknown
  • Ethnicity365 not hispanic or latino · 38 hispanic or latino · 75 not reported · 29 unknown
  • Vital status491 alive · 16 dead

Age at diagnosis

Median 47, middle half 35–58, range 13–90 years across 507 cases.

What was measured, and on how many

12 measurement types, 3 covering the whole cohort.

  • DNA methylation array507 of 507 · 100%
  • Clinical507 of 507 · 100%
  • DICOM medical imaging507 of 507 · 100%
  • microRNA sequencing506 of 507 · >99%
  • Whole-slide tissue images506 of 507 · >99%
  • Bulk RNA sequencing505 of 507 · >99%
  • SNP genotyping array (copy number, germline)505 of 507 · >99%
  • Whole exome sequencing502 of 507 · >99%
  • Whole genome sequencing477 of 507 · 94%
  • Somatic Structural Variation471 of 507 · 93%
  • Reverse phase protein array377 of 507 · 74%
  • ATAC sequencing (chromatin accessibility)14 of 507 · 3%
Platform, files and data levels
AssayPlatformFilesLevels
DNA methylation arrayAPIillumina1,713-
ClinicalAPI2-1,064-
DICOM medical imagingAPI--DICOM series
microRNA sequencingAPIillumina1,719-
Whole-slide tissue imagesAPI2illumina639-
Bulk RNA sequencingAPIillumina5,148-
SNP genotyping array (copy number, germline)APIillumina6,616-
Whole exome sequencingAPIillumina8,081-
Whole genome sequencingAPI2illumina6,854-
Somatic Structural VariationAPI-1,497-
Reverse phase protein arrayAPIillumina381-
ATAC sequencing (chromatin accessibility)APIillumina14-
How complete all 29 clinical fields are - 15 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%
  • Progression at follow-upAPI10%
  • ECOG performance statusAPI0%

Treatment

  • Prior treatment1:nAPI100%
  • Treatment type1:nAPI>99%
  • Treatment given1:nAPI>99%
  • Treatment outcome1:nAPI63%
  • Therapeutic agentsAPI9%
  • Regimen or line of therapyAPI<1%

Staging

  • AJCC pathologic stageAPI>99%
  • 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 gradeAPI0%

Demographics

  • Sex at birthAPI100%
  • Country of residenceAPI100%
  • RaceAPI82%
  • EthnicityAPI80%
  • 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
12,723 open-access files
Controlled components
21,049 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
363
accession in the methods; 100% of a 29-article sample really cited it
Declared using it
54
named in a data availability statement
Cited the paper
2,365
attention to the publication, not reuse of the data
Against expectation
As expected or above
about 308 articles expected; index 0.24

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,365
  • Mentioned the dataset47
  • Accession found in text0
  • Declared using it54
  • Analyzed the data363

Against comparable datasets

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

  • Analyzed it363
  • Expected~308
Well known, little used
The publication has 2,365 citations, about 7 for every article that analyzed the data. The finding travelled further than the resource did.
Reuse assessment
  • Reuse is within the expected range for comparable datasets (index +0.24).

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. 99 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 1 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-THCA"
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-THCA"]}}
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-THCA_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_thca"
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_thca")
This page as data: limitations firstbash
curl -s https://cd2s.vercel.app/data/datasets/gdc-tcga-thca.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-THCA

    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

    12,723 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

    21,049 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-THCA"]}}' \
      --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

  • U24CA180951Cloud Based Resource for Data Hosting, Visualization and Analysis Using UCSC CancDAVID H HAUSSLERFY2013-2017API
  • 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
  • U24CA143866Cancer transcriptome characterization using massively parallel DNA sequencingMarco Antonio MarraFY2009-2015API
  • U24CA143858UCSC-Buck Inst. Genome Data Analysis Center for TCGA Research Network (GDAC)Christopher Benz, DAVID H HAUSSLERFY2009-2016API
  • U24CA143848Gene Expression Patterns in Human Tumors Identified Using Transcript SequencingDavid N Hayes, CHARLES M PEROUFY2009-2016API
  • U24CA143845The Cancer Genome Atlas Data Analysis CenterLYNDA CHIN, GAD A GETZFY2009-2016API
  • U24CA143843The BCM Tumor Genome Characterization CenterRICHARD A GIBBS, David Andrew WheelerFY2009-2013API

and 7 more

Funded infrastructure or harmonization

  • P30CA247796University of Florida Health Cancer Center Support GrantThomas J. George, Patrick KellishFY2023-2026API

For softwarerecord JSON