Logo
?
  • Documentations
  • API Keys
    • Credits

    • QuickStart
    • Changelog

    • Metadata Harmonization

    • API Keys
    • Rate Limit
    • Consumptions

Metadata Harmonization API

Overview

This API allows users to upload metadata in JSON format and receive mapped standardized clinical variables and values for a target data model, such as GDC_1, GDC_2.

  1. Input (GSM Metadata in JSON Format): Users provide metadata in a JSON file, like GEO sample (GSM), containing clinical details such as disease type, stage, tissue type, and sample processing methods.
  2. Mapping to GDC Standardized Variables: The API processes this metadata and maps it to corresponding variables and values from the target model.here
  3. Output:The API returns a JSON object with:
    • Mapped GDC Standardized Clinical Variables and Values: Primary_diagnosis, cancer_stage, age_at_diagnosis, tissue_type, etc., derived from input metadata.
    • Source Content: The original input metadata for reference.
  4. Batch Processing: Support for multiple samples, returning structured results for each one.

API Details

Endpoint: https://service.insilicom.com/open_api/harmonization/v3/metadata_normalization

The API accepts parameters:

  • meta_data: String
  • llm_model: GPT or Claude
  • data_model: GDC_1 or GDC_2

Use Case

The following is an example of how to use the API:

import json, requests, os
api_key = os.getenv('Insilicom_API_KEY')
meta_data = {
    "title": ["lung, nontumor adjacent_18011"],
    "status": ["Public on Apr 30 2015"],
    "type": ["genomic"],
    "channel_count": ["1"],
    "source_name_ch1": ["lung, nontumor adjacent"],
    "organism_ch1": ["Homo sapiens"],
    "tissue": " lung",
    "analysis batch": " 1",
    "Sex": " Female",
    "race": " European American",
    "age": " 83",
    "disease state": " non-small cell lung cancer (NSCLC)",
    "histology": " normal",
    "smoking status": " ever",
    "smoking packyears": " unknown",
    "death due to cancer": " no",
    "survival after surgery (days)": " 2012",
    "molecule_ch1": ["genomic DNA"]
}
url = "https://service.insilicom.com/open_api/harmonization/v3/metadata_normalization"
headers = {
    'Content-Type': 'application/json',
    'X-API-KEY': api_key
}
body = {
        'meta_data': json.dumps(meta_data),
        'llm_model': 'gpt-4o',
        'data_model':'GDC_1'
    }
response = requests.request("POST", url, json=body, headers=headers)
print(response.json())

Questions

Please contact us at contact@insilicom.com