背景介绍:
1. 自2012年7月,KEGG不再免费提供FTP下载数据服务,用户需要付费获取一定时间的数据FTP下载服务 (~$2000/year)。这对批量下载KEGG数据的用户有所影响,但对手动少量下载或者通过API获取数据的用户并没有太大影响。
2. 自2012年7月1日,KEGG的API service 更新为基于REST API, 替代了原有的SOAP. 因而用Perl 进行数据获取时需要使用LWP package, 而非SOAP package.
实现步骤:
1. 安装perl:Windows下可安装activeperl 解释器实现,在linux下一般在安装系统时已自带。
2. 安装LWP模块:高级的perl 版本中已自带LWP 模块,可在lib文件夹下查询。
如果没有安装,可通过如下两个途径进行安装:
进入源目录,
Perl Makefile.PL;
make;
make install。
(2)自动安装 (类似安装R包的bioClite):
shell>Perl-MCPAN-eshell
cpan>installmodule_name
Perl会自动连接网站,下载相应的模块。但是有些模块的安装要依赖于其他模块,所以也要同时安装其他依赖的模块(这点和R很像)。
LWP是多个perl module 的集合,这里的应用主要是对网页的获取,因而其中的LWP:Simple就已足够。
示例 (Test.pl):
#!/usr/bin/perl
use strict;
use warnings;
use LWP::Simple;
my $url = '
http://rest.kegg.jp/info/pathway';
# ACME boomerang
my $response = get $url;
die 'Error getting $url' unless defined $response;
print "$responsen";
执行程序: perl test.pl
输出结果:
pathway KEGG Pathway Database
path Release 71.0+/08-17, Aug 14
Kanehisa Laboratories
302,971 entries
该脚本为获取当前KEGG数据库中Pathway的统计概况,共计 302,971条记录。
主要实现功能有:
1)info: 获取相应数据库的统计信息
2) list: 获取相应数据库详细记录信息。
3)find: 相应数据库的查询功能
4)get: 获取相应条目的详细信息(比如这里获取每个pathway map的详细信息)
5)conv: 数据库ID的转换功能
6)link: 获取两个数据库条目的对应信息(例如获取每个human gene所涉及到的pathway 信息)。
https://blog.sciencenet.cn/blog-689440-840645.html
上一篇:
Cygwin - Windows下的Linux模拟器下一篇:
非root用户在linux服务器安装python package