Communitygithub.com

Imaging Data Commons

Öffentliche Krebsbildgebungsdaten des NCI Imaging Data Commons abfragen und herunterladen. Für Fragen zu IDC-Kollektionen, Krebs-Bildgebungsdatensätzen, DICOM-Datenzugriff, KI-Trainingsdatensätzen aus Radiologie (CT, MR, PET) oder Pathologie, Metadatenabfragen, Visualisierung oder Lizenzprüfungen – auch wenn der Benutzer keine spezifischen Details nennt.

Was ist Imaging Data Commons?

Diese Skill ermöglicht den Zugriff auf die öffentlichen Krebsbildgebungsdaten des National Cancer Institute Imaging Data Commons (IDC). Sie unterstützt mehrere Zugriffspfade: ein lokales DuckDB-Index-Paket (`idc-index`), einen gehosteten MCP-Server, eine REST-API sowie direkten Cloud-Speicherzugriff (GCS/S3). Die Skill priorisiert den günstigsten Pfad basierend auf der Aufgabe: Für reine Metadatenabfragen wird die REST-API empfohlen, um die Installation des `idc-index`-Pakets zu vermeiden, das für Downloads und umfangreichere Analysen benötigt wird. Der Kernworkflow umfasst das Abfragen von Metadaten über SQL, das Herunterladen von Dateien und das Visualisieren von Bildern im Browser. Zusätzlich werden detaillierte Referenzleitfäden für spezifische Anwendungsfälle wie DICOMweb, klinische Daten, digitale Pathologie und BigQuery bereitgestellt. Die Skill ist für alle Plattformen geeignet, die Python, die Kommandozeile oder MCP-fähige Clients unterstützen, und erfordert keine Authentifizierung für die grundlegende Datennutzung.

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

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht Imaging Data Commons?

Übersicht

Öffentliche Krebsbildgebungsdaten des National Cancer Institute Imaging Data Commons (IDC) abfragen und herunterladen. Für den Datenzugriff ist keine Authentifizierung erforderlich.

Erwarteter Netzwerkzugriff: IDC-Metadaten sind auf drei Wegen erreichbar – ein lokaler DuckDB-Index, der mit dem Python-Paket idc-index ausgeliefert wird (kein Netzwerk), oder der gehostete IDC-Dienst über MCP oder REST (api.imaging.datacommons.cancer.gov, keine Authentifizierung). Dateidownloads verwenden öffentliche GCS (storage.googleapis.com) und AWS S3 (s3.amazonaws.com) – keine Authentifizierung erforderlich. DICOMweb-Zugriff erfolgt entweder über den öffentlichen IDC-Proxy (proxy.imaging.datacommons.cancer.gov, keine Authentifizierung) oder die Google Cloud Healthcare API (healthcare.googleapis.com, erfordert GCP-Authentifizierung). Optionale BigQuery-Abfragen (bigquery.googleapis.com) erfordern ebenfalls GCP-Authentifizierung. Von dieser Skill werden keine Anmeldeinformationen oder Umgebungsvariablen verwendet.

Aktuelle IDC-Datenversion: v24 (immer überprüfen – siehe Bewährte Methoden)

Wählen Sie zuerst den Zugriffspfad. Es gibt keinen einzelnen Standardpfad: Der günstigste korrekte Pfad hängt von der Sitzung und der Aufgabe ab.

  1. Die Sitzung hat bereits den IDC-MCP-Server? Leiten Sie Erkundung und Metadaten dorthin – siehe IDC-MCP-Server.
  2. Andernfalls, ist idc-index installiert? Führen Sie python scripts/check_version.py aus. Wenn es erfolgreich ist, verwenden Sie idc-index für alles.
  3. Nicht installiert und die Aufgabe ist reine Metadaten-Leseabfrage – Zählungen, Attributwerte, Sammlungsabfragen, SQL unter 10.000 Zeilen, Lizenzen, Zitate, Viewer-URLs? Verwenden Sie die REST-API über curl; installieren Sie nichts. Die Installation kostet etwa 77 MB an gepackten Indexdaten plus pandas, pyarrow und duckdb, die eine Metadatenfrage nicht benötigt. Siehe Datenzugriffsoptionen.
  4. Nicht installiert und die Aufgabe benötigt mehr als Metadaten – Herunterladen von Dateien, pandas oder Plotting, pydicom/SimpleITK, Pathologie-Tiling, Ergebnisse über 10.000 Zeilen oder ein versionsgebundenes Skript, das der Benutzer erneut ausführt? Installieren Sie idc-index: check_version.py beendet sich mit Fehlercode und gibt den genauen Installationsbefehl für den aktuellen Interpreter aus. Bevorzugen Sie eine virtuelle Umgebung und starten Sie dann Python neu.

idc-index (GitHub) bleibt der leistungsfähigste Pfad und der einzige, der Bildbytes überträgt; die Regel ist nur, nicht dafür zu bezahlen, bevor die Aufgabe es erfordert. check_version.py installiert selbst nichts – es weist auch auf eine neuere idc-index- oder Skill-Version hin, wenn eine vorhanden ist.

Einrichtung für den idc-index-Pfad:

from idc_index import IDCClient
client = IDCClient()

# IDC-Datenversion überprüfen (sollte "v24" sein)
print(f"IDC-Datenversion: {client.get_idc_version()}")

Kernworkflow: Metadaten mit client.sql_query() abfragen → mit client.download_from_selection() herunterladen → mit client.get_viewer_URL() visualisieren. Python-Beispiele unten gehen von diesem client aus; Datenzugriffsoptionen enthält die REST-Entsprechungen. Für den aktuellen Datenumfang führen Sie die Zusammenfassungsabfrage in references/sql_patterns.md oder GET /v3/stats aus.

IDC-MCP-Server

IDC betreibt einen gehosteten MCP-Server unter https://api.imaging.datacommons.cancer.gov/mcp (streamable HTTP, keine Authentifizierung). Wo er verfügbar ist, ergänzt er – nicht ersetzt – den idc-index-Workflow unten.

Identifizieren Sie ihn an der MCP-Ressource idc://guide oder an drei oder mehr der Toolnamen build_cohort, get_cohort_urls, list_analysis_results und get_idc_version. Generische Namen wie run_sql sind kein alleiniger Nachweis. Bei mehrdeutiger Identifizierung verwenden Sie idc-index.

Wenn diese Sitzung den Server hat, behandeln Sie ihn als autoritativ für Erkundung und Metadaten – IDC-Version, Zählungen, Attributwerte, Kohortenaufbau, Metadaten-SQL – und folgen Sie den eigenen Anweisungen des Servers, anstatt sie aus dieser Datei abzuleiten. Seine Datenversion ist die, die der Server meldet: Rufen Sie get_idc_version auf, anstatt sich auf die in dieser Datei festgelegte Version zu verlassen.

Kehren Sie hierher zurück für das, was der Server nicht kann: Herunterladen von Dateien, lokale pandas/Notebook-Analyse, DICOMweb, BigQuery, digitale Pathologie-Tiling und reproduzierbare Skripte. Übergeben Sie, indem Sie SeriesInstanceUIDs vom Server an client.download_from_selection(...) weiterleiten, und führen Sie an diesem Punkt scripts/check_version.py aus.

Wenn er nicht verfügbar ist, ist der identische Dienst ohne Konfiguration als REST-API unter https://api.imaging.datacommons.cancer.gov/v3 erreichbar – verwenden Sie ihn für schreibgeschützte Metadaten anstelle der Installation von idc-index, gemäß der Routing-Regel in Übersicht. Schlagen Sie vor, den MCP-Server höchstens einmal zu verbinden, nur für wiederholte interaktive Erkundung, und ändern Sie niemals selbst die Konfiguration des Benutzers.

Siehe references/mcp_guide.md für das Tool-Inventar, Übergabemuster und Hinweise pro Host.

Wann Diese Skill Verwenden

  • Suchen nach öffentlich verfügbaren Radiologiebildern (CT, MR, PET) oder Pathologiebildern (Objektträger-Mikroskopie)
  • Auswählen von Bilduntergruppen nach Krebsart, Modalität, anatomischer Region oder anderen Metadaten
  • Herunterladen von DICOM-Daten aus IDC
  • Überprüfen von Datenlizenzen vor der Verwendung in Forschung oder kommerziellen Anwendungen
  • Visualisieren von medizinischen Bildern im Browser ohne lokale DICOM-Viewer-Software

Schnellnavigation

Inline unten: die MCP/REST-Routingregeln, das IDC-Datenmodell, die Indextabellen und wie sie verknüpft werden, die Kern-API-Muster (Abfragen, Herunterladen, Visualisieren, Lizenzieren, Zitieren), bewährte Methoden und Fehlerbehebung.

Referenzleitfäden (bei Bedarf laden):

LeitfadenWann Laden
index_tables_guide.mdKomplexe JOINs, Schemaerkennung, DataFrame-Zugriff
use_cases.mdDurchgängige Workflows: Trainingsdatensätze, Batch-Downloads, DICOM-Lesen mit pydicom/SimpleITK, Pipeline-Integration
sql_patterns.mdSchnelle SQL-Muster für Filtererkennung, Annotationen, Größenabschätzung
clinical_data_guide.mdKlinische/tabellarische Daten, Bildgebung+Klinik-Verknüpfungen, Wertzuordnung
licensing_and_citation.mdFragen zur kommerziellen Nutzung, Kohorten mit gemischten Lizenzen, Zitierformate
cloud_storage_guide.mdDirekter S3/GCS-Zugriff, Versionierung, UUID-Zuordnung
dicomweb_guide.mdDICOMweb-Endpunkte, PACS-Integration
digital_pathology_guide.mdObjektträger-Mikroskopie (SM), Annotationen (ANN), Pathologie-Workflows
bigquery_guide.mdVollständige DICOM-Metadaten, private Elemente (erfordert GCP)
cli_guide.mdBefehlszeilenwerkzeuge (idc download, Manifestdateien)
parquet_access_guide.mdDirekte Parquet-Abfragen über GCS (keine Installation von idc-index erforderlich)
mcp_guide.mdGehosteter IDC-MCP-Server: Tool-Inventar, Identifizierung, Übergabe an idc-index
rest_api_guide.mdGehostete IDC-REST-API: Endpunkte, Filtersyntax, SQL über HTTP, Manifeste

IDC-Datenmodell

IDC fügt zwei Gruppierungsebenen oberhalb der standardmäßigen DICOM-Hierarchie (Patient → Study → Series → Instance) hinzu:

  • collection_id: Gruppiert Patienten nach Erkrankung, Modalität oder Forschungsschwerpunkt (z. B. tcga_luad, nlst). Ein Patient gehört zu genau einer Sammlung.
  • analysis_result_id: Identifiziert abgeleitete Objekte (Segmentierungen, Annotationen, Radiomics-Merkmale) aus einer oder mehreren ursprünglichen Sammlungen. Verwenden Sie es, um KI-generierte oder Expertenannotationen zu finden, während collection_id ursprüngliche Bildgebungsdaten findet (die selbst hinterlegte Annotationen enthalten können).

Wichtige Identifikatoren für Abfragen:

IdentifikatorGeltungsbereichVerwendung für
collection_idDatensatzgruppierungFiltern nach Projekt/Studie
PatientIDPatientGruppieren von Bildern nach Patient
StudyInstanceUIDDICOM-StudieGruppierung verwandter Serien, Visualisierung
SeriesInstanceUIDDICOM-SerieGruppierung verwandter Serien, Visualisierung

Indextabellen

Das idc-index-Paket bietet mehrere Metadaten-Indextabellen, die über SQL oder als pandas DataFrames zugänglich sind. Die REST-API stellt dieselben Tabellen über GET /tables und POST /sql bereit.

Wichtig: client.indices_overview ist die autoritative Quelle für aktuelle Tabellenbeschreibungen, verfügbare Spalten und deren Typen – fragen Sie es ab, wenn Sie SQL schreiben oder die Datenstruktur erkunden. Es beantwortet auch „Welche Tabelle enthält Spalte X“; siehe references/index_tables_guide.md für dieses Suchmuster und die vollständige Schemaerkennung.

Verfügbare Tabellen

Rufen Sie immer client.fetch_index("table_name") auf, bevor Sie eine Indextabelle abfragen – es ist sicher und idempotent für alle Tabellen, einschließlich derer, die beim Start automatisch geladen werden.

FamilieTabellenGranularität
Kernindex (primäre Metadaten für alle aktuellen Daten), collections_index, analysis_results_indexSerie / Sammlung / Analyseergebnis
Modalitäts-Akquisitionsparameterct_index, mr_index, pt_index, contrast_index1 Zeile = 1 Serie dieser Modalität
Abgeleitete Objekteseg_index, rtstruct_index, ann_index, ann_group_index1 Zeile = 1 Serie (oder Annotationsgruppe)
Mikroskopiesm_index, sm_instance_index1 Zeile = 1 SM-Serie / Instanz
Geometrie, Klinik, Verlaufvolume_geometry_index, clinical_index, version_metadata_index, prior_versions_indexsiehe Leitfaden

references/index_tables_guide.md enthält das vollständige Inventar mit den Spalten und Inhalten jeder Tabelle – laden Sie es, wenn Sie wissen müssen, was eine spezialisierte Tabelle tatsächlich enthält.

prior_versions_index ist nur für die Reproduzierbarkeit. Es enthält Serien, die dauerhaft aus IDC entfernt wurden, ohne Überschneidung mit index. Verwenden Sie es nur, um Arbeiten gegen eine frühere IDC-Version zu reproduzieren. Verwenden Sie es NICHT für die Versionsgeschichte oder „Was ist neu“-Fragen – dafür verwenden Sie series_init_idc_version / series_revised_idc_version in der Haupttabelle index, die nicht äquivalent zu den min_idc_version / max_idc_version dieser Tabelle sind.

Tabellen verknüpfen

SeriesInstanceUID ist der universelle Join-Schlüssel für alle serienspezifischen Tabellen: 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. Verknüpfen Sie diese immer mit index über SeriesInstanceUID. Die Ausnahmen unten verwenden unterschiedliche Spaltennamen.

Join-SpalteTabellenAnwendungsfall
collection_idindex, prior_versions_index, collections_index, clinical_indexSerie mit Sammlungsmetadaten oder klinischen Daten verknüpfen
analysis_result_idindex, analysis_results_indexSerie mit Analyseergebnismetadaten (Annotationen, Segmentierungen) verknüpfen
source_DOIindex, analysis_results_indexNach Veröffentlichungs-DOI verknüpfen
segmented_SeriesInstanceUIDseg_index → indexSegmentierung mit ihrer Quellbildserie verknüpfen (seg_index.segmented_SeriesInstanceUID = index.SeriesInstanceUID)
referenced_SeriesInstanceUIDann_index → index, rtstruct_index → indexAnnotation oder RTSTRUCT mit ihrer Quellbildserie verknüpfen

Hinweis: subjects, updated und description erscheinen in mehreren Tabellen, haben aber unterschiedliche Bedeutungen (Zählungen vs. Identifikatoren, unterschiedliche Aktualisierungskontexte). Das Verknüpfen von prior_versions_index mit index über SeriesInstanceUID gibt immer null Zeilen zurück – siehe die Warnung oben.

Für detaillierte Join-Beispiele, Schemaerkennungsmuster, Referenz zu Schlüsselspalten und DataFrame-Zugriff siehe references/index_tables_guide.md.

Zugriff auf klinische Daten

Klinische (nicht bildgebende) Attribute – Stadieneinteilung, Demografie, Therapie – leben in tabellen pro Sammlung. client.fetch_index("clinical_index") lädt das Wörterbuch, das Spalten Sammlungen zuordnet; client.get_clinical_table(name) gibt eine Tabelle als DataFrame zurück.

Siehe references/clinical_data_guide.md für den Erkennungsworkflow, die Zuordnung codierter Werte und die Verknüpfung klinischer Daten mit Bildgebung.

Datenzugriffsoptionen

MethodeAuthentifizierungAm besten geeignet fürReferenz
idc-indexNeinDownloads, pandas-Analyse, unbegrenzte Abfragen – der leistungsfähigste PfadDieses Dokument
IDC-MCP-ServerNeinErkundung, Kohortenaufbau, Metadaten, wenn die Sitzung ihn bereits hatmcp_guide.md
IDC-REST-APINeinMetadaten ohne Installation, aus jeder Sprache oder Shell – der Standard, wenn idc-index fehltrest_api_guide.md
Direkter Parquet (GCS)NeinVersionsgebundene Abfragen oder Ergebnisse über das REST-Zeilenlimit hinausparquet_access_guide.md
Cloud-Speicher (S3/GCS)NeinDirekter Dateizugriff, Bulk-Transfer, benutzerdefinierte Pipelinescloud_storage_guide.md
DICOMweb über IDC-ProxyNeinTool- und PACS-Integration; tägliches Kontingent, daher Tests und moderate Nutzungdicomweb_guide.md
DICOMweb über Google HealthcareJa (GCP)Dieselbe DICOMweb-API in Produktionsvolumen, ohne Proxy-Kontingentdicomweb_guide.md
SlicerIDCBrowserNein3D-Visualisierung und -Analyse in 3D Slicerhttps://github.com/ImagingDataCommons/SlicerIDCBrowser
BigQueryJa (GCP)Vollständige DICOM-Metadaten, private Elemente, SR-Messungen – letzter Auswegbigquery_guide.md

Das IDC-Portal (https://portal.imaging.datacommons.cancer.gov/) ist nur interaktiv – browserbasierte Erkundung, manuelle Kohortenauswahl und Download. Im Gegensatz zu allen Optionen oben hat es keine programmatische Schnittstelle. Verweisen Sie einen Benutzer dorthin, um selbst zu browsen oder Daten durchzuklicken; verwenden Sie es niemals als Schritt in einem Skript oder Workflow.

REST-API – der installationsfreie Metadatenpfad

https://api.imaging.datacommons.cancer.gov/v3, keine Authentifizierung: Erkundung, Kohortenzählungen und -manifeste, schreibgeschütztes SQL, klinische Tabellen, Viewer-URLs, Lizenzen, Zitate. Es ist derselbe Dienst wie der MCP-Server über einfaches HTTP, benötigt daher keine Konfiguration. Es überträgt niemals Bildbytes – wechseln Sie zu idc-index zum Herunterladen, um einen DataFrame zu erhalten oder für Ergebnisse über 10.000 Zeilen.

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"   # reale Filterwerte mit Zählungen
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 '{"filters":[{"attribute":"Modality","values":["CT"]}]}'
curl -s $B/cohort/manifest -H 'content-type: application/json' \
  -d '{"filters":[{"attribute":"collection_id","values":["nlst"]}]}'
curl -s $B/collections
curl -s $B/collections/nlst/viewer_url
curl -s $B/collections/nlst/doi
curl -s $B/licenses
curl -s $B/citations

Siehe references/rest_api_guide.md für Filter, Paginierung, Attributwerte-Erkennung und die vollständige Endpunktliste.

Kern-API-Muster

Die Beispiele unten gehen von client = IDCClient() aus. Entsprechende REST-Aufrufe finden Sie in Datenzugriffsoptionen.

1. Datenbestand erkunden

Zusammenfassungsstatistiken (client aus idc-index):

client.get_idc_version()            # z. B. "v24"
client.get_totals()                 # Patienten, Studien, Serien, Instanzen, Größe_in_TB
client.get_collections()            # Liste der Sammlungen mit Metadaten

REST (keine Installation):

curl -s https://api.imaging.datacommons.cancer.gov/v3/stats
curl -s https://api.imaging.datacommons.cancer.gov/v3/collections

2. SQL-Abfragen

# Suche nach CT-Serien mit Schichtdicke ≤ 1 mm
results = client.sql_query("""
  SELECT SeriesInstanceUID, collection_id, Modality, SliceThickness
  FROM index
  WHERE Modality = 'CT'
    AND SliceThickness <= 1
    AND collection_id = 'nlst'
  LIMIT 100
""")
# results ist ein pandas DataFrame

REST-Äquivalent:

curl -s https://api.imaging.datacommons.cancer.gov/v3/sql \
  -H 'content-type: application/json' \
  -d '{"sql":"SELECT SeriesInstanceUID, collection_id, Modality, SliceThickness FROM index WHERE Modality = '\''CT'\'' AND SliceThickness <= 1 AND collection_id = '\''nlst'\'' LIMIT 100"}'

3. Viewer-URLs

viewer_url = client.get_viewer_URL(seriesInstanceUID="1.2.840.113654.2.55.186474971242703629926323370046449934517")
print(f"Im Browser öffnen: {viewer_url}")

4. Cohorts (REST-only)

Cohorts sind ein REST-Feature; es gibt kein idc-index-Äquivalent.

curl -s https://api.imaging.datacommons.cancer.gov/v3/cohort/counts \
  -H 'Content-Type: application/json' \
  -d '{"filters":[{"attribute":"collection_id","values":["nlst"]},{"attribute":"Modality","values":["CT"]}]}'

curl -s https://api.imaging.datacommons.cancer.gov/v3/cohort/manifest \
  -H 'Content-Type: application/json' \
  -d '{"filters":[{"attribute":"collection_id","values":["nlst"]},{"attribute":"Modality","values":["CT"]}]}'

Siehe references/rest_api_guide.md.

5. Dateien herunterladen

# Auswahl von SQL-Ergebnissen: Ein dict mit SeriesInstanceUID als Schlüsseln
selection = {
    series_uid: download_info
    for series_uid, download_info in results.set_index('SeriesInstanceUID').to_dict('index').items()
}

client.download_from_selection(
    selection,
    downloadDir="/pfad/zum/download",
    dry_run=False  # Auf True setzen, um zu prüfen, was heruntergeladen würde
)

Wichtig: download_from_selection erwartet ein Dict von SeriesInstanceUID → Download-Info. Das Umwandeln eines DataFrames mit set_index('SeriesInstanceUID').to_dict('index') erstellt das korrekte Format.

6. Lizenz und Zitat abrufen

# Für Sammlungen
license_info = client.get_collection_license("tcga_luad")
citation_info = client.get_collection_citation("tcga_luad")

# Ein allgemeines Zitat, das mehrere Sammlungen abdeckt
# Siehe references/licensing_and_citation.md für die Verarbeitung gemischter Lizenzen

REST-Äquivalent:

curl -s https://api.imaging.datacommons.cancer.gov/v3/collections/tcga_luad/licenses
curl -s https://api.imaging.datacommons.cancer.gov/v3/collections/tcga_luad/citations

Siehe references/licensing_and_citation.md für die vollständige Referenz.

Abfragemuster

references/sql_patterns.md enthält gebrauchsfertige SQL-Abfragen für:

  • Werte suchen: „Welche Werte hat Spalte X in Sammlung Y?“
  • Kohortengröße schätzen: Patienten- und Serienanzahl für Filterbedingungen
  • Annotationsabfragen: Annotationen nach Modalität, Körperregion oder Sammlung
  • Größenabschätzung: Speicherplatz, der für eine bestimmte Serienauswahl benötigt wird
  • Zufallsstichprobe: Gleichmäßig über Sammlungen verteilte Serienstichproben
  • Datensatzvergleich: Kreuztabelle (Krebsart × Modalität) für eine Sammlung
  • Aktualitätsprüfung: Neue Serien seit einer bestimmten IDC-Version

Anstatt das Rad neu zu erfinden, laden Sie den Leitfaden und passen Sie die Abfragen an Ihre Parameter an.

Bewährte Methoden

  1. Immer die IDC-Datenversion überprüfen – siehe die Zusammenfassungsabfrage in references/sql_patterns.md oder GET /v3/stats. IDC veröffentlicht etwa vierteljährlich Updates, und die hier festgelegte Version kann veraltet sein.
  2. Filtern, BEVOR Sie SQL ausführen: Verwenden Sie WHERE-Klauseln (oder den REST-Filter-Endpunkt), um die Ergebnismenge vor dem Abrufen einzuschränken. Viele Tabellen haben Millionen von Zeilen.
  3. Lizenzprüfung vor der Verwendung: Überprüfen Sie immer die Lizenzbedingungen mit client.get_collection_license() oder dem REST-Äquivalent – besonders für kommerzielle oder KI-Trainings-Workflows.
  4. Datenversionen für die Reproduzierbarkeit angeben: Heften Sie idc-index an eine bestimmte Version, wenn Sie Workflows ausführen, die reproduzierbar sein müssen.
  5. Verwenden Sie virtuelle Umgebungen: Installieren Sie idc-index in einer dedizierten virtuellen Umgebung (venv oder conda), um Konflikte mit anderen Paketen zu vermeiden.
  6. Starten Sie die Python-Laufzeitumgebung nach der Installation neu: idc-index muss nach der Installation neu geladen werden.
  7. Verwenden Sie Batch-Verarbeitung für große Downloads: download_from_selection ist serialisiert; für Batch-Downloads mehrerer Serien erwägen Sie die Parallelisierung mit Python-Multiprocessing- oder Thread-Pools.
  8. Führen Sie scripts/check_version.py vor neuen Workflows aus: Es überprüft die idc-index-Version und die IDC-Datenversion auf einmal und ist die empfohlene Methode, um sicherzustellen, dass Ihre Umgebung aktuell ist.

Fehlerbehebung

  • „Table does not exist“-Fehler: Rufen Sie client.fetch_index("table_name") auf, um die Tabelle vor der Abfrage zu laden.
  • ImportError: idc-index ist möglicherweise nicht installiert. Führen Sie pip install idc-index aus.
  • „Connection refused“: Die IDC-API ist möglicherweise vorübergehend nicht erreichbar. Versuchen Sie es später erneut oder prüfen Sie den Status auf https://portal.imaging.datacommons.cancer.gov/.
  • Download schlägt fehl: Stellen Sie sicher, dass der Ausgabepfad existiert und beschreibbar ist. Verwenden Sie dry_run=True, um vor dem eigentlichen Download den erwarteten Umfang zu validieren.
  • Langsame Abfragen: Fügen Sie LIMIT-Klauseln hinzu oder verwenden Sie REST für kleinere Metadatenabfragen, um die Installation von idc-index zu vermeiden.
  • „Out of memory“ beim Arbeiten mit großen DataFrames: Erwägen Sie die Verwendung von REST-Paginierung (limit/offset-Parameter) oder arbeiten Sie streaming mit client.sql_query_cursor().
  • Unterschiedliche Ergebnisse zwischen Methoden: Metadaten-Antworten sollten für denselben Filter identisch sein. Wenn sie unterschiedlich sind, prüfen Sie, ob Sie wirklich dieselbe IDC-Datenversion abfragen. GET /version und client.get_idc_version() geben die von jedem Endpunkt verwendete Version zurück.

Beitragen und Feedback

Siehe IDC-Community-Seite.

Zusätzliche Ressourcen

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.

Verwandte Skills