biothings-api
BioThings APIを通じて遺伝子、バリアント、医薬品のアノテーション情報をクエリできます。
description の原文を見る
Query gene, variant, and drug annotations via BioThings APIs
SKILL.md 本文
BioThings API スイート
概要
BioThings は Scripps Research Institute で開発された高性能バイオメディカルアノテーション API ファミリーです。このスイートは、数十の信頼できるソースから集約された遺伝子、バリアント、化学物質/医薬品アノテーションへの統一された最新アクセスを提供します。3 つの主要なサービスは、トランスレーショナルリサーチの中核エンティティをカバーしています。
- MyGene.info — NCBI Entrez、Ensembl、UniProt、GO、KEGG、Reactome、20 以上のソースからの遺伝子アノテーション
- MyVariant.info — dbSNP、ClinVar、gnomAD、CADD、COSMIC、15 以上のソースからのバリアントアノテーション
- MyChem.info — NDC、DrugBank、ChEMBL、FDA、PubChem、10 以上のソースからの医薬品および化学物質アノテーション
3 つすべてが同一のクエリ構文を共有し、認証は不要で、JSON を返します。学術および商用利用は無料です。
認証
認証または API キーは不要です。すべてのエンドポイントはオープンアクセスです。
# API キーは不要です。直接クエリしてください
curl "https://mygene.info/v3/query?q=BRCA1&size=1"
MyGene.info — 遺伝子アノテーション
遺伝子を検索
GET https://mygene.info/v3/query?q={query}&size={n}
遺伝子シンボル、名前、Entrez ID、Ensembl ID、またはキーワードでクエリします。ブール演算子(AND、OR、NOT)と symbol:CDK2 のようなフィールド固有クエリをサポートします。
curl -s "https://mygene.info/v3/query?q=BRCA1&size=1"
レスポンス:
{
"took": 178,
"total": 13223,
"hits": [
{
"_id": "672",
"_score": 145.6796,
"entrezgene": "672",
"name": "BRCA1 DNA repair associated",
"symbol": "BRCA1",
"taxid": 9606
}
]
}
ID で遺伝子を取得
GET https://mygene.info/v3/gene/{entrez_id}
単一遺伝子の包括的なアノテーションを返します。fields パラメータを使用して特定のデータソースを選択します。
# 完全なアノテーション(大規模なレスポンス)
curl -s "https://mygene.info/v3/gene/1017"
# 選択的フィールド
curl -s "https://mygene.info/v3/gene/1017?fields=symbol,name,summary,genomic_pos,go"
レスポンス(CDK2、Entrez ID 1017 の主要フィールド):
{
"_id": "1017",
"symbol": "CDK2",
"name": "cyclin dependent kinase 2",
"HGNC": "1771",
"MIM": "116953",
"AllianceGenome": "1771",
"taxid": 9606,
"type_of_gene": "protein-coding"
}
完全なレスポンスには、アクセッション、遺伝子オントロジー用語、パスウェイメンバーシップ(KEGG、Reactome、WikiPathways)、タンパク質ドメイン(InterPro、Pfam)、相同性データ、およびゲノム座標が含まれます。
MyVariant.info — バリアントアノテーション
バリアントを検索
GET https://myvariant.info/v1/query?q={query}&size={n}
rsID、HGVS 記法(例: chr7:g.140453136A>T)、遺伝子シンボル、または ClinVar の有意性によってクエリします。15 以上のソースから集約されたアノテーションを返します。
curl -s "https://myvariant.info/v1/query?q=rs58991260&size=1"
レスポンス(抜粋):
{
"took": 20,
"total": 1,
"hits": [
{
"_id": "chr1:g.218631822G>A",
"_score": 21.382616,
"dbsnp": {
"rsid": "rs58991260",
"vartype": "snv",
"ref": "G",
"alt": "A",
"chrom": "1"
},
"cadd": {
"phred": 1.679,
"consequence": "INTERGENIC",
"chrom": 1,
"pos": 218631822
},
"gnomad_genome": {
"af": { "af": 0.0150338, "af_afr": 0.0528007, "af_eas": 0.0, "af_nfe": 0.00032417 },
"alt": "A",
"ref": "G"
}
}
]
}
HGVS ID でバリアントを取得
GET https://myvariant.info/v1/variant/{hgvs_id}
curl -s "https://myvariant.info/v1/variant/chr1:g.218631822G>A?fields=dbsnp,cadd,clinvar"
MyChem.info — 医薬品および化学物質アノテーション
医薬品/化学物質を検索
GET https://mychem.info/v1/query?q={query}&size={n}
医薬品名、NDC コード、InChIKey、または有効成分でクエリします。FDA NDC、DrugBank、ChEMBL、PubChem、SIDER などのデータを集約します。
curl -s "https://mychem.info/v1/query?q=aspirin&size=1"
レスポンス(抜粋):
{
"took": 82,
"total": 248,
"hits": [
{
"_id": "0615-8613",
"_score": 13.657401,
"ndc": {
"substancename": "ASPIRIN",
"nonproprietaryname": "Aspirin",
"proprietaryname": "Adult Low Dose Aspirin",
"active_numerator_strength": "81",
"active_ingred_unit": "mg/1",
"dosageformname": "TABLET, DELAYED RELEASE",
"routename": "ORAL",
"producttypename": "HUMAN OTC DRUG",
"pharm_classes": [
"Cyclooxygenase Inhibitors [MoA]",
"Decreased Platelet Aggregation [PE]",
"Anti-Inflammatory Agents, Non-Steroidal [CS]",
"Nonsteroidal Anti-inflammatory Drug [EPC]",
"Platelet Aggregation Inhibitor [EPC]"
]
}
}
]
}
ID で化学物質を取得
GET https://mychem.info/v1/chem/{id}
curl -s "https://mychem.info/v1/chem/CHEMBL25?fields=drugbank,chembl,pubchem"
クエリ構文(3 つの API で共有)
すべての BioThings API は同じクエリエンジンを共有しています。主要な機能は以下の通りです。
| 機能 | 構文 | 例 |
|---|---|---|
| フィールド固有 | field:value | symbol:TP53 |
| ブール | AND、OR、NOT | BRCA1 AND cancer |
| ワイルドカード | * | CDK* |
| 範囲 | [min TO max] | exac.af:[0.01 TO 0.05] |
| ページネーション | size、from | size=20&from=40 |
| フィールド選択 | fields | fields=symbol,name,go |
| ソート | sort | sort=_score:desc |
| バッチ POST | ids を含む POST | 1 リクエストあたり最大 1000 ID |
レート制限
- GET リクエスト: 継続的に 1 秒あたり 3 回。バースト時は 10/s まで許容
- POST バッチリクエスト: 1 秒あたり 1 回。1 バッチあたり最大 1000 ID
- 日次上限なし 合理的な学術利用の場合
- ベストプラクティス: 連続したリクエスト間に 350ms の遅延を追加。一括クエリにはバッチ POST を使用
- User-Agent ヘッダー: BioThings チームからの優先サポートのために説明的な User-Agent を設定
Python 例: クロス API 遺伝子-バリアント-医薬品ルックアップ
import requests, time
MYGENE = "https://mygene.info/v3"
MYVARIANT = "https://myvariant.info/v1"
MYCHEM = "https://mychem.info/v1"
def search_gene(symbol):
resp = requests.get(f"{MYGENE}/query",
params={"q": f"symbol:{symbol}", "size": 1, "species": "human"})
resp.raise_for_status()
hits = resp.json().get("hits", [])
return hits[0] if hits else {}
def search_variants(gene_symbol, size=5):
resp = requests.get(f"{MYVARIANT}/query",
params={"q": f"clinvar.gene.symbol:{gene_symbol}",
"fields": "dbsnp.rsid,clinvar.rcv.clinical_significance,cadd.phred",
"size": size})
resp.raise_for_status()
return resp.json().get("hits", [])
def search_drug(name):
resp = requests.get(f"{MYCHEM}/query",
params={"q": name, "size": 1,
"fields": "ndc.substancename,ndc.pharm_classes"})
resp.raise_for_status()
hits = resp.json().get("hits", [])
return hits[0] if hits else {}
# トランスレーショナルリサーチパイプライン: 遺伝子 -> バリアント -> 医薬品
gene = search_gene("BRCA1")
print(f"Gene: {gene.get('symbol')} (Entrez: {gene.get('entrezgene')})")
time.sleep(0.35)
variants = search_variants("BRCA1", size=3)
for v in variants:
rsid = v.get("dbsnp", {}).get("rsid", v.get("_id"))
print(f" Variant: {rsid} | CADD: {v.get('cadd', {}).get('phred', 'N/A')}")
time.sleep(0.35)
drug = search_drug("olaparib")
print(f" Drug: {drug.get('ndc', {}).get('substancename', 'N/A')}")
学術利用例
- GWAS フォローアップ: MyVariant.info バッチクエリを使用して、数千の有意な SNP にアレル頻度(gnomAD)、機能予測(CADD、SIFT、PolyPhen)、臨床的有意性(ClinVar)をアノテーションします。
- 医薬品ターゲットマッピング: MyGene.info で遺伝子シンボルをパスウェイメンバーシップ(KEGG、Reactome)にリンク。その後 MyChem.info でそれらのパスウェイをターゲットとする承認医薬品を検出します。
- ファーマコゲノミクス: バリアントアノテーションを医薬品代謝データと相互参照して、臨床的に実用的な遺伝子-医薬品相互作用を特定します。
- システィマティックレビュー: ゲノミクス出版物の補足表を作成するため、大規模な候補リスト全体にわたって遺伝子/バリアントメタデータをプログラムで収集します。
参考文献
- BioThings API Hub: https://biothings.io
- MyGene.info ドキュメント: https://docs.mygene.info
- MyVariant.info ドキュメント: https://docs.myvariant.info
- MyChem.info ドキュメント: https://docs.mychem.info
- 論文: Xin J et al. Genome Biology 17:91 (2016). https://doi.org/10.1186/s13059-016-0953-9
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- wentorai
- ライセンス
- MIT
- 最終更新
- 2026/4/19
Source: https://github.com/wentorai/research-plugins / ライセンス: MIT