KEGG API v2.3

注意:KEGG API v2.3 のサポートは終了しました(2005/3/31 に廃止されます)。 早めに KEGG API v3.0 以降のバージョンへの移行をお願いします。

KEGG API はプログラムなどから KEGG を利用するためのウェブサービスです。 前半では、KEGG データベースから情報を取得したり検索したりするために KEGG API を使う方法を説明します。後半のリファレンスで KEGG API の全機能を 解説します。例として主に Ruby 言語を使って解説しますが、SOAP と WSDL を 扱うことのできる言語(Perl, Python, Java など)であれば簡単に KEGG API を 利用することができます。

イントロダクション

ウェブサービスとは、クライアントからの要求をインターネットを介してサーバに 送り、サーバがプログラムの実行結果をクライアントに返す仕組みで、一般的には ウェブページで使われる HTTP プロトコルと、構造を持つデータの表現方法として 普及している XML マークアップ文書形式を用いたものを指します。

ウェブサービスはプログラムから利用できるため、定期的に検索を行ったり、 少しずつ値を変えた様々な要求を自動的に処理したりするのに向いています。 このため、株価や天気情報の問い合わせ、Google への複合検索などでも使われて います。

HTTP を用いるメリットには、誰でも使えることやファイアウォールなどの制限を 受けにくいことがあり、XML の方には関連技術が揃っていることや複雑なデータ 構造を表現できるといったポイントがあります。

ウェブサービスでは XML 関連技術の中でも SOAP と WSDL を使うことが多くなって います。SOAP はクライアントとサーバがやりとりするメッセージの表現方法を 標準化したもので、以前は Simple Object Access Method の略とされていました (今は Service Oriented Access Protocol ということもあるようです)。 WSDL は SOAP に基づくサービスをコンピュータが簡単に利用できるようにする ためのもので、Web Service Description Language の略となっています。

KEGG API はこれらの技術を使って、自分の興味ある遺伝子やパスウェイなどの 情報を自由に検索したり解析に用いたりするための手段を提供します。ユーザは KEGG の多くの機能を、ウェブページをクリックする代わりに自分のプログラムの 中から次々と実行することができるようになります。

KEGG API に関する最新の情報は以下の URL から得ることができます。

KEGG API の使い方

以下では Ruby, Perl, Python, Java の各言語による KEGG API の簡単な使い方を 紹介します。各言語で SOAP と WSDL を扱えるライブラリを追加インストールする 必要があります。

Ruby の場合

Ruby 1.8.1 以降では、標準で SOAP を使う事ができますので追加インストー ルは必要ありません。

Ruby 1.8.0 では SOAP4R, devel-logger, http-access2 などのライブラリをインストールする必要があります。

Ruby 1.6.8 の場合はさらに SOAP4R が必要とする他のライブラリ (date2, uconv, XML のパーザなど) もインストールする必要がありますので、あらかじめ SOAP4R のドキュメントに従って入れておきます。

以下のサンプルコードは、大腸菌遺伝子 b0002 と最も相同性の高い遺伝子を インフルエンザ菌 (hin) と枯草菌 (bsu) の2生物種から Smith-Waterman スコア 500 以上という閾値で検索するプログラムです。

#!/usr/bin/env ruby

require 'soap/wsdlDriver'

wsdl = "http://soap.genome.ad.jp/KEGG.wsdl"
serv = SOAP::WSDLDriverFactory.new(wsdl).createDriver
serv.generateEncodeType = true

result = serv.get_best_neighbors_by_gene('eco:b0002', 500, ['hin', 'bsu'])
result.each do |hit|
  puts [hit.kid1, hit.kid2, hit.sw_score].join("\t")
end

WSDL を用いるためシンプルですが、BioRuby を 使うとさらにスッキリ書くことができます。

#!/usr/bin/env ruby

require 'bio'

serv = Bio::KEGG::API.new
p serv.get_best_neighbors_by_gene('eco:b0002', 500, ['hin', 'bsu'])

プログラムの中で 'get_best_neighbors_by_gene' は、KEGG の SSDB データベースを 使って KEGG の GENES に含まれている各生物種の中から最も相同性の高い遺伝子を 探してくる API です。結果は以下のようになります。

eco:b0002	bsu:BG10350	561
eco:b0002	hin:HI0089	3291

Perl の場合

Perl では、以下のライブラリを追加インストールしておく必要があります。

以下、Ruby の例と同じ処理を実行するサンプルコードです。

#!/usr/local/bin/perl

use SOAP::Lite;

$wsdl = 'http://soap.genome.ad.jp/KEGG.wsdl';

my $serv = SOAP::Lite -> service($wsdl);

my $result = $serv -> get_best_neighbors_by_gene
                  ( 'eco:b0002',
                     500,
                     SOAP::Data->type(array => [hin, bsu])
                  );

foreach $hit (@{$result}) {
  print "$hit->{kid1}\t$hit->{kid2}\t$hit->{sw_score}\n";
}

Python の場合

Python では以下のライブラリを追加インストールしておく必要があります。

また、SOAPpy が依存しているいくつかのパッケージ (fpconst, PyXML など) も 必要になります。

以下、KEGG/PATHWAY の 00020 番のパスウェイに載っている大腸菌の遺伝子を リストで返すサンプルコードです。

#!/usr/bin/env python

from SOAPpy import WSDL

wsdl = 'http://soap.genome.ad.jp/KEGG.wsdl'
serv = WSDL.Proxy(wsdl)

result = serv.get_genes_by_pathway('path:eco00020')
print result

Java の場合

Java では以下のライブラリをインストールしておく必要があります。

また、必要な jar ファイルを適切なディレクトリにおいておく必要があります。

以下は、Python の例と同様に、指定した KEGG/PATHWAY に載っている遺伝子の リストを表示するサンプルコードです。

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.namespace.QName;
import java.net.URL;

public class GetGenesByPathway {
        public static void main(String[] args) throws Exception {
                String query    = args[0];
                String wsdl     = "http://soap.genome.ad.jp/KEGG.wsdl";
                String namespc  = "SOAP/KEGG";
                String srvname  = "KEGG";
                String prtname  = "KEGGPort";
                String fncname  = "get_genes_by_pathway";
                QName service   = new QName(namespc, srvname);
                QName port      = new QName(namespc, prtname);
                Service serv    = new Service(new URL(wsdl), service);
                Call call       = (Call) serv.createCall(port, fncname);
                String[] result = (String[]) call.invoke(new Object[]{query});

                for (int i = 0; i < result.length; i++) {
                        System.out.println(result[i]);
                }
        }        
}

Axis の jar ファイルが /path/to/lib/ 以下に置いてある場合、CLASSPATH に 指定するか

% javac -classpath /path/to/lib/axis.jar:/path/to/lib/jaxrpc.jar GetGenesByPathway.java

% java -classpath /path/to/lib/axis.jar:/path/to/lib/jaxrpc.jar:/path/to/lib/commons-logging.jar:/path/to/lib/commons-discovery.jar:/path/to/lib/saaj.jar:/path/to/lib/wsdl4j.jar:. GetGenesByPathway path:ecob00020

のようにコンパイルして実行できます。

ところで、上記の例のように、文字列や文字列の配列が返ってくる場合には問 題ないのですが KEGG API のメソッドの中には独自に定義されたデータ構造で 結果を返すものも多くあります。これらを扱うには WSDL ファイルから自動生 成された KEGG API のクラスを使うのが簡単です。

このために Apache の axis-1.2alpha (axis-1_1 ではうまく動きません)を インストールして、

% cp axis-1_2alpha/lib/* /path/to/lib/

以下のように実行します。生成されたファイルの不具合を直すために、 axisfix.pl スクリプトを入手しておきます。

% java -classpath /path/to/lib/axis.jar:/path/to/lib/jaxrpc.jar:/path/to/lib/commons-logging.jar:/path/to/lib/commons-discovery.jar:/path/to/lib/saaj.jar:/path/to/lib/wsdl4j.jar:. org.apache.axis.wsdl.WSDL2Java -p keggapi  http://soap.genome.ad.jp/KEGG.wsdl
% perl -i axisfix.pl keggapi/KEGGBindingStub.java
% javac -classpath /path/to/lib/axis.jar:/path/to/lib/jaxrpc.jar:/path/to/lib/wsdl4j.jar:. keggapi/KEGGLocator.java
% jar cvf keggapi.jar keggapi/*
% javadoc -classpath /path/to/lib/axis.jar:/path/to/lib/jaxrpc.jar -d keggapi_javadoc keggapi/*.java

keggapi.jar ファイルを使って上記のプログラムを書き直した例は次のように なります。

import keggapi.*;

class GetGenesByPathway {
        public static void main(String[] args) throws Exception {
                KEGGLocator  locator = new KEGGLocator();
                KEGGPortType serv    = locator.getKEGGPort();

                String   query   = args[0];
                String[] results = serv.get_genes_by_pathway(query);

                for (int i = 0; i < results.length; i++) {
                        System.out.println(results[i]);
                }
        }
}

次は、文字列ではなく SSDBResult 型の配列が戻ってくる例です。

import keggapi.*;

class GetBestNeighborsByGene {
        public static void main(String[] args) throws Exception {
                KEGGLocator  locator  = new KEGGLocator();
                KEGGPortType serv     = locator.getKEGGPort();

                String       query    = args[0];
                String[]     orglist  = {"all"};
                SSDBResult[] results  = null;

                results = serv.get_best_neighbors_by_gene(query, 500, orglist);

                for (int i = 0; i < results.length; i++) {
                        String gene1  = results[i].getKid1();
                        String gene2  = results[i].getKid2();
                        int    score  = results[i].getSw_score();
                        System.out.println(gene1 + "\t" + gene2 + "\t" + score);
                }
        }
}

このプログラムは以下のように CLASSPATH に keggapi.jar ファイルも加えて コンパイル、実行します。

% javac -classpath /path/to/lib/axis.jar:/path/to/lib/jaxrpc.jar:/path/to/lib/wsdl4j.jar:/path/to/keggapi.jar GetBestNeighborsByGene.java

% java -classpath /path/to/lib/axis.jar:/path/to/lib/jaxrpc.jar:/path/to/lib/commons-logging.jar:/path/to/lib/commons-discovery.jar:/path/to/lib/saaj.jar:/path/to/lib/wsdl4j.jar:/path/to/keggapi.jar:. GetBestNeighborsByGene eco:b0002

他の戻り値と型ごとの値の取り出し方などについては、WSDL2Java により生成 された以下のドキュメントを参照してください。

KEGG API リファレンス

以下では、KEGG API を使うのに必要な情報と全てのメソッドを解説します。

WSDL ファイル

SOAP では、サーバがどのようなメソッドを持っているか知っておく必要が ありますが、WSDL を使うとこの手順を自動化できます。WSDL ファイルを 取得してクライアントドライバを生成するところまで、通常は SOAP/WSDL の ライブラリが処理してくれるはずです。KEGG API の WSDL ファイルは以下の URL にあります。

用語

以下の解説で出てくる KEGG 関連用語の説明をしておきます。

戻り値

多くの KEGG API メソッドは文字列などの値を返しますが、いくつかのメソッドは 構造を持った値を返す必要があるため、データ型が定義されています。

SSDBResult 型

SSDB データベースの各フィールドに対応する値が入った配列です。多くの場合、 全てのフィールドの値が必要なわけではありませんが、ユーザが自由に選択できる ようになっています。

kid1         クエリーの genes_id
kid2         ターゲットの genes_id
sw_score     kid1 と kid2 間の Smith-Waterman スコア
ident        kid1 と kid2 間のパーセントアイデンティティ
overlap      kid1 と kid2 のオーバーラップ領域の長さ
s1_start     kid1 のアライメントの開始残基位置
s1_end       kid1 のアライメントの終端残基位置
s2_start     kid2 のアライメントの開始残基位置
s2_end       kid2 のアライメントの終端残基位置
b1           kid2 から見て kid1 がベストヒットなら 1 そうでなければ 0
b2           kid1 から見て kid2 がベストヒットなら 1 そうでなければ 0
definition1  kid1 のデフィニション文字列
definition2  kid2 のデフィニション文字列
length1      kid1 のアミノ酸配列の長さ
length2      kid2 のアミノ酸配列の長さ

注意:このドキュメント中で、b1 と b2 の定義が逆に書かれていました。 これらのフィールドを利用している方は注意してください(2004/11/26)。

SSDBResultArray 型

複数の SSDBResult 型データを含む配列です。

MOTIFResult 型
mid          モチーフデータベースのエントリ ID
definition   モチーフのデフィニション
kid          モチーフを持っている遺伝子の genes_id
seq_f        モチーフの開始残基位置
seq_t        モチーフの終了残基位置
score        モチーフ (PROSITE Profile) のスコア
Evalue       モチーフ (Pfam, TIGRfam) の E value
MOTIFResultArray 型

複数の MOTIFResult 型データを含む配列です。

GENESResult 型
kid          遺伝子の genes_id
keggdef      遺伝子のデフィニション
GENESResultArray 型

複数の GENESResult 型データを含む配列です。

LinkDBResult 型
entry        データベースのエントリ ID
link_type    リンクの種類 (direct, indirect)
links        リンク情報
LinkDBResultArray 型

複数の LinkDBResult 型データを含む配列です。

メソッドリスト

以下、KEGG API の全メソッドのリストです。メソッドにはメタ情報を返すものと 各データベースに対するものがあります。現在、KEGG にあるデータベースのうち KEGG API の対象となっているものは SSDB, PATHWAY, GENES です。これ以外の データベースへの対応やメソッドの追加も順次おこなう予定です。

以下の例では、引数などが Ruby 言語の表記に倣って書かれていますが、実際の 引数(特にリストの渡し方など)は使用する言語によって異なる可能性があります。

KEGG メタ情報

最新のデータベース情報などを返すためのメソッドです。

list_databases

KEGG を提供しているゲノムネットで現在利用できるデータベースの一覧を返します。

戻値:

string
list_organisms

現在 KEGG に含まれている生物種 (keggorg) のリストを返します。

戻値:

ArrayOfstring
list_pathways

現在 KEGG に含まれているパスウェイのリストを返します。

戻値:

ArrayOfstring
dbinfo(db_name)

指定したデータベースのエントリ数や更新日など詳しい最新情報を返します。

戻値:

string

例:

# GENES データベースの最新情報
dbinfo('genes')

DBGET/LinkDB

DBGET/LinkDB システムに対するメソッドの一覧です。DBGET/LinkDB について 詳しくは以下のページを参照してください。

get_entries(entry_id_list)

指定した entry_id のエントリを返します。GENES の遺伝子エントリをはじめ、 ゲノムネットの DBGET システムで提供されている様々なデータベース (list_databases を参照) のエントリを全て取得できます。

注:このメソッドは近いうちに bget メソッドに変更になる予定です。

戻値:

string

例:

get_entries(['eco:b0002', 'bsu:BG10065', 'cpd:C00209'])
bfind(target_db, keyword)

DBGET の bfind コマンドへのラッパーです。キーワードによりエントリを検 索することができます。

戻値:

GENESResultArray

例:

# デフィニションに E-cadherin を持つ GenBank のエントリを検索
bfind('gb', 'E-cadherin')
btit(entry_id_list)

DBGET の btit コマンドへのラッパーです。指定したエントリの ID に対応す るデフィニションを返します。

戻値:

GENESResultArray

例:

# これら4つの遺伝子のデフィニションを検索
btit(["hsa:1798", "mmu:13478", "dme:CG5287-PA", "cel:Y60A3A.14"])
get_linkdb_by_entry(genes_id, target_db)

指定した entry_id から直接または間接的にリンクされているエントリを、 target_db で指定したデータベースに対して検索します。

戻値:

LinkDBResultArray

例:

# E. coli の遺伝子 b0002 からリンクのたどれる KEGG/PATHWAY のエントリを検索
get_linkdb_by_entry('eco:b0002', 'pathway')

SSDB

SSDB データベースに対するメソッドの一覧です。SSDB は KEGG/GENES に含まれる 全生物種・全遺伝子間で ssearch を用いた Smith-Waterman アルゴリズムに よる検索を行った結果と、全遺伝子のモチーフ検索結果を登録したデータベースで、 時間のかかる計算があらかじめ終わっているため高速な検索が可能になっています。

KEGG がゲノム配列の決まった生物種を中心に対象としていることと、Smith- Waterman スコアによる比較ができることからオーソログやパラログ関係にある 遺伝子の探索や生物種固有の遺伝子の検索をはじめ様々な応用が考えられます。

SSDB データベースについて詳しくは以下のページを参照してください。

get_all_neighbors_by_gene(genes_id, threshold = 100, keggorg_list = nil)

指定した genes_id の遺伝子にホモロジーのある全遺伝子を検索します。 デフォルトは Smith-Waterman スコア 100 以上のものを全て検索しますが 閾値を設定することでより高いホモロジーのある遺伝子だけに絞り込むことが できます。また keggorg のリストを指定することで対象とする生物種を 絞り込むことができます。

戻値:

SSDBResultArray

例:

# 大腸菌の遺伝子 b0002 に相同性のある遺伝子を全て検索
get_all_neighbors_by_gene('eco:b0002')

# 上と同じ検索を、スコア 500 以上、対象を大腸菌 O157 株と
# インフルエンザ菌に絞り込んで実行
get_all_neighbors_by_gene('eco:b0002', 500, ['ece', 'hin'])
get_best_best_neighbors_by_gene(genes_id, threshold = 100, keggorg_list = nil)

クエリとターゲットが best-best の関係にある遺伝子だけを検索します。

戻値:

SSDBResultArray

例:

# 大腸菌の遺伝子 b0002 から各生物種で best-best の関係にある遺伝子
get_best_best_neighbors_by_gene('eco:b0002', 500)
get_best_neighbors_by_gene(genes_id, threshold = 100, keggorg_list = nil)

クエリから見てベストヒットの関係にある遺伝子だけを検索します。

戻値:

SSDBResultArray

例:

# 大腸菌の遺伝子 b0002 から各生物種で best neighbor の関係にある遺伝子
get_best_neighbors_by_gene('eco:b0002', 500)
get_reverse_best_neighbors_by_gene(genes_id, threshold = 100, keggorg_list = nil)

対象生物種から見てクエリがベストヒットとなる遺伝子を検索します。

戻値:

SSDBResultArray

例:

# 大腸菌の遺伝子 b0002 が reverse best neighbor の関係にある遺伝子
get_reverse_best_neighbors_by_gene('eco:b0002', 500)
get_paralogs_by_gene(genes_id, threshold = 100)

クエリと同じ生物種内でパラログ遺伝子を検索します。

戻値:

SSDBResultArray

例:

# 大腸菌の遺伝子 b0002 とパラログの関係にある遺伝子
get_paralogs_by_gene('eco:b0002', 500)
get_score_between_genes(genes_id1, genes_id2)

指定した2つの遺伝子間の Smith-Waterman スコアを含むデータを返します。

戻値:

SSDBResult

例:

get_score_between_genes('eco:b0002', 'eco:b3940')
get_definition_by_gene(genes_id)

指定した遺伝子のデフィニション文字列を返します。

戻値:

string

例:

get_definition_by_gene('eco:b0002')
get_common_motifs_by_genes(target_db_list, genes_id_list, threshold)

指定した遺伝子のリストに共通して存在するモチーフのリストを返します。 モチーフデータベースのリストには、Pfam (pfam), TIGRFAM (tfam), PROSITE (prositepattern, prositeprofile) またはこれら全て (all) を指定出来ます。 閾値は Pfam か TIGRFAM の場合に有効になります。

戻値:

MOTIFResultArray

例:

# 大腸菌の遺伝子 b0002 と b3940 が共通して持つモチーフのリスト
target_db_list = ['pfam', 'tfam']
genes_id_list = ['eco:b0002', 'eco:b3940']
threshold = 1.0e-10
get_common_motifs_by_genes(target_db_list, genes_id_list, threshold)
get_genes_by_motifs(motif_id_list)

指定したモチーフを持つ遺伝子を検索します。

戻値:

GENESResultArray

例:

# Pfam の DnaJ と Prosite の DNAJ_2 にヒットする遺伝子を検索
list = ['pf:DnaJ', 'ps:DNAJ_2']
get_genes_by_motifs(list)
get_ko_by_gene(genes_id)

指定した遺伝子にアサインされている KO のエントリ番号を全て返します。

戻値:

ArrayOfstring

例:

# eco:b0002 遺伝子にアサインされている KO のリスト
get_ko_by_gene('eco:b0002')
get_ko_members(ko_id)

指定した ko_id の KO エントリに含まれる遺伝子のリストを返します。

戻値:

ArrayOfstring

例:

# KO 番号 K02208 のアサインされている遺伝子のリスト
get_ko_by_gene('ko:K02208')
get_oc_members_by_gene(genes_id)

指定した遺伝子と同じ OC (KEGG Ortholog Cluster) に属する遺伝子のリスト を返します。

戻値:

ArrayOfstring

例:

# eco:b0002 遺伝子と同じオーソログクラスターに含まれる遺伝子のリスト
get_oc_members_by_gene('eco:b0002')
get_pc_members_by_gene(genes_id)

指定した遺伝子と同じ PC (KEGG Paralog Cluster) に属する遺伝子のリスト を返します。

戻値:

ArrayOfstring

例:

# eco:b0002 遺伝子と同じパラログクラスターに含まれる遺伝子のリスト
get_pc_members_by_gene('eco:b0002')

PATHWAY

PATHWAY データベースに対するメソッドの一覧です。PATHWAY データベースに ついて詳しくは以下のページを参照してください。

get_genes_by_pathway(pathway_id)

指定したパスウェイ上に載っている遺伝子のリストを返します。生物種名は pathway_id に含まれる keggorg で指定します。

戻値:

ArrayOfstring

例:

# 大腸菌のパスウェイ 00020 番に載っている遺伝子のリスト
get_genes_by_pathway('path:eco00020')
get_enzymes_by_pathway(pathway_id)

指定したパスウェイに載っている酵素番号のリストを返します。

戻値:

ArrayOfstring

例:

# パスウェイ 00020 番に載っている酵素番号のリスト
get_enzymes_by_pathway('path:eco00020')
get_compounds_by_pathway(pathway_id)

指定したパスウェイに載っている化合物のリストを返します。

戻値:

ArrayOfstring

例:

# パスウェイ 00020 に載っている化合物のリスト
get_compounds_by_pathway('path:eco00020')
get_pathways_by_genes(genes_id_list)

指定した遺伝子が全て載っているパスウェイのリストを返します。

戻値:

ArrayOfstring

例:

# 大腸菌の遺伝子 b0077 と b0078 が両方載っているパスウェイのリスト
get_pathways_by_genes(['eco:b0077' , 'eco:b0078'])
get_pathways_by_enzymes(enzyme_id_list)

指定した酵素番号が全て載っているパスウェイのリストを返します。

戻値:

ArrayOfstring

例:

# 酵素番号 1.3.99.1 の酵素が載っているパスウェイのリスト
get_pathways_by_enzymes(['ec:1.3.99.1'])
get_pathways_by_compounds(compound_id_list)

指定した化合物が全て載っているパスウェイのリストを返します。

戻値:

ArrayOfstring

例:

# 化合物 C00033 と C00158 が両方載っているパスウェイのリスト
get_pathways_by_compounds(['cpd:C00033', 'cpd:C00158'])
get_pathways_by_reactions(reaction_id_list)

指定した REACTION データベースのリアクション番号を全て含むパスウェイの リストを返します。

戻値:

ArrayOfstring

例:

# リアクション番号 rn:R00959, rn:R02740, rn:R00960, rn:R01786 の全ての
# 反応を含むパスウェイのリスト
get_pathways_by_reactions(['rn:R00959', 'rn:R02740', 'rn:R00960', 'rn:R01786'])
get_reactions_by_pathways(pathway_id_list)

指定した全てのパスウェイに載っているリアクション番号のリストを返します。

戻値:

ArrayOfstring

例:

# パスウェイ 00260 番に載っているリアクションのリスト
get_reactions_by_pathways(['path:map00260'])
get_enzymes_by_reactions(reaction_id_list)

指定したリアクション番号に対応する酵素番号のリストを返します。

戻値:

ArrayOfstring

例:

# リアクション番号 R00100 を含む酵素番号のリスト
get_enzymes_by_reactions(['rn:R00100'])
get_genes_by_enzymes(enzyme_id_list, keggorg_list)

対象生物種において、指定した酵素番号を持つ遺伝子のリストを返します。

戻値:

ArrayOfstring

例:

# 酵素番号 1.1.1.1 と 1.2.1.1 を持つ大腸菌の遺伝子のリスト
get_genes_by_enzymes(['ec:1.1.1.1','ec:1.2.1.1'], ['eco'])
get_linked_pathways(pathway_id)

指定したパスウェイ番号のパスウェイからリンクされているパスウェイのリス トを返します。

戻値:

ArrayOfstring

例:

# パスウェイ path:eco00620 からリンクされているパスウェイのリスト
get_linked_pathways('path:eco00620')
mark_all_pathways_by_genes(keggorg, genes_id_list)

指定した生物種で、与えられた遺伝子を全て含むパスウェイを検索し、遺伝子に 対応する枠に色をつけた画像を生成、画像の URL のリストを返します。

genes_id から生物種が分かるため keggorg を指定するのは冗長ですが、以下の by_enzymes, by_compounds メソッドとの対称性のためです。

戻値:

ArrayOfstring

例:

# 大腸菌の遺伝子 b0002 を含むパスウェイを検索し、b0002 に対応する
# ボックスを赤く着色した画像の URL のリスト
mark_all_pathways_by_genes('eco',['eco:b0002'])
mark_all_pathways_by_enzymes(keggorg, enzyme_id_list)

指定した生物種で、与えられた酵素番号を全て含むパスウェイを検索し、酵素番号に 対応する枠に色をつけた画像を生成、画像の URL のリストを返します。

戻値:

ArrayOfstring

例:

# 酵素番号 1.2.3.1 と 4.3.1.5 を含むインフルエンザ菌のパスウェイを検索して
# これらのボックスを赤く着色した画像の URL のリスト
mark_all_pathways_by_enzymes('hin',['ec:1.2.3.1', 'ec:4.3.1.5'])
mark_all_pathways_by_compounds(keggorg, compound_id_list)

指定した生物種で、与えられた化合物番号を全て含むパスウェイを検索し、化合物に 対応する枠に色をつけた画像を生成、画像の URL のリストを返します。

戻値:

ArrayOfstring

例:

# 化合物番号 C00011 と C00209 を含む枯草菌のパスウェイを検索して
# これらの枠を赤く着色した画像の URL のリスト
mark_all_pathways_by_compounds('bsu',['cpd:C00011', 'cpd:C00209'])
mark_pathway_by_genes(pathway_id, genes_id_list)

指定したパスウェイに対し、与えられた遺伝子に対応する枠に色をつけた画像を生成、 画像の URL を返します。

戻値:

ArrayOfstring

例:

# パスウェイ path:eco00252 上に載っている大腸菌の遺伝子 eco:b0600 と
# eco:b1190 を赤く着色した画像の URL。
mark_pathway_by_genes('path:eco00252', ['eco:b0600','eco:b1190'])
mark_pathway_by_enzymes(pathway_id, enzyme_id_list)

指定したパスウェイに対し、与えられた酵素に対応する枠に色をつけた画像を生成、 画像の URL を返します。

戻値:

ArrayOfstring

例:

# パスウェイ path:eco00660 上に載っている酵素 4.1.1.5 を赤く着色した
# 画像の URL。
mark_pathway_by_enzymes('path:eco00660', ['ec:4.1.1.5'])
mark_pathway_by_compounds(pathway_id, compound_id_list)

指定したパスウェイに対し、与えられた化合物に対応する枠に色をつけた画像を生成、 画像の URL を返します。

戻値:

ArrayOfstring

例:

# パスウェイ path:eco00620 上に載っている化合物 C000022, C05993, C00083 を
# 赤く着色した画像の URL。
mark_pathway_by_compounds('path:eco00620', ['cpd:C00022','cpd:C05993','cpd:C00083'])
color_pathway_by_genes(pathway_id, genes_id_list, color_list)

指定したパスウェイに対し、与えられた遺伝子に対応する枠に指定した色をつけた 画像を生成、画像の URL を返します。

戻値:

ArrayOfstring

例:

# パスウェイ path:eco00053 上に載っている大腸菌の遺伝子 eco:b0207 と
# eco:b1300 をそれぞれ緑と青で着色した画像の URL。
color_pathway_by_genes('path:eco00053', ['eco:b0207','eco:b1300'], ['#00ff00','blue'])
color_pathway_by_enzymes(pathway_id, enzyme_id_list, color_list)

指定したパスウェイに対し、与えられた酵素に対応する枠に指定した色をつけた 画像を生成、画像の URL を返します。

戻値:

ArrayOfstring

例:

# パスウェイ path:eco00620 上に載っている酵素 3.1.2.1 と 6.4.1.1 を
# それぞれ黄色と緑で着色した画像の URL。
color_pathway_by_enzymes('path:eco00620', ['ec:3.1.2.1','ec:6.4.1.1'], ['yellow','green'])
color_pathway_by_compounds(pathway_id, compound_id_list, color_list)

指定したパスウェイに対し、与えられた化合物に対応する枠に指定した色をつけた 画像を生成、画像の URL を返します。

戻値:

ArrayOfstring

例:

# パスウェイ path:eco00660 上に載っている化合物 C06010, C01011, C00651 を
# それぞれピンクと緑と青で着色した画像の URL。
color_pathway_by_compounds('path:eco00660', ['cpd:C06010','cpd:C01011','cpd:C00651'], ['pink','green','blue'])

GENES

GENES データベースに対するメソッドの一覧です。GENES データベースについて 詳しくは以下のページを参照してください。

get_aaseqs(genes_id_list)

指定した GENES エントリのアミノ酸配列を FASTA フォーマットで取得します。

戻値:

string

例:

get_aaseqs(['eco:b0002','bsu:BG10065'])
get_ntseqs(genes_id_list)

指定した GENES エントリの塩基配列を FASTA フォーマットで取得します。

戻値:

string

例:

get_ntseqs(['eco:b0002','bsu:BG10065'])
get_all_genes_by_organism(keggorg)

指定した生物種の全 GENES エントリの ID を取得します。

戻値:

ArrayOfstring

例:

# インフルエンザ菌の全遺伝子の entry_id のリスト
get_all_genes_by_organism('hin')
get_num_genes_by_organism(keggorg)

指定した生物種が持つ遺伝子数を返します。

戻値:

int

例:

# 大腸菌が持つ遺伝子の数
get_num_genes_by_organism('eco')