294 lines
10 KiB
Markdown
294 lines
10 KiB
Markdown
---
|
|
title: "Cancer Variant Interpretation - Tools Reference"
|
|
task: ""
|
|
lineage_type: import
|
|
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/e2520a96/skills/tooluniverse-cancer-variant-interpretation/TOOLS_REFERENCE.md
|
|
upstream_sha: e2520a96
|
|
imported_at: 2026-06-26
|
|
prompt_class: prompt
|
|
upstream_changes: accepted
|
|
author: upstream
|
|
validated: false
|
|
---
|
|
|
|
# Cancer Variant Interpretation - Tools Reference
|
|
|
|
Verified tool parameters and response structures for all tools used in this skill.
|
|
|
|
## Gene Resolution Tools
|
|
|
|
### MyGene_query_genes
|
|
**Purpose**: Resolve gene symbol to Ensembl, Entrez IDs
|
|
**Parameters**:
|
|
- `query` (string, REQUIRED): Gene symbol, name, or ID (e.g., 'EGFR')
|
|
- `species` (string, default='human'): Species filter
|
|
- `fields` (string): Comma-separated fields to return
|
|
|
|
**Response**: `{took, total, max_score, hits: [{_id, _score, ensembl: {gene}, entrezgene, name, symbol}]}`
|
|
|
|
**Example**:
|
|
```python
|
|
result = tu.tools.MyGene_query_genes(query='EGFR', species='human')
|
|
# hits[0] = {symbol: 'EGFR', ensembl: {gene: 'ENSG00000146648'}, entrezgene: '1956', name: 'epidermal growth factor receptor'}
|
|
```
|
|
|
|
### UniProt_search
|
|
**Purpose**: Find protein accession
|
|
**Parameters**:
|
|
- `query` (string, REQUIRED): e.g., 'gene:EGFR'
|
|
- `organism` (string): e.g., 'human'
|
|
- `limit` (integer)
|
|
|
|
**Response**: `{total_results, returned, results: [{accession, id, protein_name, gene_names, organism, length}]}`
|
|
|
|
### UniProt_get_function_by_accession
|
|
**Purpose**: Get protein function description
|
|
**Parameters**: `accession` (string, REQUIRED): e.g., 'P00533'
|
|
|
|
**Response**: Returns a **list of strings** (NOT a dict). Each string is a function description paragraph.
|
|
```python
|
|
# Example: ['Receptor tyrosine kinase binding ligands of the EGF family...', ...]
|
|
```
|
|
|
|
### UniProt_get_disease_variants_by_accession
|
|
**Purpose**: Get known disease-associated variants
|
|
**Parameters**: `accession` (string, REQUIRED)
|
|
|
|
### OpenTargets_get_target_id_description_by_name
|
|
**Purpose**: Resolve gene name to Ensembl ID in OpenTargets
|
|
**Parameters**: `targetName` (string, REQUIRED)
|
|
|
|
**Response**: `{data: {search: {hits: [{id (ensemblId), name, description}]}}}`
|
|
|
|
### OpenTargets_get_disease_id_description_by_name
|
|
**Purpose**: Resolve disease/cancer type to EFO ID
|
|
**Parameters**: `diseaseName` (string, REQUIRED)
|
|
|
|
**Response**: `{data: {search: {hits: [{id (efoId), name, description}]}}}`
|
|
|
|
### ensembl_lookup_gene
|
|
**Purpose**: Get gene details including version number
|
|
**Parameters**:
|
|
- `gene_id` (string, REQUIRED): Ensembl ID or gene symbol
|
|
- `species` (string, **REQUIRED for Ensembl IDs**): e.g., 'homo_sapiens' -- will error without this!
|
|
|
|
**Response**: `{status: 'success', data: {id, version, display_name, species, biotype, start, end, seq_region_name, strand, canonical_transcript, assembly_name}}`
|
|
|
|
---
|
|
|
|
## CIViC Clinical Evidence Tools
|
|
|
|
### civic_search_genes
|
|
**Purpose**: List genes in CIViC database
|
|
**Parameters**:
|
|
- `query` (string): Filter query (NOTE: does NOT filter in GraphQL, returns all genes alphabetically)
|
|
- `limit` (integer, default=10, max=100): Number to return
|
|
|
|
**Response**: `{data: {genes: {nodes: [{id, name, description, entrezId}]}}}`
|
|
|
|
**LIMITATION**: Returns genes alphabetically, max 100 per call. No server-side filtering. Genes beyond alphabetical position 100 (E-Z) require multiple paginated calls or known CIViC gene IDs.
|
|
|
|
### civic_get_variants_by_gene
|
|
**Purpose**: Get all variants for a gene in CIViC
|
|
**Parameters**:
|
|
- `gene_id` (integer, REQUIRED): CIViC gene ID (NOT Entrez ID)
|
|
- `limit` (integer, default=50): Max variants to return
|
|
|
|
**Response**: `{data: {gene: {variants: {nodes: [{id, name}]}}}}`
|
|
|
|
### civic_get_variant
|
|
**Purpose**: Get variant details
|
|
**Parameters**: `variant_id` (integer, REQUIRED)
|
|
|
|
**Response**: `{data: {variant: {id, name}}}`
|
|
|
|
### civic_get_molecular_profile
|
|
**Purpose**: Get molecular profile details
|
|
**Parameters**: `molecular_profile_id` (integer, REQUIRED)
|
|
|
|
### civic_search_evidence_items
|
|
**Purpose**: List evidence items
|
|
**Parameters**: `limit` (integer, default=20)
|
|
|
|
**Response**: `{data: {evidenceItems: {nodes: [{id, description, evidenceLevel, evidenceType}]}}}`
|
|
|
|
### civic_search_assertions
|
|
**Purpose**: List assertions
|
|
**Parameters**: `limit` (integer, default=20)
|
|
|
|
### civic_search_therapies
|
|
**Purpose**: List therapies
|
|
**Parameters**: `limit` (integer, default=20)
|
|
|
|
---
|
|
|
|
## cBioPortal Mutation Prevalence Tools
|
|
|
|
### cBioPortal_get_mutations
|
|
**Purpose**: Get mutation data for genes in a study
|
|
**Parameters**:
|
|
- `study_id` (string): Cancer study ID (e.g., 'luad_tcga')
|
|
- `gene_list` (string): Comma-separated gene symbols (e.g., 'EGFR,KRAS')
|
|
|
|
**Response**: `{status: 'success', data: [{proteinChange, mutationType, sampleId, entrezGeneId, studyId, mutationStatus, chr, startPosition, endPosition, ...}]}`
|
|
|
|
**IMPORTANT**: Extract mutations via `result.get('data', [])`, NOT treating result as a list directly.
|
|
|
|
### cBioPortal_get_cancer_studies
|
|
**Purpose**: List available cancer studies
|
|
**Parameters**: `limit` (integer, default=20)
|
|
|
|
**Response**: Array of `[{studyId, name, description, cancerTypeId, ...}]`
|
|
|
|
### cBioPortal_get_molecular_profiles
|
|
**Purpose**: Get molecular profiles for a study
|
|
**Parameters**: `study_id` (string, REQUIRED)
|
|
|
|
### cBioPortal_get_gene_info
|
|
**Purpose**: Get gene info by Entrez ID
|
|
**Parameters**: `entrez_gene_id` (integer, REQUIRED)
|
|
|
|
### cBioPortal_get_samples
|
|
**Purpose**: Get samples from a study
|
|
**Parameters**: `study_id` (string, REQUIRED)
|
|
|
|
---
|
|
|
|
## Drug Information Tools
|
|
|
|
### OpenTargets_get_associated_drugs_by_target_ensemblID
|
|
**Purpose**: Get ALL drugs targeting a gene (approved + clinical trials)
|
|
**Parameters**:
|
|
- `ensemblId` (string, REQUIRED): NOTE camelCase
|
|
- `size` (integer): Number of drug entries
|
|
|
|
**Response**: `{data: {target: {id, approvedSymbol, knownDrugs: {count, rows: [{drug: {id, name, tradeNames, maximumClinicalTrialPhase, isApproved, hasBeenWithdrawn}, phase, mechanismOfAction, disease: {id, name}}]}}}}`
|
|
|
|
### OpenTargets_get_drug_chembId_by_generic_name
|
|
**Purpose**: Resolve drug name to ChEMBL ID
|
|
**Parameters**: `drugName` (string, REQUIRED)
|
|
|
|
**Response**: `{data: {search: {hits: [{id (ChEMBL ID), name, description}]}}}`
|
|
|
|
### OpenTargets_get_drug_mechanisms_of_action_by_chemblId
|
|
**Purpose**: Drug mechanism of action
|
|
**Parameters**: `chemblId` (string, REQUIRED)
|
|
|
|
### OpenTargets_get_drug_indications_by_chemblId
|
|
**Purpose**: Drug indications
|
|
**Parameters**: `chemblId` (string, REQUIRED)
|
|
|
|
### OpenTargets_get_drug_adverse_events_by_chemblId
|
|
**Purpose**: Drug adverse events
|
|
**Parameters**: `chemblId` (string, REQUIRED)
|
|
|
|
### OpenTargets_get_associated_drugs_by_disease_efoId
|
|
**Purpose**: Get drugs for a specific disease
|
|
**Parameters**: `efoId` (string, REQUIRED), `size` (integer, REQUIRED)
|
|
|
|
### FDA_get_indications_by_drug_name
|
|
**Purpose**: FDA-approved indications
|
|
**Parameters**: `drug_name` (string), `limit` (integer)
|
|
|
|
**Response**: `{meta: {skip, limit, total}, results: [{openfda.brand_name, openfda.generic_name, indications_and_usage}]}`
|
|
|
|
### FDA_get_mechanism_of_action_by_drug_name
|
|
**Purpose**: FDA mechanism of action
|
|
**Parameters**: `drug_name` (string), `limit` (integer)
|
|
|
|
### FDA_get_boxed_warning_info_by_drug_name
|
|
**Purpose**: FDA black box warnings
|
|
**Parameters**: `drug_name` (string), `limit` (integer)
|
|
|
|
### FDA_get_clinical_studies_info_by_drug_name
|
|
**Purpose**: FDA clinical study data
|
|
**Parameters**: `drug_name` (string), `limit` (integer)
|
|
|
|
### drugbank_get_drug_basic_info_by_drug_name_or_id
|
|
**Purpose**: Drug info from DrugBank
|
|
**Parameters** (ALL REQUIRED):
|
|
- `query` (string): Drug name or DrugBank ID
|
|
- `case_sensitive` (boolean): Use False
|
|
- `exact_match` (boolean): Use False
|
|
- `limit` (integer): e.g., 3
|
|
|
|
**Response**: `{query, total_matches, total_returned_results, results: [{drug_name, drugbank_id, description, ...}]}`
|
|
|
|
### drugbank_get_pharmacology_by_drug_name_or_drugbank_id
|
|
**Purpose**: Pharmacology details
|
|
**Parameters** (ALL REQUIRED): `query`, `case_sensitive`, `exact_match`, `limit`
|
|
|
|
### drugbank_get_targets_by_drug_name_or_drugbank_id
|
|
**Purpose**: Drug targets
|
|
**Parameters** (ALL REQUIRED): `query`, `case_sensitive`, `exact_match`, `limit`
|
|
|
|
### ChEMBL_get_drug_mechanisms
|
|
**Purpose**: Drug mechanisms from ChEMBL
|
|
**Parameters**: `drug_chembl_id__exact` (string, REQUIRED), `limit`, `offset`
|
|
|
|
### ChEMBL_search_drugs
|
|
**Purpose**: Search drugs
|
|
**Parameters**: `pref_name__contains` (string), `max_phase` (integer), `limit`
|
|
|
|
---
|
|
|
|
## Clinical Trial Tools
|
|
|
|
### search_clinical_trials
|
|
**Purpose**: Search ClinicalTrials.gov
|
|
**Parameters**:
|
|
- `query_term` (string, REQUIRED): Search query
|
|
- `condition` (string): Disease/condition
|
|
- `intervention` (string): Drug/intervention
|
|
- `pageSize` (integer): Max results (default 10, max 1000)
|
|
|
|
**Response**: `{studies: [{NCT ID, brief_title, brief_summary, overall_status, condition, phase}], nextPageToken, total_count}`
|
|
|
|
---
|
|
|
|
## Literature & Pathway Tools
|
|
|
|
### PubMed_search_articles
|
|
**Purpose**: Search PubMed literature
|
|
**Parameters**:
|
|
- `query` (string, REQUIRED): PubMed search query
|
|
- `limit` (integer, default=10, max 200)
|
|
- `include_abstract` (boolean, default=False)
|
|
|
|
**Response**: Returns a **plain list** of article dicts (NOT wrapped in `{articles: [...]}`):
|
|
```python
|
|
# [{pmid, title, authors, journal, pub_date, pub_year, doi, pmcid, article_type, url, abstract, ...}]
|
|
```
|
|
|
|
### Reactome_map_uniprot_to_pathways
|
|
**Purpose**: Map protein to biological pathways
|
|
**Parameters**: `id` (string, REQUIRED): UniProt accession (e.g., 'P00533')
|
|
|
|
### GTEx_get_median_gene_expression
|
|
**Purpose**: Tissue expression data
|
|
**Parameters**:
|
|
- `gencode_id` (string, REQUIRED): Versioned Ensembl ID (e.g., 'ENSG00000146648.12')
|
|
- `operation` (string): Use 'median'
|
|
|
|
### OpenTargets_target_disease_evidence
|
|
**Purpose**: Evidence for target-disease association
|
|
**Parameters**: `efoId` (string, REQUIRED), `ensemblId` (string, REQUIRED)
|
|
|
|
### OpenTargets_get_publications_by_target_ensemblID
|
|
**Purpose**: Publications about target
|
|
**Parameters**: `ensemblId` (string, REQUIRED)
|
|
|
|
---
|
|
|
|
## Known CIViC Gene IDs (Common Cancer Genes)
|
|
|
|
These are pre-verified CIViC gene IDs to bypass the search limitation:
|
|
|
|
| Gene | CIViC Gene ID | Entrez ID |
|
|
|------|--------------|-----------|
|
|
| ABL1 | 4 | 25 |
|
|
| ALK | 1 | 238 |
|
|
| BRAF | 5 | 673 |
|
|
|
|
Note: For genes not in this table, use `civic_search_genes(limit=100)` and search results client-side. If gene starts with a letter beyond 'C', it may not be in the first 100 results.
|