Skip to content
Datasets/CGCI-HTMCP-LC

HIV+ Tumor Molecular Characterization Project - Lung Cancer

MixedProject-curated
CGCIAvailable from GDC and IDC

39 lung cancers from an HIV-enriched cohort, two thirds Black or African American, with whole genome sequencing on every case and clinical staging on 62% - very small, and addressing a population that appears in almost no lung cancer genomics.

Can it answer your research question?

4 of 6 supported
  • Overall survival

    Supported

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

  • Progression or recurrence

    Limited

    progression_or_recurrence is informative for 18% of cases.API

  • Treatment response

    Supported

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

  • Which drug was given

    Limited

    therapeutic_agents is recorded for 10% of cases.API

  • Stage-adjusted modelling

    Supported

    ajcc_pathologic_stage is informative for 62% of cases.API

  • Analysis by race or ethnicity

    Supported

    Race is informative for 92% 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
39
Measurement types
8
1,184 files, 22 TB
Follow-upAPI
6.4 months
for 36 of 39 cases; overall survival
Treatment responseAPI
Recorded
complete response, progressive disease

SubjectCALC

Lung

As filed by the repository

Neoplasms, NOSComplex Epithelial NeoplasmsAdenomas and AdenocarcinomasParagangliomas and Glomus TumorsEpithelial Neoplasms, NOSSquamous Cell NeoplasmsBronchus and lunglung

Who is in the cohortAPI

A usable value“Not reported” or “unknown”No value recorded
  • Sex27 male · 12 female
  • Race26 black or african american · 10 white · 3 not reported
  • Ethnicity33 not hispanic or latino · 2 hispanic or latino · 3 not reported · 1 unknown
  • Vital status25 dead · 10 alive · 3 not reported · 1 unknown

Age at diagnosis

Median 60, middle half 52–66, range 40–70 years across 21 cases.

What was measured, and on how many

8 measurement types, 1 covering the whole cohort.

  • Whole genome sequencing39 of 39 · 100%
  • Bulk RNA sequencing38 of 39 · 97%
  • microRNA sequencing37 of 39 · 95%
  • Clinical36 of 39 · 92%
  • Copy Number Variation36 of 39 · 92%
  • Somatic Structural Variation36 of 39 · 92%
  • Whole-slide tissue images27 of 39 · 69%
  • DICOM medical imaging27 of 39 · 69%
Platform, files and data levels
AssayPlatformFilesLevels
Whole genome sequencingAPIillumina567-
Bulk RNA sequencingAPIillumina342-
microRNA sequencingAPIillumina111-
ClinicalAPI-41-
Copy Number VariationAPI-140-
Somatic Structural VariationAPI-138-
Whole-slide tissue imagesAPIillumina84-
DICOM medical imagingAPI--DICOM series
How complete all 29 clinical fields are - 14 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 statusAPI90%
  • Cause of deathAPI21%
  • Progression or recurrenceAPI0%
  • Last known disease statusAPI0%

Follow-up

  • Disease response at follow-up1:nAPI92%
  • ECOG performance statusAPI59%
  • Progression at follow-upAPI18%

Treatment

  • Prior treatmentAPI92%
  • Treatment type1:nAPI92%
  • Treatment given1:nAPI92%
  • Treatment outcomeAPI23%
  • Therapeutic agents1:nAPI10%
  • Regimen or line of therapyAPI0%

Staging

  • AJCC pathologic stageAPI62%
  • AJCC clinical stageAPI44%

Diagnosis

  • Primary diagnosis1:nAPI100%
  • Tissue or organ of origin1:nAPI100%
  • Prior malignancyAPI92%
  • Synchronous malignancyAPI77%

Pathology

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

Demographics

  • Sex at birthAPI100%
  • RaceAPI92%
  • EthnicityAPI90%
  • Population groupAPI0%
  • Country of residenceAPI0%

Exposure

  • Tobacco smoking statusAPI90%
  • 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
380 open-access files
Controlled components
804 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.

  1. 1. Does lung cancer arising in people living with HIV differ genomically from lung cancer in the general population?

    Needs approved accessn ≈ 39HUMAN

    Whole genome sequencing on all 39 cases, contrastable with the large TCGA lung cohorts in the same repository under the same harmonization. Whole genome rather than exome allows mutational signature and structural analysis.

    Statistical note: 39 cases supports descriptive comparison of signature burden and recurrent alterations only. Any difference must be large to be detectable, and the comparison cohorts differ in sequencing era and platform.

    NeedsWhole genome sequencingBulk RNA sequencing
  2. 2. Can this cohort serve as a validation set for HIV-associated cancer hypotheses?

    Needs another datasetn ≈ 39HUMAN

    Alongside the cervical and lymphoma cohorts in the same program, it allows a hypothesis about HIV-associated tumor biology to be tested across three tumor types collected under a common protocol.

    NeedsWhole genome sequencingBulk RNA sequencing
  3. 3. What is the survival experience of this population?

    Needs approved accessn ≈ 35HUMAN

    Vital status is informative for 89.7% of cases, with follow-up derivable for 36 of 39 and extending to 104 months despite a short median of 6.4.

    Statistical note: 35 cases with informative vital status and a 6.4-month median follow-up gives very wide confidence intervals. Report them and avoid median survival estimates.

    NeedsClinical dataOutcome data

What it cannot tell you

2 blocking

Written by a reviewer against the source, not inferred from what is missing.

BlockingStatistical powerHUMAN

39 cases is the smallest cohort with a showcase page here. Nearly every analysis is underpowered, and no subgroup analysis is viable.

Affects: Discovery; Subgroup comparison; Multivariable modeling

Mitigation: Use for descriptive characterization or as a validation set for an externally derived hypothesis. Do not attempt discovery.

BlockingMissing dataHUMAN

HIV status, CD4 count and antiretroviral history are not structured fields. Progression and last known disease status are empty for all cases.

Affects: HIV-stratified analysis; Progression-free survival

Mitigation: Request the full phenotype file through dbGaP.

MajorTreatment contextHUMAN

Treatment type is recorded for 92% but therapeutic agents for only 10%, so the specific therapy is unknown for most patients.

Affects: Treatment-response analysis

Mitigation: Restrict to the small subset with agent records and report its size.

MajorAccess constraintHUMAN

804 of 1,184 files are controlled access.

Affects: Sequence-level analysis

Mitigation: Submit a dbGaP request.

Not appropriate for

  • Any statistically powered discovery analysis. - 39 cases cannot support it.HUMAN
  • Comparing HIV-positive with HIV-negative patients within the cohort. - HIV status is not a structured variable in these records.HUMAN

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 dataCALC
0
accession in the methods section
Declared using it
0
named in a data availability statement
Cited the paper
-
attention to the publication, not reuse of the data
Against expectation
Not assessed
More articles are listed below than the count
The headline count is deliberately narrow: one section of one accession (METHODS:"CGCI-HTMCP-LC"), so every dataset in the corpus is counted the same way and the numbers can be compared. The 2 articles listed below were retrieved and graded one at a time, and an article counts as having analyzed the data wherever the accession sits in the analysis - methods, results, tables, figures or supplement - under any of this dataset’s accessions. Read the list as the evidence about these articles, and the count as the number that is comparable across datasets.
Reuse assessment
  • Not assessed: insufficient metadata to model expected reuse.

Compared against rgi-huber-v2. See Methods for the model.

Articles that analyzed the data

Each was retrieved and graded individually.

Deep-review sample: author overlap and funding were checked only for the 2 articles listed here, not for every article examined. Of the 2 that analyzed the data, author overlap with the generating team could not be checked for any of them, and 0 of the 2 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.

intermediate

Is performance status associated with response to chemoradiation, and which agents were actually given?

Treatment response, after checking the response field is real

CD2S workbooks · ran 21 Sept 2026
pythonabout a minuteexecuted
Required inputs
  • Open GDC clinical records for CGCI-HTMCP-CC
  • scipy, pandas
Expected outputs
  • Separation of genuine response categories from disease-status codes
  • Per-case responder/progressor labels under a stated rule
  • Mann-Whitney comparison of ECOG between response groups
  • Agent frequency table
  • A two-panel chart of response composition and ECOG by response group
Steps
  1. Facet the two response-bearing fields and classify their values
  2. Collapse one-to-many treatment records to one label per case
  3. Compare performance status between response groups
  4. Tabulate the therapeutic agents actually recorded

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 = "CGCI-HTMCP-LC"
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": ["CGCI-HTMCP-LC"]}}
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("CGCI-HTMCP-LC_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 = "cgci_htmcp_lc"
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="./cgci_htmcp_lc")
This page as data: limitations firstbash
curl -s https://cd2s.vercel.app/data/datasets/gdc-cgci-htmcp-lc.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
    Scope with the 380 open-access filesFor people30 minutes
    https://portal.gdc.cancer.gov/projects/CGCI-HTMCP-LC
  2. 2
    Consider analyzing alongside the cervical and lymphoma HTMCP cohortsFor people1 hour

    All three share a collection protocol, and together they are considerably more useful than any one alone.

  3. 3
    Submit a dbGaP data access requestFor peopledays to a few weeks

    Requires: eRA Commons account, institutional signing official approval

    https://gdc.cancer.gov/access-data/obtaining-access-controlled-data
  4. 4
    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":["CGCI-HTMCP-LC"]}}' \
      --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.

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

Metadata retrieved
18 Sept 2026
Review status
Project-curatedCD2S project curation on 18 Sept 2026
Data generation funding
Funded data generation
Open questions from review
  • HIV status and CD4 count are not structured fields; confirm availability through dbGaP.

For softwarerecord JSON