Communitygithub.com

imaging-data-commons

NCI Imaging Data Commons에서 공개 암 이미징 데이터를 질의하고 다운로드합니다. IDC 컬렉션, 암 이미징 데이터세트, DICOM 데이터 액세스, 방사선학(CT, MR, PET) 또는 병리학 AI 훈련 세트, 메타데이터 질의, 시각화, 라이선스 확인에 관한 모든 질문에 사용합니다.

imaging-data-commons란 무엇인가요?

이 스킬은 국립암연구소(NCI) Imaging Data Commons(IDC)의 공개 암 이미징 데이터에 접근할 수 있는 완전한 도구 모음을 제공합니다. 방사선학(CT, MR, PET) 및 디지털 병리학(슬라이드 현미경) 이미지를 포함한 대규모 공개 저장소를 연구, AI/ML 훈련 및 임상 분석에 활용할 수 있습니다. 스킬은 `idc-index` Python 패키지, REST API(`https://api.imaging.datacommons.cancer.gov/v3`), IDC MCP 서버 등 여러 액세스 경로를 처리하며, 작업에 가장 적합한 경로를 안내합니다 – 메타데이터 전용 질의에는 경량 curl REST API를 권장하고, 이미지 다운로드 대규모 결과물 또는 재현 가능한 스크립트가 필요한 경우 `idc-index` 설치를 권장합니다. `SeriesInstanceUID`를 키로 하는 인덱스 테이블들이 모든 외과(방사선학, 병리학, 분할, 주석)의 세부 메타데이터 질의를 지원하며, 라이선스 확인, 인용 형식 생성, 브라우저 내 DICOM 뷰어 URL 생성 기능도 포함됩니다. 데이터 액세스에 인증이 필요하지 않으며, BigQuery/Google Healthcare API와 같은 고급 경로는 GCP 인증을 필요로 합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/K-Dense-AI/scientific-agent-skills/tree/main/skills/imaging-data-commons

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Imaging Data Commons

개요

국립암연구소(NCI) Imaging Data Commons(IDC)의 공개 암 이미징 데이터를 질의하고 다운로드합니다. 데이터 액세스에 인증이 필요하지 않습니다.

예상 네트워크 액세스: IDC 메타데이터는 세 가지 방식으로 접근 가능합니다 — idc-index Python 패키지와 함께 제공되는 로컬 DuckDB 인덱스(네트워크 불필요) 또는 호스팅된 IDC 서비스를 MCP 또는 REST(api.imaging.datacommons.cancer.gov, 인증 불필요)를 통해 사용합니다. 파일 다운로드는 공개 GCS(storage.googleapis.com) 및 AWS S3(s3.amazonaws.com)를 사용하며 인증이 필요하지 않습니다. DICOMweb 액세스는 공개 IDC 프록시(proxy.imaging.datacommons.cancer.gov, 인증 불필요) 또는 Google Cloud Healthcare API(healthcare.googleapis.com, GCP 인증 필요)를 사용합니다. 선택적 BigQuery 질의(bigquery.googleapis.com)도 GCP 인증이 필요합니다. 이 스킬은 자격 증명이나 환경 변수에 접근하지 않습니다.

현재 IDC 데이터 버전: v24 (항상 확인하십시오 — 모범 사례 참조)

먼저 액세스 경로를 선택하십시오. 단일 기본 경로는 없습니다. 가장 저렴한 올바른 경로는 세션과 작업에 따라 다릅니다.

  1. 세션에 이미 IDC MCP 서버가 있습니까? 검색 및 메타데이터를 해당 서버로 라우팅하십시오 — IDC MCP 서버 참조.
  2. 그렇지 않으면 idc-index가 설치되어 있습니까? python scripts/check_version.py를 실행하십시오. 통과하면 모든 작업에 idc-index를 사용하십시오.
  3. 설치되지 않았고 작업이 읽기 전용 메타데이터 — 개수, 속성 값, 컬렉션 조회, 10,000행 미만의 SQL, 라이선스, 인용, 뷰어 URL? curl을 통해 REST API를 사용하십시오. 아무것도 설치하지 마십시오. 설치 시 약 77MB의 패키지 인덱스 데이터와 pandas, pyarrow, duckdb가 필요하며, 메타데이터 질의에는 필요하지 않습니다. 데이터 액세스 옵션을 참조하십시오.
  4. 설치되지 않았고 작업에 메타데이터 이상이 필요한 경우 — 파일 다운로드, pandas 또는 플로팅, pydicom/SimpleITK, 병리학 타일링, 10,000행 초과 결과, 또는 사용자가 다시 실행하는 버전 고정 스크립트? idc-index를 설치하십시오: check_version.py가 0이 아닌 종료 코드를 반환하며 실행 중인 인터프리터에 대한 정확한 설치 명령을 출력합니다. 가상 환경을 선호하며, 그런 다음 Python을 다시 시작하십시오.

idc-index (GitHub)는 여전히 가장 강력한 경로이며 이미지 바이트를 이동하는 유일한 경로입니다. 규칙은 작업에서 필요로 하기 전에 비용을 지불하지 않는 것입니다. check_version.py는 자체적으로 아무것도 설치하지 않습니다 — 또한 새 idc-index 또는 스킬 릴리스가 있을 때 알려줍니다.

idc-index 경로 설정:

from idc_index import IDCClient
client = IDCClient()

# IDC 데이터 버전 확인 ("v24"여야 함)
print(f"IDC 데이터 버전: {client.get_idc_version()}")

핵심 워크플로: client.sql_query()로 메타데이터 질의 → client.download_from_selection()으로 다운로드 → client.get_viewer_URL()로 시각화. 아래 Python 예제는 이 client를 가정합니다. 데이터 액세스 옵션에는 REST 해당 항목이 있습니다. 현재 데이터 규모는 references/sql_patterns.md의 요약 질의 또는 GET /v3/stats를 실행하십시오.

IDC MCP 서버

IDC는 https://api.imaging.datacommons.cancer.gov/mcp에서 호스팅 MCP 서버를 운영합니다(스트리밍 가능 HTTP, 인증 불필요). 사용 가능한 경우 아래 idc-index 워크플로를 보완하며 대체하지 않습니다.

식별 방법: MCP 리소스 idc://guide 또는 도구 이름 build_cohort, get_cohort_urls, list_analysis_results, get_idc_version 중 세 개 이상으로 식별합니다. run_sql과 같은 일반 이름은 자체적으로 증거가 되지 않습니다. 식별이 모호하면 idc-index를 사용하십시오.

세션에 서버가 있는 경우, 검색 및 메타데이터(버전, 개수, 속성 값, 코호트 빌드, 메타데이터 SQL)에 대해 권위 있는 소스로 취급하고 서버 자체 지침을 따르며 이 파일에서 다시 파생하지 마십시오. 데이터 버전은 서버가 보고하는 대로입니다. 이 파일에 고정된 버전에 의존하지 말고 get_idc_version을 호출하십시오.

서버가 수행하지 않는 작업(파일 다운로드, 로컬 pandas/노트북 분석, DICOMweb, BigQuery, 디지털 병리학 타일링, 재현 가능한 스크립트)에 대해서는 여기로 돌아오십시오. 서버의 SeriesInstanceUID를 client.download_from_selection(...)에 전달하고 해당 시점에 scripts/check_version.py를 실행하십시오.

사용할 수 없는 경우, 동일한 서비스를 https://api.imaging.datacommons.cancer.gov/v3에서 REST API로 구성 없이 사용할 수 있습니다. 개요의 라우팅 게이트에 따라 idc-index를 설치하는 대신 읽기 전용 메타데이터에 사용하십시오. MCP 서버 연결을 기껏해야 한 번만 제안하고 반복적인 대화형 검색에만 사용하며 사용자 구성을 직접 변경하지 마십시오.

도구 목록, 핸드오프 패턴 및 호스트별 참고 사항은 references/mcp_guide.md를 참조하십시오.

이 스킬을 사용해야 하는 경우

  • 공개적으로 사용 가능한 방사선학(CT, MR, PET) 또는 병리학(슬라이드 현미경) 이미지 찾기
  • 암 유형, 모달리티, 해부학적 부위 또는 기타 메타데이터로 이미지 하위 집합 선택
  • IDC에서 DICOM 데이터 다운로드
  • 연구 또는 상업적 응용 전 데이터 라이선스 확인
  • 로컬 DICOM 뷰어 소프트웨어 없이 브라우저에서 의료 이미지 시각화

빠른 탐색

아래 인라인: MCP/REST 라우팅 규칙, IDC 데이터 모델, 인덱스 테이블 및 조인 방법, 핵심 API 패턴(질의, 다운로드, 시각화, 라이선스, 인용), 모범 사례 및 문제 해결.

참조 가이드(필요 시 로드):

가이드로드 시기
index_tables_guide.md복잡한 JOIN, 스키마 검색, DataFrame 액세스
use_cases.md종단간 워크플로: 훈련 데이터세트, 배치 다운로드, pydicom/SimpleITK를 사용한 DICOM 읽기, 파이프라인 통합
sql_patterns.md필터 검색, 주석, 크기 추정을 위한 빠른 SQL 패턴
clinical_data_guide.md임상/테이블 형식 데이터, 이미징+임상 조인, 값 매핑
licensing_and_citation.md상업적 사용 질문, 혼합 라이선스 코호트, 인용 형식
cloud_storage_guide.md직접 S3/GCS 액세스, 버전 관리, UUID 매핑
dicomweb_guide.mdDICOMweb 엔드포인트, PACS 통합
digital_pathology_guide.md슬라이드 현미경(SM), 주석(ANN), 병리학 워크플로
bigquery_guide.md전체 DICOM 메타데이터, 비공개 요소(GCP 필요)
cli_guide.md명령줄 도구(idc download, 매니페스트 파일)
parquet_access_guide.mdGCS를 통한 직접 Parquet 질의(idc-index 설치 불필요)
mcp_guide.md호스팅 IDC MCP 서버: 도구 목록, 식별, idc-index로 핸드오프
rest_api_guide.md호스팅 IDC REST API: 엔드포인트, 필터 구문, SQL over HTTP, 매니페스트

IDC 데이터 모델

IDC는 표준 DICOM 계층(환자 → 연구 → 시리즈 → 인스턴스) 위에 두 가지 그룹화 수준을 추가합니다:

  • collection_id: 질병, 모달리티 또는 연구 초점별로 환자 그룹화(예: tcga_luad, nlst). 환자는 정확히 하나의 컬렉션에 속합니다.
  • analysis_result_id: 하나 이상의 원본 컬렉션에서 파생된 객체(분할, 주석, 방사선학 특징)를 식별합니다. AI 생성 또는 전문가 주석을 찾는 데 사용하고, collection_id는 원본 이미징 데이터(자체적으로 기탁된 주석을 포함할 수 있음)를 찾습니다.

질의를 위한 주요 식별자:

식별자범위용도
collection_id데이터세트 그룹화프로젝트/연구별 필터링
PatientID환자환자별 이미지 그룹화
StudyInstanceUIDDICOM 연구관련 시리즈 그룹화, 시각화
SeriesInstanceUIDDICOM 시리즈관련 시리즈 그룹화, 시각화

인덱스 테이블

idc-index 패키지는 여러 메타데이터 인덱스 테이블을 제공하며 SQL 또는 pandas DataFrame으로 액세스할 수 있습니다. REST API는 GET /tables 및 POST /sql을 통해 동일한 테이블을 제공합니다.

중요: client.indices_overview는 현재 테이블 설명, 사용 가능한 열 및 해당 유형에 대한 권위 있는 소스입니다. SQL을 작성하거나 데이터 구조를 탐색할 때 질의하십시오. 또한 "테이블 X에 열 Y가 포함되어 있나요?"에 답합니다. 전체 스키마 검색 및 해당 검색 패턴은 references/index_tables_guide.md를 참조하십시오.

사용 가능한 테이블

인덱스 테이블을 질의하기 전에 항상 client.fetch_index("table_name")을 호출하십시오. 시작 시 자동으로 로드되는 테이블을 포함하여 모든 테이블에 대해 안전하고 멱등적입니다.

계열테이블세분성
핵심index(모든 현재 데이터의 기본 메타데이터), collections_index, analysis_results_index시리즈 / 컬렉션 / 분석 결과
모달리티 획득 매개변수ct_index, mr_index, pt_index, contrast_index1행 = 해당 모달리티의 1 시리즈
파생 객체seg_index, rtstruct_index, ann_index, ann_group_index1행 = 1 시리즈(또는 주석 그룹)
현미경sm_index, sm_instance_index1행 = 1 SM 시리즈 / 인스턴스
기하학, 임상, 기록volume_geometry_index, clinical_index, version_metadata_index, prior_versions_index가이드 참조

references/index_tables_guide.md에는 각 테이블의 열과 내용을 포함한 전체 목록이 있습니다. 특수 테이블이 실제로 무엇을 포함하는지 알아야 할 때 로드하십시오.

prior_versions_index는 재현성을 위해서만 사용합니다. IDC에서 영구적으로 제거된 시리즈를 포함하며 index와 중복이 없습니다. 이전 IDC 버전에 대한 작업을 재현하는 데만 사용하십시오. 버전 기록 또는 "새로운 기능" 질문에 사용하지 마십시오. 해당 질문은 주요 index 테이블에서 series_init_idc_version / series_revised_idc_version을 사용하며, 이 테이블의 min_idc_version / max_idc_version과 동일하지 않습니다.

테이블 조인

SeriesInstanceUID는 모든 시리즈 수준 특수 테이블(sm_index, sm_instance_index, seg_index, ann_index, ann_group_index, contrast_index, volume_geometry_index, rtstruct_index, ct_index, mr_index, pt_index)에 대한 범용 조인 키입니다. 항상 SeriesInstanceUID로 index에 조인하십시오. 아래 예외는 다른 열 이름을 사용합니다.

조인 열테이블사용 사례
collection_idindex, prior_versions_index, collections_index, clinical_index시리즈를 컬렉션 메타데이터 또는 임상 데이터에 연결
analysis_result_idindex, analysis_results_index시리즈를 분석 결과 메타데이터(주석, 분할)에 연결
source_DOIindex, analysis_results_index출판 DOI로 연결
segmented_SeriesInstanceUIDseg_index → index분할을 해당 소스 이미지 시리즈에 연결(seg_index.segmented_SeriesInstanceUID = index.SeriesInstanceUID)
referenced_SeriesInstanceUIDann_index → index, rtstruct_index → index주석 또는 RTSTRUCT를 해당 소스 이미지 시리즈에 연결

참고: subjects, updated, description이 여러 테이블에 나타나지만 의미가 다릅니다(개수 대 식별자, 다른 업데이트 컨텍스트). prior_versions_index를 index에 SeriesInstanceUID로 조인하면 항상 0행을 반환합니다. 위 경고를 참조하십시오.

자세한 조인 예제, 스키마 검색 패턴, 주요 열 참조 및 DataFrame 액세스는 references/index_tables_guide.md를 참조하십시오.

임상 데이터 액세스

임상(비이미징) 속성 — 병기, 인구통계, 치료 — 는 컬렉션별 테이블에 있습니다. client.fetch_index("clinical_index")는 열을 컬렉션에 매핑하는 사전을 로드합니다. client.get_clinical_table(name)은 하나의 테이블을 DataFrame으로 반환합니다.

검색 워크플로, 코딩된 값 매핑 및 이미징 데이터와 임상 데이터 조인은 references/clinical_data_guide.md를 참조하십시오.

데이터 액세스 옵션

방법인증최적 용도참조
idc-index없음다운로드, pandas 분석, 제한 없는 질의 — 가장 강력한 경로이 문서
IDC MCP 서버없음세션에 이미 있을 때 검색, 코호트 빌드, 메타데이터mcp_guide.md
IDC REST API없음설치 없이 메타데이터, 모든 언어 또는 셸에서 — idc-index가 없을 때 기본값rest_api_guide.md
직접 Parquet(GCS)없음버전 고정 질의 또는 REST 행 제한을 초과하는 결과parquet_access_guide.md
클라우드 스토리지(S3/GCS)없음직접 파일 액세스, 대량 전송, 사용자 정의 파이프라인cloud_storage_guide.md
IDC 프록시를 통한 DICOMweb없음도구 및 PACS 통합; 일일 할당량 있으므로 테스트 및 적당한 사용dicomweb_guide.md
Google Healthcare를 통한 DICOMweb예(GCP)프록시 할당량 없이 프로덕션 볼륨에서 동일한 DICOMweb APIdicomweb_guide.md
SlicerIDCBrowser없음3D Slicer에서 3D 시각화 및 분석https://github.com/ImagingDataCommons/SlicerIDCBrowser
BigQuery예(GCP)전체 DICOM 메타데이터, 비공개 요소, SR 측정 — 최후의 수단bigquery_guide.md

IDC 포털(https://portal.imaging.datacommons.cancer.gov/)은 대화형 전용입니다 — 브라우저 기반 탐색, 수동 코호트 선택 및 다운로드. 위의 모든 옵션과 달리 프로그래밍 방식 인터페이스가 없으므로 사용자가 직접 데이터를 탐색하거나 클릭하도록 안내하십시오. 스크립트나 워크플로의 단계로 절대 사용하지 마십시오.

REST API — 설치 없는 메타데이터 경로

https://api.imaging.datacommons.cancer.gov/v3, 인증 불필요: 검색, 코호트 개수 및 매니페스트, 읽기 전용 SQL, 임상 테이블, 뷰어 URL, 라이선스, 인용. MCP 서버와 동일한 서비스를 일반 HTTP로 제공하므로 구성이 필요하지 않습니다. 이미지 바이트를 전송하지 않습니다. 다운로드, DataFrame 가져오기 또는 10,000행을 초과하는 결과에는 idc-index로 전환하십시오.

B=https://api.imaging.datacommons.cancer.gov/v3
curl -s $B/version   # idc_version, idc_index_data_version, api_version
curl -s $B/stats     # collections, patients, studies, series, instances, size_TB
curl -s "$B/attributes/Modality/values?limit=5"   # 개수가 포함된 실제 필터 값
curl -s $B/sql -H 'content-type: application/json' \
  -d '{"sql":"SELECT collection_id, COUNT(*) n FROM index GROUP BY 1 ORDER BY n DESC LIMIT 3"}'
curl -s $B/cohort/counts -H 'content-type: application/json' \
  -d '{"filter":{"Modality":"CT","collection_id":["tcga_luad"]}}'
curl -s $B/cohort/manifest -H 'content-type: application/json' \
  -d '{"filter":{"collection_id":"nlst","Modality":"CT"}}'

전체 옵션, 필터 구문 및 SQL over HTTP는 rest_api_guide.md를 참조하십시오.

핵심 API 패턴

질의

SQL 질의:

# 모든 컬렉션과 해당 시리즈 수
query = """
SELECT collection_id, COUNT(*) as series_count
FROM index
GROUP BY collection_id
ORDER BY series_count DESC
LIMIT 10
"""
client.sql_query(query)

# 특정 암 유형 필터링 (예: TCGA-LUAD), CT 시리즈만
query = """
SELECT SeriesInstanceUID, StudyInstanceUID, collection_id,
       Modality, SeriesDescription, ImageCount
FROM index
WHERE collection_id = 'tcga_luad' AND Modality = 'CT'
LIMIT 5
"""
df = client.sql_query(query)

속성 값 검색을 위한 빠른 SQL 패턴은 sql_patterns.md를 참조하십시오. 그렇지 않으면 GET /v3/attributes/{name}/values를 통해 REST로 동일한 결과를 얻을 수 있습니다.

팁: SELECT DISTINCT 질의는 idc-index에서는 덜 효율적입니다. 고유 값에는 client.sql_query("SELECT ... WHERE collection_id = '...'")를 사용하거나 REST GET /attributes/{name}/values?collection_id=...를 사용하십시오.

REST를 통한 질의

B=https://api.imaging.datacommons.cancer.gov/v3

# 사용 가능한 모든 속성 나열
curl -s $B/attributes | python -m json.tool

# Modality 속성 값 가져오기 (개수 포함)
curl -s "$B/attributes/Modality/values?limit=10"

# SQL 질의 실행
curl -s $B/sql -H 'content-type: application/json' \
  -d '{"sql":"SELECT collection_id, Modality, COUNT(*) n FROM index WHERE collection_id = \"tcga_luad\" GROUP BY 1,2"}'

다운로드

# 질의에서 UID 목록 가져오기
query = "SELECT SeriesInstanceUID FROM index WHERE collection_id = 'nlst' AND Modality = 'CT' LIMIT 50"
uids_df = client.sql_query(query)
uid_list = uids_df["SeriesInstanceUID"].tolist()

# 이러한 시리즈를 로컬 디렉토리에 다운로드
download_dir = "./nlst_ct_samples"
client.download_from_selection(uid_list, downloadDir=download_dir, dry_run=False)

dry_run=True는 다운로드할 UID, 크기 및 대상 경로를 미리 봅니다. 실제 다운로드에는 dry_run=False로 설정하십시오. 즉시 공간과 시간을 확인하십시오. 필요한 경우, cloud_storage_guide.md에서 설명하는 대로 GCS/S3에서 직접 대량 데이터를 전송하십시오.

사전 정의된 코호트 다운로드: use_cases.md는 배치 다운로드, 파이프라인 통합 및 대규모 데이터 전송을 다룹니다.

시각화

# 시리즈에 대한 IDC 뷰어 URL 생성
viewer_url = client.get_viewer_URL(uid_list)
print("IDC 뷰어 URL:", viewer_url)

라이선스 확인

# 컬렉션에 대한 라이선스 정보
licenses = client.get_collections_license()
licenses[licenses["collection_id"] == "tcga_luad"]

# 특정 시리즈 UID의 라이선스 정보
client.get_series_license(uid_list[0])
# REST를 통해 동일한 작업
curl -s "$B/attributes/license/values?limit=10"
curl -s $B/sql -H 'content-type: application/json' \
  -d '{"sql":"SELECT collection_id, license FROM collections_index"}'

라이선스 값, 혼합 라이선스 코호트 처리 및 상업적 사용에 대한 자세한 내용은 licensing_and_citation.md를 참조하십시오.

인용

# 컬렉션에 대한 인용 정보
citations = client.get_collections_citation()

# 특정 시리즈에 대한 DOI 가져오기
source_doi = client.get_series_source_DOI(uid_list[0])
print(f"Source DOI: {source_doi}")
# REST를 통해 동일한 작업
curl -s $B/sql -H 'content-type: application/json' \
  -d '{"sql":"SELECT collection_id, citation FROM collections_index WHERE collection_id = \"tcga_luad\""}'

인용 형식 및 저자 지침은 licensing_and_citation.md를 참조하십시오.

모범 사례

항상 확인하십시오

  1. IDC 데이터 버전: 오래된 예제는 잘못된 가정을 할 수 있습니다. 신뢰하기 전에 항상 현재 버전을 확인하십시오:
print(f"IDC 버전: {client.get_idc_version()}")           # idc-index 경로
B=https://api.imaging.datacommons.cancer.gov/v3
curl -s $B/version | python -c "import sys,json; print(json.load(sys.stdin)['idc_version'])"  # REST 경로

python scripts/check_version.py는 idc-index 버전도 확인하고 설치(필요한 경우) 및 idc-index / 스킬 업데이트에 대한 지침을 인쇄합니다.

  1. 라이선스 조건: 모든 데이터 사용 전에 라이선스를 확인하고, 특히 상업적 사용의 경우 더욱 그렇습니다. 혼합 라이선스 코호트에 대한 패턴은 licensing_and_citation.md를 참조하십시오.

  2. 사전에 다운로드 크기 및 수를 추정하십시오. 완전한 다운로드를 실행하기 전에 항상 무언가를 실행하십시오:

# 다운로드할 내용 미리 보기
client.download_from_selection(uid_list, downloadDir="./temp", dry_run=True)

작업 흐름

  1. 필요한 ID 확인: SQL로 index 테이블을 질의하여 SeriesInstanceUID 식별
  2. 다운로드 전략 계획: dry_run=True로 미리 보기 수행
  3. 파일 다운로드: 50-100개의 시리즈 배치를 위해 client.download_from_selection() 사용. 더 큰 배치(10000개 이상)에 대한 방법은 use_cases.md의 "대규모 다운로드"를 참조하십시오.
  4. pydicom, SimpleITK 등으로 파일 처리: downloadDir에서 로컬 DICOM 파일을 읽으십시오. use_cases.md에 예제가 있습니다.
  5. 재현성을 위한 참조 또는 인용 보관: get_collections_citation()을 캡처하고 IDC 데이터 버전을 기록하십시오.

오류 방지

  • 큰 다운로드 전에 항상 디스크 공간을 확인하십시오. 예상되는 GCS/S3 바이트는 전체 크기입니다. IDC는 압축되지 않은 변환을 저장하지 않습니다.
  • 다운로드된 UID를 추적하십시오. 후속 질의에서 ID가 아닌 컬렉션으로 이동하지 마십시오.
  • 필요한 경우 인덱스 테이블을 명시적으로 가져오십시오. client.fetch_index("table_name")은 안전하고 멱등적입니다.
  • df.to_csv()는 큰 DataFrame에서 큰 출력을 생성할 수 있습니다. 결과가 많은 경우 집계를 사용하거나 Parquet 파일에 쓰십시오.
  • 파일 경로에 대한 가정을 검증하십시오. 많은 IDC 컬렉션은 S3/GCS에서 사용자 정의 구조를 사용합니다. cloud_storage_guide.md를 참조하십시오.

액세스 경로 선택

  • 일반적인 읽기 전용 메타데이터 질문: 무엇을 설치할지, 무엇을 질의할지 결정하기 전에 check_version.py를 사용하십시오. 먼저 REST를 사용하고, 충분하지 않을 경우에만 idc-index로 전환하십시오.
  • 파일 다운로드, pandas 분석, 파이프라인 통합: 설치 비용을 지불하고 idc-index를 사용하십시오.
  • BigQuery가 필요합니까? 의료 데이터만 BigQuery에 있습니다. 다른 모든 것은 idc-index가 포함합니다.

문제 해결

일반적인 문제

ModuleNotFoundError: No module named 'idc_index'

pip install idc-index
# 또는 스크립트 실행:
python scripts/check_version.py

idc-index를 가져올 때 DuckDB 오류 — 이전 버전을 사용하고 있을 수 있습니다. 업데이트하십시오:

pip install --upgrade idc-index

DuckDB에서 데이터 세트를 찾을 수 없으면 오래된 로컬 인덱스 때문일 수 있습니다. 인덱스 업데이트를 위해 패키지를 업그레이드하십시오.

다운로드 문제: 네트워크 문제, 특히 일부 IDC 데이터가 S3에 있을 때 발생할 수 있습니다. 드문 경우로 Google Cloud와 AWS 모두에 액세스할 수 있습니다(cloud_storage_guide.md 참조).

다운로드 속도가 느립니까? 최신 idc-index는 병렬 다운로드를 사용합니다. 큰 배치(10000개+)는 전용 전송 도구에 대해 cloud_storage_guide.md의 "대규모 다운로드"를 참조하십시오. 액세스 문제가 의심되면 세 가지 저장소(GCS, S3, 팔로알토 S3) 간에 스위치가 자동입니다.

IDC 뷰어 URL이 작동하지 않습니까? URL이 StudyInstanceUID를 포함하는지 확인하십시오. 연구당 하나의 뷰어 URL만 있습니다(시리즈당이 아님). 오래된 UID일 수 있습니다.

더 많은 도움

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

adaptyv

How to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.

aeon

This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.

alphagenome

Look up precomputed AlphaGenome Atlas effects for any GRCh38 single-nucleotide variant (AVI score with Phred and 18 SHAP feature attributions, plus raw and quantile scores for RNA-seq, DNase, ATAC, ChIP-TF, ChIP-histone, CAGE, PRO-cap, splicing, polyadenylation and contact-map tracks), score variants or scan windows on demand with the AlphaGenome model for human and mouse (variant scoring, in silico mutagenesis, REF-versus-ALT track prediction), and build Atlas website deep links. Use when the user mentions AlphaGenome, AlphaGenome Atlas, AVI or AlphaGenome Variant Impact, DeepMind variant effect prediction, or wants to prioritise or mechanistically interpret non-coding, regulatory, splicing, enhancer, promoter, or chromatin-accessibility effects of SNVs from a VCF, credible set, or region. Research use only; not a clinical tool.

analytical-method-validation

Plan, execute, and document validation, verification, and transfer of analytical procedures under the governing framework - ICH Q2(R2) and Q14, USP <1220>/<1225>/<1226>, ICH M10 bioanalytical, CLSI EP, or ISO/IEC 17025. Use for HPLC, LC-MS/MS, GC, CE, ICP-MS, dissolution, qNMR, qPCR, NIR, and ligand binding or cell-based assays whenever the question is whether a procedure is fit for its intended purpose. Triggers include

anndata

Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.

arbor

Autonomously improve a real artifact (code, training recipe, agent harness, data pipeline, prompt) against an objective and an evaluator, using Hypothesis Tree Refinement (HTR) from the Arbor paper. Use this whenever someone wants to iteratively optimize something over many experiments without overfitting — e.g.

arboreto

Infer gene regulatory networks (GRNs) from gene expression data using scalable algorithms (GRNBoost2, GENIE3). Use when analyzing transcriptomics data (bulk RNA-seq, single-cell RNA-seq) to identify transcription factor-target gene relationships and regulatory interactions. Supports distributed computation for large-scale datasets.

astropy

Core Python library for astronomy and astrophysics workflows that need Astropy APIs, including units/quantities, coordinates, FITS I/O, tables, time systems, WCS, and cosmology. Use when implementing or debugging astronomical data analysis code with Astropy.

autoskill

Observe the user

benchling-integration

Benchling Python SDK and REST API integration for registry entities, inventory, ELN entries, workflows, Benchling Apps, and Data Warehouse queries. Use when automating lab data with benchling-sdk or the v2 API.

bgpt-paper-search

Search scientific papers and retrieve structured experimental data extracted from full-text studies via the BGPT MCP server. Returns 25+ fields per paper including methods, results, sample sizes, quality scores, and conclusions. Use for literature reviews, evidence synthesis, and finding experimental details not available in abstracts alone.

bids

>

biopython

Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.

bioservices

Unified Python interface to 40+ bioinformatics services. Use when querying multiple databases (UniProt, KEGG, ChEMBL, Reactome) in a single workflow with consistent API. Best for cross-database analysis, ID mapping across services. For quick single-database lookups use gget; for sequence/file manipulation use biopython.

bulk-rnaseq

End-to-end bulk RNA-seq orchestrator — takes raw FASTQ reads through QC and trimming (FastQC, fastp/Trim Galore), alignment and quantification (STAR, Salmon, featureCounts), assembles a gene-level counts matrix, then hands off to differential expression (pydeseq2), pathway/GSEA enrichment (pathway-enrichment), and publication figures (scientific-visualization). Use whenever the user has bulk RNA-seq reads or quant output and wants a complete, reproducible differential-expression workflow — e.g.

cellxgene-census

Query the CZ CELLxGENE Census programmatically for versioned public single-cell and spatial transcriptomics data. Use when you need population-scale cell metadata, gene expression slices, Census summary counts, source H5AD URIs/downloads, embeddings, spatial Census data, or reference atlas comparisons across organisms, tissues, diseases, assays, and cell types. For analyzing your own local single-cell data use scanpy, anndata, or scvi-tools.

cirq

Google quantum computing framework. Use when targeting Google Quantum AI hardware, designing noise-aware circuits, or running quantum characterization experiments. Best for Google hardware, noise modeling, and low-level circuit design. For IBM hardware use qiskit; for quantum ML with autodiff use pennylane; for physics simulations use qutip.

citation-management

Comprehensive citation management for academic research. Search OpenAlex, PubMed, and Google Scholar for papers, extract accurate metadata, validate citations, and generate properly formatted BibTeX entries. This skill should be used when you need to find papers, verify citation information, convert DOIs to BibTeX, or ensure reference accuracy in scientific writing.

clinical-decision-support

Prepare and validate research-only clinical decision-support evaluation, evidence-profile, cohort, survival, biomarker/model, privacy, and governance artifacts. Use for aggregate or synthetic research documentation and traceability—not patient care or live clinical operation.

clinical-reports

Create safety-bounded draft structures and run local deterministic checks for clinical case, diagnostic, trial, safety, and aggregate research reports. Use only with synthetic, de-identified, or aggregate inputs and verified source-fact manifests; every output requires qualified review.

관련 스킬