Files
claude-scientific-skills/scientific-skills/gtex-database/references/api_reference.md
huangkuanlin 7f94783fab Add scVelo RNA velocity analysis workflow and IQ-TREE reference documentation
- Introduced a comprehensive RNA velocity analysis pipeline using scVelo, including data loading, preprocessing, velocity estimation, and visualization.
- Added a script for running RNA velocity analysis with customizable parameters and output options.
- Created detailed documentation for IQ-TREE 2 phylogenetic inference, covering command syntax, model selection, bootstrapping methods, and output interpretation.
- Included references for velocity models and their mathematical framework, along with a comparison of different models.
- Enhanced the scVelo skill documentation with installation instructions, use cases, and best practices for RNA velocity analysis.
2026-03-03 07:15:36 -05:00

192 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# GTEx API v2 Reference
## Base URL
```
https://gtexportal.org/api/v2/
```
All endpoints accept GET requests. Responses are JSON. No authentication required.
## Common Query Parameters
| Parameter | Description | Example |
|-----------|-------------|---------|
| `gencodeId` | GENCODE gene ID with version | `ENSG00000130203.10` |
| `geneSymbol` | Gene symbol | `APOE` |
| `variantId` | GTEx variant ID | `chr17_45413693_C_T_b38` |
| `tissueSiteDetailId` | Tissue identifier | `Whole_Blood` |
| `datasetId` | Dataset version | `gtex_v10` |
| `itemsPerPage` | Results per page | `250` |
| `page` | Page number (0-indexed) | `0` |
## Endpoint Reference
### Expression Endpoints
#### `GET /expression/medianGeneExpression`
Median TPM expression for a gene across tissues.
**Parameters:** `gencodeId`, `datasetId`, `itemsPerPage`
**Response fields:**
```json
{
"data": [
{
"gencodeId": "ENSG00000130203.10",
"geneSymbol": "APOE",
"tissueSiteDetailId": "Liver",
"tissueSiteDetail": "Liver",
"median": 2847.9,
"unit": "TPM",
"datasetId": "gtex_v10"
}
]
}
```
#### `GET /expression/geneExpression`
Full expression distribution (box plot data) per tissue.
**Parameters:** `gencodeId`, `tissueSiteDetailId`, `datasetId`
**Response fields:**
- `data[].tissueExpressionData.data`: array of TPM values per sample
### Association (QTL) Endpoints
#### `GET /association/singleTissueEqtl`
Significant single-tissue cis-eQTLs.
**Parameters:** `gencodeId` OR `variantId`, `tissueSiteDetailId` (optional), `datasetId`
**Response fields:**
```json
{
"data": [
{
"gencodeId": "ENSG00000169174.14",
"geneSymbol": "PCSK9",
"variantId": "chr1_55516888_G_GA_b38",
"snpId": "rs72646508",
"tissueSiteDetailId": "Liver",
"slope": -0.342,
"slopeStandardError": 0.051,
"pval": 3.2e-11,
"qval": 2.1e-8,
"maf": 0.089,
"datasetId": "gtex_v10"
}
]
}
```
**Key fields:**
- `slope`: effect of alt allele on expression (log2 scale after rank normalization)
- `pval`: nominal p-value
- `qval`: FDR-adjusted q-value
- `maf`: minor allele frequency in the GTEx cohort
#### `GET /association/singleTissueSqtl`
Significant single-tissue sQTLs (splicing).
**Parameters:** Same as eQTL endpoint
#### `GET /association/egene`
All eGenes (genes with ≥1 significant eQTL) in a tissue.
**Parameters:** `tissueSiteDetailId`, `datasetId`
**Response fields:** gene ID, gene symbol, best eQTL variant, p-value, q-value
### Dataset/Metadata Endpoints
#### `GET /dataset/tissueSiteDetail`
List of all available tissues.
**Parameters:** `datasetId`, `itemsPerPage`
**Response fields:**
- `tissueSiteDetailId`: API identifier (use this in queries)
- `tissueSiteDetail`: Display name
- `colorHex`: Color for visualization
- `samplingSite`: Anatomical location
#### `GET /reference/gene`
Gene metadata from GENCODE.
**Parameters:** `geneSymbol` OR `gencodeId`, `referenceGenomeId` (GRCh38)
### Variant Endpoints
#### `GET /variant/variantPage`
Variant metadata and lookup.
**Parameters:** `snpId` (rsID) OR `variantId`
## Tissue IDs Reference (Common Tissues)
| ID | Display Name |
|----|-------------|
| `Whole_Blood` | Whole Blood |
| `Brain_Cortex` | Brain - Cortex |
| `Brain_Hippocampus` | Brain - Hippocampus |
| `Brain_Frontal_Cortex_BA9` | Brain - Frontal Cortex (BA9) |
| `Liver` | Liver |
| `Kidney_Cortex` | Kidney - Cortex |
| `Heart_Left_Ventricle` | Heart - Left Ventricle |
| `Lung` | Lung |
| `Muscle_Skeletal` | Muscle - Skeletal |
| `Adipose_Subcutaneous` | Adipose - Subcutaneous |
| `Colon_Transverse` | Colon - Transverse |
| `Small_Intestine_Terminal_Ileum` | Small Intestine - Terminal Ileum |
| `Skin_Sun_Exposed_Lower_leg` | Skin - Sun Exposed (Lower leg) |
| `Thyroid` | Thyroid |
| `Nerve_Tibial` | Nerve - Tibial |
| `Artery_Coronary` | Artery - Coronary |
| `Artery_Aorta` | Artery - Aorta |
| `Pancreas` | Pancreas |
| `Pituitary` | Pituitary |
| `Spleen` | Spleen |
| `Prostate` | Prostate |
| `Ovary` | Ovary |
| `Uterus` | Uterus |
| `Testis` | Testis |
## Error Handling
```python
import requests
from requests.exceptions import HTTPError, Timeout
def safe_gtex_query(endpoint, params):
url = f"https://gtexportal.org/api/v2/{endpoint}"
try:
response = requests.get(url, params=params, timeout=30)
response.raise_for_status()
return response.json()
except HTTPError as e:
print(f"HTTP error {e.response.status_code}: {e.response.text}")
except Timeout:
print("Request timed out")
except Exception as e:
print(f"Error: {e}")
return None
```
## Rate Limiting
GTEx API does not publish explicit rate limits but:
- Add 0.51s delays between bulk queries
- Use data downloads for genome-wide analyses instead of API
- Cache results locally for repeated queries