Agent Skills by ALSEL
汎用データ・分析⭐ リポ 216品質スコア 83/100

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、またはキーワードでクエリします。ブール演算子(ANDORNOT)と 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:valuesymbol:TP53
ブールANDORNOTBRCA1 AND cancer
ワイルドカード*CDK*
範囲[min TO max]exac.af:[0.01 TO 0.05]
ページネーションsizefromsize=20&from=40
フィールド選択fieldsfields=symbol,name,go
ソートsortsort=_score:desc
バッチ POSTids を含む POST1 リクエストあたり最大 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 でそれらのパスウェイをターゲットとする承認医薬品を検出します。
  • ファーマコゲノミクス: バリアントアノテーションを医薬品代謝データと相互参照して、臨床的に実用的な遺伝子-医薬品相互作用を特定します。
  • システィマティックレビュー: ゲノミクス出版物の補足表を作成するため、大規模な候補リスト全体にわたって遺伝子/バリアントメタデータをプログラムで収集します。

参考文献

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
wentorai
リポジトリ
wentorai/research-plugins
ライセンス
MIT
最終更新
2026/4/19

Source: https://github.com/wentorai/research-plugins / ライセンス: MIT

本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: wentorai · wentorai/research-plugins · ライセンス: MIT