Обновлено 10.05.2012 Автор: Administrator
Существенно облегчить работу с KEGG можно, написав скрипты, которые используют KEGG API. Приведены примеры для Perl и R.
По адресу http://www.genome.jp/kegg/soap/doc/keggapi_manual.html размещено описание API, который позволяет вызывать сервисы KEGG из ваших программ посредством SOAP. На странице описаны примеры использования для Perl, Java и Ruby, хотя по идее все должно работать с любым языком, поддерживающим SOAP/WSDL.
Пример вызова из Perl
use SOAP::Lite; # конечно, этот модуль должен быть установлен # произносим магическое заклинание и подсоединяемся к KEGG $wsdl = 'http://soap.genome.jp/KEGG.wsdl'; $serv = SOAP::Lite -> service($wsdl); # получить ген b1940 из E.Coli K12 $result = $serv -> bget("eco:b1940"); # получить все гены, которые принадлежат к кластеру KEGG Orthology @result = $serv->get_genes_by_ko('ko:K02982', 'all'); # выделить заданные гены на картинке с гликолизом $genes = SOAP::Data->type(array => ["eco:b1002", "eco:b2388"]); $result = $serv -> mark_pathway_by_objects("path:eco00010", $genes); print $result; # здесь хранится URL сгенерированный картики # получить все гены E.coli с заданной EC-классификацией @result = $serv -> get_genes_by_enzyme('ec:1.2.1.1', 'eco')
Пример вызова из R
Вам потребуется установить пакеты XMLSchema и SSOAP. Оба этих пакета не включены в CRAN и их нужно брать отсюда - www.omegahat.org/SSOAP/ и www.omegahat.org/XMLSchema/ Пакеты поставляются только в исходниках, поэтому пользователям R под Windows нужно дополнительно установить RTools и скомпилировать пакеты.
Применение этих пакетов для KEGG SOAP показано в пакете KEGGSOAP (входит в Bioconductor). Однако там реализованы далеко не все функции KEGG API. Приведу пример заклинания для вызова произвольной функции KEGG API на примере get_genes_by_ko(), которая возвращает идентификаторы генов принадлежащих заданной группе ортологов.
library(SSOAP); library(XMLSchema); KEGGserver = SOAPServer("soap.genome.jp", url="/keggapi/request_v6.2.cgi"); res = .SOAP(KEGGserver, "get_genes_by_ko", .soapArgs=list('ko_id' = 'ko:K08289', 'org'='all'), action="SOAP/KEGG", xmlns = "SOAP/KEGG", nameSpaces = SOAPNameSpaces(version="1.2"))
Пользоваться всем этим очень удобно, работает относительно быстро. Если возникнут вопросы - задавайте их в комментах, попробуем вместе разобраться.
< Предыдущая | Следующая > |
---|