CGI DB REST --- URI REpresentational State Transfer SOAP --- RPC, XML RPC XML Remote Procedure Call SOAP Service Oriented Architecture Protocol SOAP +

Similar documents
untitled

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

路演公告.PDF

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

天津天狮学院关于修订2014级本科培养方案的指导意见

untitled

<4D F736F F D20B9FABCD2BBFAB9D8B0ECB9ABBDA8D6FEBACDB4F3D0CDB9ABB9B2BDA8D6FEC4DCBAC4BCE0B2E2CFB5CDB3C8EDBCFEBFAAB7A2D6B8B5BCCBB5C3F7CAE92E646F63>

untitled

臺銀人壽「98年九至十一職等人員甄試」

目 录 1. 前 言 为 什 么 要 用 ESB 技 术 发 展 业 务 需 求 IT 需 求 IT 与 业 务 一 致 性 要 求 TongIntegrator ESB v5 简 介..

final

EJB-Programming-4-cn.doc

1. 2. Flex Adobe 3.

untitled

第一章 章标题-F2 上空24,下空24

IoC容器和Dependency Injection模式.doc

% ~ AAA

2 SGML, XML Document Traditional WYSIWYG Document Content Presentation Content Presentation Structure Structure? XML/SGML 3 2 SGML SGML Standard Gener

EJB-Programming-3.PDF

Chapter 9: Objects and Classes

FAQ -PowerDesigner9.5.DOC

< F63756D656E D2D796E2D31C6DABFAF2D31D6D0D2BDD2A9CFD6B4FABBAF2D C4EA2DB5DA37C6DA2D30352DD6D0D2BDD1D0BEBF2E6D6469>

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

BPS6.0 Web服务集成和短流程功能使用手册

Microsoft Word - 01.DOC

XXXXXXXX

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

目 录 目 录 平 台 概 述 技 术 架 构 技 术 特 点 基 于 统 一 平 台 的 多 产 品 线 支 撑 先 进 性 安 全 性 开 放 性 高 性 能 和

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌

Java 1 Java String Date

Network Bandwidth Applications MATE Applications Applications On Demand Calendaring Load Balancer Live Archive Design Northbound Service,Netwo

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj

温州市政府分散采购

untitled

基于ECO的UML模型驱动的数据库应用开发1.doc

IC-900W Wireless Pan & Tilt Wireless Pan & Tilt Remote Control / Night Vision FCC ID:RUJ-LR802UWG

行 政 院 國 家 科 學 委 員 會 補 助 專 題 研 究 計 畫 成 果 報 告 期 中 進 度 報 告 Web Service UDDI 系 統 實 作 The Implementation of UDDI System for Web Service 計 畫 類 別 : 個 別 型 計 畫

PowerPoint Presentation

FileMaker 16 ODBC 和 JDBC 指南

Microsoft Word - PHP7Ch01.docx

Learning Java

weblogic

2 Java 语 言 程 序 设 计 教 程 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难

SiteView技术白皮书


epub 79-1

Microsoft Word - ch04三校.doc

目 录 第 五 部 分 第 六 部 分 第 七 部 分 第 八 部 分 投 标 邀 请 投 标 人 须 知 附 表 评 标 方 法 和 评 分 细 则 项 目 需 求 和 技 术 方 案 要 求 1

untitled

untitled

FileMaker 15 ODBC 和 JDBC 指南

關於本書 Part 3 CSS XHTML Ajax Part 4 HTML 5 API JavaScript HTML 5 API Canvas API ( ) Video/Audio API ( ) Drag and Drop API ( ) Geolocation API ( ) Part 5

Microsoft Office SharePoint Server MOSS Web SharePoint Web SharePoint 22 Web SharePoint Web Web SharePoint Web Web f Lists.asmx Web Web CAML f

LiveBOS产品白皮书

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

信息

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

LiveBOS产品白皮书

數位圖書館/博物館相關標準 2

Microsoft Word - SPEC

untitled

A9RF716.tmp

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入


chp6.ppt

近四年网络工程专业培养方案.doc

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指

输入 project name 选择完成

Chapter 9: Objects and Classes

<4D F736F F D20B1A6BCA6CAD0C7F8D3F2CEC0C9FAD0C5CFA2C6BDCCA8BBA5C1AABBA5CDA8CAB5CAA9B9E6B7B6>

目录

JavaIO.PDF

OSWorkflow Documentation

epub 61-2

iGENUS爱琴思邮件系统技术白皮书

無障礙網頁開發規範二版(草案)

ebook215-5

epub83-1

untitled

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

概述

RunPC2_.doc

Microsoft Word 招股说明书07.11

<4D F736F F D20B8A3BDA8B6A5B5E3C8EDBCFEB9C9B7DDD3D0CFDEB9ABCBBEB4B4D2B5B0E5CAD7B4CEB9ABBFAAB7A2D0D0B9C9C6B1D5D0B9C9CBB5C3F7CAE9A3A8C9EAB1A8B8E C4EA34D4C23232C8D5B1A8CBCDA3A92E646F63>

範本檔

ebook

D C 93 2

中图分类号:TP393

BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2

“百企入校——广西青年企业家协会高校

温 馨 提 示 一 如 无 另 行 说 明, 投 标 / 报 价 文 件 递 交 时 间 为 投 标 / 报 价 文 件 递 交 截 止 时 间 之 前 30 分 钟 内 二 为 避 免 因 迟 到 而 失 去 投 标 / 报 价 资 格, 请 适 当 提 前 到 达 三 投 标 / 报 价 供 应

結合IC卡之校園安全網頁系統的設計與實現

<4D F736F F D C9CFB0EBC4EACFB5CDB3BCAFB3C9CFEEC4BFB9DCC0EDCAA6C9CFCEE7CAD4BEED>

11 天 山 区 区 环 卫 清 运 队 机 械 工 程 师 4011 C 1 不 限 不 限 机 电 具 有 两 以 工 作 经 12 天 山 区 乌 鲁 木 齐 市 第 15 小 会 计 4012 C 1 不 限 不 限 会 计 财 会 财 电 算 化 临 床 医 预 防 医 公 共 卫 生 与

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

Azure_s

1-1 database columnrow record field 不 DBMS Access Paradox SQL Server Linux MySQL Oracle IBM Informix IBM DB2 Sybase 1-2

目錄

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B

(CIP) Web /,. :, ISBN X.W T P393.4 CIP (2004) Web ( ) ( / ) : * 787

Transcription:

2005/3/3 <k@bioruby.org>

CGI DB REST --- URI REpresentational State Transfer SOAP --- RPC, XML RPC XML Remote Procedure Call SOAP Service Oriented Architecture Protocol SOAP + WSDL Web Service Description Language SOAP + WSDL + UDDI Universal Description, Discovery, and Integration

CGI DB REST --- URI REpresentational State Transfer SOAP --- RPC, XML RPC XML Remote Procedure Call SOAP Service Oriented Architecture Protocol SOAP + WSDL Web Service Description Language SOAP + WSDL + UDDI Universal Description, Discovery, and Integration

DBGET, dbfetch (SRS), BioFetch --- REST Entrez E-Utilities (NCBI) --- REST BioDAS (WormBase, Ensembl ) --- REST XML Central of DDBJ ( ) --- SOAP/WSDL KEGG API ( ) --- SOAP/WSDL EBI Web Services --- SOAP/WSDL ESOAP (SOAP E-Utils) --- SOAP/WSDL

REST BioFetch EMBL http://www.ebi.ac.uk/cgi-bin/dbfetch?db=embl&id=j00231,bum FASTA http://www.ebi.ac.uk/cgi-bin/dbfetch?db=embl&id=j00231,bum&format=fasta BioDAS WormBase http://www.wormbase.org/db/das/elegans/dna?segment=i:1,20000 WormBase http://www.wormbase.org/db/das/elegans/features?segment=i:1,20000

WormBase DAS <?xml version="1.0" standalone="yes"?> <!DOCTYPE DASGFF SYSTEM "http://www.biodas.org/dtd/dasgff.dtd"> <DASGFF> <GFF version="1.01" href="http://www.wormbase.org/db/das/elegans/features?segment=i%3a1%2c20000"> <SEGMENT id="i" start="1" stop="20000" version="1.0"> <FEATURE id="sequence:yk582g6.5/241592" label="yk582g6.5"> <TYPE id="est_match:blat_est_other" category="miscellaneous">est_match:blat_est_other</type> <METHOD id="est_match">est_match</method> <START>1</START> <END>22</END> <SCORE>14.2</SCORE> <ORIENTATION>+</ORIENTATION> <PHASE>0</PHASE> <LINK href="http://www.wormbase.org/db/get?name=yk582g6.5;class=sequence">yk582g6.5</link> <TARGET id="yk582g6.5" start="284" stop="305" /> <GROUP id="sequence:yk582g6.5" type="sequence" /> </FEATURE> <FEATURE id="sequence:yk585b5.5/722458" label="yk585b5.5"> <TYPE id="est_match:blat_est_other" category="miscellaneous">est_match:blat_est_other</type> <METHOD id="est_match">est_match</method> <START>1</START> <END>50</END> <SCORE>12.8</SCORE> <ORIENTATION>-</ORIENTATION> <PHASE>0</PHASE> <LINK href="http://www.wormbase.org/db/get?name=yk585b5.5;class=sequence">yk585b5.5</link> <TARGET id="yk585b5.5" start="119" stop="168" /> <GROUP id="sequence:yk585b5.5" type="sequence" /> </FEATURE> <FEATURE id="161762" label="inverted_repeat:inverted"> <TYPE id="inverted_repeat:inverted" category="miscellaneous">inverted_repeat:inverted</type> <METHOD id="inverted_repeat">inverted_repeat</method>

DAS Distributed Annotation System REST URI XML (DTD) Ensembl UCSC WormBase FlyBase KEGG DAS etc.

KEGG DAS - GBrowse http://das.hgc.jp/ GMOD/GBrowse DAS KEGG 237 KEGG

KEGG DAS http://das.hgc.jp/cgi-bin/gbrowse/eco?name=eco:205563..255562 DAS http://das.hgc.jp/cgi-bin/das/eco/features?segment=eco:205563,255562 <?xml version="1.0" standalone="yes"?> <!DOCTYPE DASGFF SYSTEM "http://www.biodas.org/dtd/dasgff.dtd"> <DASGFF> <GFF version="1.01" href="http://das.hgc.jp/cgi-bin/das/eco/features?segment=eco%3a205563%2c255562"> <SEGMENT id="eco" start="205563" stop="255562" version="1.0"> <FEATURE id="ec:1.1.1.-/649" label="1.1.1.-"> <TYPE id="enzyme:kegg" category="enzyme">enzyme:kegg</type> <METHOD id="enzyme">enzyme</method> <START>229167</START> <END>229970</END> <SCORE>-</SCORE> <ORIENTATION>+</ORIENTATION> <PHASE>0</PHASE> <LINK href="http://www.genome.jp/dbget-bin/www_bget?ec:1.1.1.-">1.1.1.-</link> <GROUP id="ec:1.1.1.-" type="ec" /> </FEATURE> <FEATURE id="ec:1.3.99.-/700" label="1.3.99.-"> <TYPE id="enzyme:kegg" category="enzyme">enzyme:kegg</type> <METHOD id="enzyme">enzyme</method> <START>240859</START>

BioRuby DAS #!/usr/bin/env ruby require 'bio' serv = Bio::DAS.new("http://das.hgc.jp/cgi-bin/") # (eco) 200563 55562 segment = Bio::DAS::SEGMENT.region("eco", 205563, 255562) # DNA results = serv.get_dna("eco", segment) results.each do dna puts dna.sequence end # results = serv.get_features("eco", segment) results.segments.each do segment segment.features.each do feature puts feature.entry_id puts feature.start end end

REST URI

REST XML

SOAP KEGG API http://www.genome.jp/kegg/soap/ DBGET, GENES, XML Central of DDBJ http://xml.ddbj.nig.ac.jp/ DDBJ,, GIB, GTOP, PML etc. EBI Web Services http://www.ebi.ac.uk/tools/webservices/ DBFetch, WU-BLAST, FASTA, InterProScan NCBI ESOAP http://eutils.ncbi.nlm.nih.gov/entrez/query/static/esoap_help.html Entrez (EFetch, ESearch )

SOAP XML SOAP get_genes_by_pathway("path:eco00010") "eco:b0114", "eco:b0115", "eco:b0116",...

WSDL XML <!-- c olor_pathway_by_objects --> <message name="color_pathway_by_objectsrequest"> <part name="pathway_id" type="xsd:string"/> <part name="object_id_list" type="typens:arrayofstring"/> <part name="fg_color_list" type="typens:arrayofstring"/> <part name="bg_color_list" type="typens:arrayofstring"/> </message> <message name="color_pathway_by_objectsresponse"> <part name="return" type="xsd:string"/> </message> <!-- Objects on the pathway --> <!-- get_genes_by_pathway --> <message name="get_genes_by_pathwayrequest"> <part name="pathway_id" type="xsd:string"/> </message> <message name="get_genes_by_pathwayresponse"> <part name="return" type="typens:arrayofstring"/> </message> <!-- get_enzymes_by_pathway --> <message name="get_enzymes_by_pathwayrequest"> <part name="pathway_id" type="xsd:string"/>

SOAP + WSDL (1) WSDL Perl, Python, Ruby, PHP, Java, C#

Ruby #!/usr/bin/env ruby require "soap/wsdldriver" wsdl = "http://soap.genome.jp/kegg.wsdl" serv = SOAP::WSDLDriverFactory.new(wsdl).create_driver # (eco) puts serv.get_genes_by_pathway("path:eco00010") # (eco) list = serv.list_pathways("eco") list.each do path end puts "#{path.entry_id} t#{path.definition} n"

Perl #!/usr/bin/env perl use SOAP::Lite; $wsdl = "http://soap.genome.jp/kegg.wsdl"; $serv = SOAP::Lite -> service($wsdl); # (eco) $list = $serv -> list_pathways("eco"); foreach $path (@{$list}) { } print "$path->{entry_id} t$path->{definition} n";

# (eco) get_genes_by_pathway("path:eco00010") eco:b0114 eco:b0115 eco:b0116 eco:b0356 eco:b0688 : # (eco) list_pathways("eco") path:eco00010 path:eco00020 path:eco00030 path:eco00040 path:eco00051 path:eco00052 path:eco00053 path:eco00061 : Glycolysis / Gluconeogenesis - Escherichia coli K-12 MG1655 Citrate cycle (TCA cycle) - Escherichia coli K-12 MG1655 Pentose phosphate pathway - Escherichia coli K-12 MG1655 Pentose and glucuronate interconversions - Escherichia coli K-12 MG1655 Fructose and mannose metabolism - Escherichia coli K-12 MG1655 Galactose metabolism - Escherichia coli K-12 MG1655 Ascorbate and aldarate metabolism - Escherichia coli K-12 MG1655 Fatty acid biosynthesis (path 1) - Escherichia coli K-12 MG1655

SOAP Ruby Ruby 1.8 Ruby 1.8.2 Perl CPAN SOAP::Lite

Java Apache Axis WSDL org.apache.axis.wsdl.wsdl2java jar CLASSPATH

Java 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]); } } } Axis CLASSPATH % javac -classpath keggapi.jar GetGenesByPathway.java % java -classpath keggapi.jar:. GetGenesByPathway path:eco00010 eco:b0114 eco:b0115 eco:b0116 :

SOAP + WSDL (2) XML XML

XML #!/usr/bin/env ruby require 'soap/wsdldriver' wsdl = "http://soap.genome.jp/kegg.wsdl" serv = SOAP::WSDLDriverFactory.new(wsdl).create_driver # serv.wiredump_dev = STDERR # (eco) puts serv.get_genes_by_pathway("path:eco00010")

SOAP XML Wire dump: opening connection to soap.genome.jp... opened <- "POST /keggapi/request_v3.2.cgi HTTP/1.1\r\nAccept: */*\r\ncontent-type: text/xml; charset=utf-8\r\nuser-agent: SOAP4R/1.5.3-ruby1.8.2\r\nSoapaction: \"SOAP/KEGG#get_genes_by_pathway\"\r\nContent-Length: 336\r\nHost: soap.genome.jp\r\n\r\n" <- "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<env:envelope xmlns:env=\"http://schemas.xmlsoap.org/soap/envelope/\"\n xmlns:xsi=\"http://www.w3.org/2001/xmlschemainstance\">\n <env:body>\n <n1:get_genes_by_pathway xmlns:n1=\"soap/kegg\">\n <pathway_id>path:eco00010</pathway_id>\n </n1:get_genes_by_pathway>\n </env:body>\n</env:envelope>" -> "HTTP/1.1 200 OK\r\n" -> "Date: Thu, 03 Mar 2005 02:02:19 GMT\r\n" -> "Server: Apache/1.3.26 (Unix)\r\n" -> "SOAPServer: SOAP::Lite/Perl/0.55\r\n" -> "Content-Length: 2422\r\n" -> "Content-Type: text/xml; charset=utf-8\r\n" -> "\r\n" reading 2422 bytes... -> "<?xml version=\"1.0\" encoding=\"utf-8\"?><soap-env:envelope xmlns:soap- ENC=\"http://schemas.xmlsoap.org/soap/encoding/\" SOAP- ENV:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:soap- ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/1999/xmlschema-instance\" xmlns:xsd=\"http://www.w3.org/1999/xmlschema\"><soap-env:body><namesp1:get_genes_by_pathwayresponse xmlns:namesp1=\"soap/kegg\"><return SOAP-ENC:arrayType=\"xsd:string[42]\" xsi:type=\"soap-enc:array\"><item xsi:type=\"xsd:string\">eco:b0114</item><item xsi:type=\"xsd:string\">eco:b0115</item><item xsi:type=\"xsd:string\">eco:b0116</item><item xsi:type=\"xsd:string\">eco:b0356</item><item xsi:type=\"xsd:string\">eco:b0688</item><item xsi:type=\"xsd:string\">eco:b0755</item><item

SOAP + WSDL (3) Java Ruby SOAP

# (eco) list = serv.list_pathways("eco") # => ArrayOfDefinition list.each do path # => Definition puts "#{path.entry_id} t#{path.definition} n" end Definition entry_id definition ID (string) (string) <SOAP-ENV:Body><namesp1:list_pathwaysResponse xmlns:namesp1=\"soap/kegg\"> <return SOAP-ENC:arrayType=\"namesp2:SOAPStruct[111]\" xsi:type=\"soap-enc:array\"> <item xsi:type=\"namesp2:soapstruct\"> <definition xsi:type=\"xsd:string\"> Glycolysis / Gluconeogenesis - Escherichia coli K-12 MG1655 </definition> <entry_id xsi:type=\"xsd:string\">path:eco00010</entry_id> </item> <item xsi:type=\"namesp2:soapstruct\"> <definition xsi:type=\"xsd:string\"> Citrate cycle (TCA cycle) - Escherichia coli K-12 MG1655 </definition> <entry_id xsi:type=\"xsd:string\">path:eco00020</entry_id> </item> : path:eco00010 Glycolysis / Gluconeogenesis - Escherichia coli K-12 MG1655 path:eco00020 Citrate cycle (TCA cycle) - Escherichia coli K-12 MG1655 path:eco00030 Pentose phosphate pathway - Escherichia coli K-12 MG1655 :

SSDBRelation genes_id1 genes_id2 sw_score bit_score identity overlap start_position1 end_position1 start_position2 end_position2 best_flag_1to2 best_flag_2to1 definition1 definition2 length1 length2 genes_id (string) genes_id (string) genes_id1 genes_id2 Smith-Waterman (int) genes_id1 genes_id2 bit (float) genes_id1 genes_id2 (float) genes_id1 genes_id2 (int) genes_id1 (int) genes_id1 (int) genes_id2 (int) genes_id2 (int) genes_id1 genes_id2 (boolean) genes_id2 genes_id1 (boolean) genes_id1 (string) genes_id2 (string) genes_id1 (int) genes_id2 (int) # b0002 list = serv.get_best_best_neighbors_by_gene("eco:b0002", 1, 100) list.each do hit puts hit.genes_id1 # => eco:b0002 eco:b0002 puts hit.genes_id2 # => ecj:jw0001 bsu:bg10350 puts hit.sw_score # => 5283 561 end

SOAP WSDL SAX REST

(1) # serv.options["protocol.http.connect_timeout"] = 60 serv.options["protocol.http.receive_timeout"] = 600 # begin results = serv.send(*arg) rescue Timeout::Error retry end

(2) Proxy http_proxy # Ruby (SOAP4R) setenv SOAP_USE_PROXY on setenv HTTP_PROXY my.proxy.server:8080 #!/usr/bin/env perl use strict; use SOAP::Lite; my $wsdl = "http://soap.genome.ad.jp/kegg.wsdl"; my $results = SOAP::Lite -> proxy("$wsdl", proxy => "http://my.proxy.server/") -> get_pathways_by_enzymes( SOAP::Data->name(data=>['ec:1.3.99.1'])); foreach (@{$results}) { print $_,"\n"; }

: #!/usr/bin/env ruby require 'bio' serv = Bio::KEGG::API.new # hsa:7368 homologs = serv.get_all_best_neighbors_by_gene("hsa:7368") homologs.each do hit gene = hit.genes_id2 # if motifs = serv.get_motifs_by_gene(gene, "pfam") motifs.each do motif name = motif.motif_id desc = motif.definition puts "#{gene}: #{name} #{desc}" end end end

: 㐿ఎᏄ 䜘䝕䜽䜪䜫䜨䛱䝢䝇䝘䝷䜴 serv = Bio::KEGG::API.new list = serv.get_genes_by_pathway("path:bsu00020") fg_colors = Array.new bg_colors = Array.new list.each do gene fg_colors << "black" bg_colors << ratio2rgb(gene) # 遺伝子名と色の対応 end url = serv.color_pathway_by_objects( "path:bsu00020", list, fg_colors, bg_colors)

PDB #!/usr/bin/env ruby require 'bio' serv = Bio::KEGG::API.new # path = ARGV.shift "path:eco00010" genes = serv.get_genes_by_pathway(path) # PDB results = Hash.new genes.each do gene if pdb_links = serv.get_all_linkdb_by_entry(gene, "pdb") pdb_links.each do link results[gene] = true end end end # url = serv.mark_pathway_by_objects(path, results.keys) # serv.save_image(url, "pdb.gif")

#!/usr/bin/env ruby require 'bio' ### KEGG API kegg = Bio::KEGG::API.new list = kegg.get_all_paralogs_by_gene("eco:b0002") genes = Array.new list.each do hit genes << hit.genes_id2 end seqs = kegg.get_aaseqs(genes) ### DDBJ XML ddbj = Bio::DDBJ::XML::ClustalW.new puts ddbj.analyzesimple(seqs)

ID DDBJ KEGG LSID

BioMOBY UDDI http://www.biomoby.org/

HTML XML

KEGG API KEGG HTML Oracle SQL HTML/CGI Perl SOAP::Lite

KEGG API PATHWAY GENES/SSDB pre-calc Pfam DBGET

KEGG API HTML RDB KEGG