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は、
ESearchとEFetchを用いる場合は次のような流れになる。
クライアント | NCBI | ||
---|---|---|---|
1 | 検索クエリの送信 | → | |
2 | ← | セッションの作成と送信 | |
3 | セッションXMLの受信と解析 | ||
4 | 検索結果の要求を送信 | → | |
5 | ← | 検索結果XMLの送信 | |
6 | 検索結果XMLの受信と利用 |
http://www.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi
http://www.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi
PHPやPerlなどで使い捨てるプログラムならテキストやhtmlベースでデータを取得してもいいが、理想的には、XMLデータをSOAPクライアントで取得し、保持するクラスを作っておく方が応用が利く。
XMLの定義はDTDファイルとして公開されているから、それを元にクラスは作成できる。
次の3つのクラスを作っておけばどのデータベース(nucleotid, taxonomy,pubmed etc.)にも対応できるので便利。