BioWiki

NCBIのWebサービス

E-Utilitiesを使うことで、アプリケーションでNCBIのデータベースを活用できる。

http://www.ncbi.nlm.nih.gov/entrez/query/static/eutils_help.html

SOAPサービスも利用できるようになった。

http://eutils.ncbi.nlm.nih.gov/entrez/query/static/esoap_help.html

BLASTのAPIは、

NCBIとのやりとりの流れ

ESearchとEFetchを用いる場合は次のような流れになる。

クライアント NCBI
1 検索クエリの送信
2 セッションの作成と送信
3 セッションXMLの受信と解析
4 検索結果の要求を送信
5 検索結果XMLの送信
6 検索結果XMLの受信と利用
  • ESearch URL
    http://www.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi
  • EFetch URL
    http://www.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi

XMLのススメ

PHPやPerlなどで使い捨てるプログラムならテキストやhtmlベースでデータを取得してもいいが、理想的には、XMLデータをSOAPクライアントで取得し、保持するクラスを作っておく方が応用が利く。

XMLの定義はDTDファイルとして公開されているから、それを元にクラスは作成できる。

次の3つのクラスを作っておけばどのデータベース(nucleotid, taxonomy,pubmed etc.)にも対応できるので便利。

  1. DocSum : ESummaryで取得するエントリの概要データ構造
  2. EFetchResult : EFetchで取得するエントリ情報データ構造
  3. ESearchResult : ESearchで取得する検索結果の情報データ構造