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.
This commit is contained in:
huangkuanlin
2026-03-03 07:15:36 -05:00
parent b271271df4
commit 7f94783fab
27 changed files with 6961 additions and 0 deletions

View File

@@ -0,0 +1,182 @@
# JASPAR API v1 Reference
## Base URL
```
https://jaspar.elixir.no/api/v1/
```
No authentication required. Responses are JSON.
## Core Endpoints
### `GET /matrix/`
Search and list TF binding profiles.
**Parameters:**
| Parameter | Type | Description | Example |
|-----------|------|-------------|---------|
| `name` | string | TF name (partial match) | `CTCF` |
| `matrix_id` | string | Exact matrix ID | `MA0139.1` |
| `collection` | string | Collection name | `CORE` |
| `tax_group` | string | Taxonomic group | `vertebrates` |
| `species` | string | Species name or tax ID | `9606`, `Homo sapiens` |
| `tf_class` | string | TF structural class | `C2H2 zinc finger factors` |
| `tf_family` | string | TF family | `BEN domain factors` |
| `type` | string | Experimental method | `ChIP-seq`, `SELEX` |
| `version` | string | `latest` or specific version | `latest` |
| `page` | int | Page number | `1` |
| `page_size` | int | Results per page (max 500) | `25` |
**Response:**
```json
{
"count": 1210,
"next": "https://jaspar.elixir.no/api/v1/matrix/?page=2",
"previous": null,
"results": [
{
"matrix_id": "MA0139.1",
"name": "CTCF",
"collection": "CORE",
"tax_group": "vertebrates"
}
]
}
```
### `GET /matrix/{id}/`
Fetch a specific matrix with full details.
**Response:**
```json
{
"matrix_id": "MA0139.1",
"name": "CTCF",
"collection": "CORE",
"tax_group": "vertebrates",
"pfm": {
"A": [87, 167, 281, ...],
"C": [291, 145, 49, ...],
"G": [76, 414, 504, ...],
"T": [205, 114, 27, ...]
},
"consensus": "CCGCGNGGNGGCAG",
"length": 19,
"species": [{"tax_id": 9606, "name": "Homo sapiens"}],
"class": ["C2H2 zinc finger factors"],
"family": ["BEN domain factors"],
"type": "ChIP-seq",
"uniprot_ids": ["P49711"],
"pubmed_ids": ["19172222"],
"version": 1,
"latest": true
}
```
### `GET /matrix/{id}/logo/`
Returns SVG/PNG logo for the matrix.
**Parameters:** `format` = `svg` (default) or `png`
### `GET /taxon/`
List available species/taxa.
### `GET /tf_class/`
List available TF structural classes.
### `GET /tf_family/`
List available TF families.
### `GET /collection/`
List available collections.
## Matrix ID Format
```
MA{number}.{version}
```
- `MA` prefix = Manual curation
- `PB` prefix = Published (automatic)
- `UN` prefix = Unvalidated
- Version increments when profile is updated
## Common Matrix IDs
| Matrix ID | TF | Species | Method |
|-----------|-----|---------|--------|
| `MA0139.1` | CTCF | Human | ChIP-seq |
| `MA0098.3` | ETS1 | Human | SELEX |
| `MA0107.1` | RELA (NF-kB p65) | Human | SELEX |
| `MA0048.2` | NHLH1 | Human | SELEX |
| `MA0079.4` | SP1 | Human | SELEX |
| `MA0080.4` | SPI1 (PU.1) | Human | ChIP-seq |
| `MA0025.2` | NFIL3 | Human | SELEX |
| `MA0002.2` | RUNX1 | Human | SELEX |
| `MA0004.1` | Arnt | Mouse | SELEX |
| `MA0009.2` | TAL1::GATA1 | Human | SELEX |
## TF Classes (partial list)
- `C2H2 zinc finger factors`
- `Basic leucine zipper factors (bZIP)`
- `Basic helix-loop-helix factors (bHLH)`
- `Homeodomain factors`
- `Forkhead box (FOX) factors`
- `ETS-domain factors`
- `Nuclear hormone receptors`
- `Tryptophan cluster factors`
- `p53-like transcription factors`
- `STAT factors`
- `MADS box factors`
- `T-box factors`
## Python Example: Batch Download
```python
import requests, json, time
def download_all_human_profiles(output_file="jaspar_human_profiles.json"):
"""Download all human TF profiles from JASPAR CORE collection."""
url = "https://jaspar.elixir.no/api/v1/matrix/"
params = {
"collection": "CORE",
"species": "9606",
"version": "latest",
"page_size": 500,
"page": 1
}
profiles = []
while True:
response = requests.get(url, params=params)
data = response.json()
profiles.extend(data["results"])
if not data["next"]:
break
params["page"] += 1
time.sleep(0.5)
# Fetch full details for each profile
full_profiles = []
for p in profiles:
detail_url = f"https://jaspar.elixir.no/api/v1/matrix/{p['matrix_id']}/"
detail = requests.get(detail_url).json()
full_profiles.append(detail)
time.sleep(0.1) # Be respectful
with open(output_file, "w") as f:
json.dump(full_profiles, f)
return full_profiles
```