挖掘PubMed数据库,获取报道的或推测新的基因调控关系
生信宝典之傻瓜式推出过基于Cytoscape的插件literature search
进行文献挖掘查找指定基因调控网络的方。
近来发现一款神奇的在线工具 (Chilibot, ch
ip li
terature robot
, http://chilibot.net/)可以完成同样的分析,而且看上去功能还更强大。
结果展示
采用两个关键词cocaine
和plasticity
(蓝色节点)配对搜索获得cocain
治疗对可塑性的影响相关的一系列基因。基因的颜色代表表达值(绿色是上调,红色是下调)。连线上的数字代表这一关系的权重 (后面有计算方式)。点击每个点,可以查看对应的文献信息或针对该节点进行进一步分析。
配对搜索
如下做配对搜索,查看给定的基因、通路、疾病之间存在的互作。
image提交后,展示搜索进程和语义分析
image获得互作结果, 左侧是网络图,右侧是图例。图中的数字代表支持两个节点关系的权重。
image每个节点可进一步点击查看, 获取包含此节点的文献和文献中的语句。每个边也可以进一步点击查看,获取包含这个调控关系的文献和对应的语句,不失为一个快读读文献的工具。
image image双列表搜索
第1
个列表中的关键字会互相配对搜索它们之间的关系,然后每个再与第2
个列表中的关键字配对搜索对应的关系。
List 1
BDNF
TRKB
TRKC
CHRNA7
PSD95
CREB
HPRT
ARC
NUR77
List 2
APOPTOSIS (programed cell death; PCD)
Hippocampus
STEM CELLS
image.gif
结果如下,一个比较复杂的网络。
image.gif点击某个节点可绘制以该节点为中心的网络,还可以根据网络中的连通性推测出之前未被报道的调控关系,比如Apoptosis
与ARC
没有文献报道,但他们都与网络中的6个基因有调控关系,那么他们之间可能也会有调控关系,就形成了一个新的假说。
如果网络中的节点不能点击,点一下sort nodes by number of relationships
刷新下网络就可以了。
展示表达值
输入如下,基因名字后面跟上基因的表达倍数变化 (空格分开)
image节点的颜色根据表达量标记了红色(下调)和绿色(上调),与常规不太一致。
image具体的上色方式见下 (数值为fold change
不能取对数):
权重计算
Words suggesting a conclusion, such as “suggest”, “found”, “show”, “data” etc weights as +9 points. Starting the sentence with the query term and a verb weights as +5 points. The presence of words suggesting a negative result such as “not”, “lack”, “fail”, “without” is weighted as -3 points. Having more than 30 words also reduces the weight by 3 points. Lastly, having keywords specified by the user adds 5 points to the weight. The 15 sentences with the highest weights are displayed.
程序查询
文中也提供了一个程序化获取方式,以Perl语言为例,其他程序语言也可以,本质是网页提交和抓取。
#!/usr/local/bin/perl
use LWP::Simple qw(get);
# Provide your email address so that you receive a notification when a query is done (if more than 6 terms are queried).
my $email="me\@my.domain";
#my $sessionName="testing"; # session name is optional
my $terms="apoptosis\ncreb\nbdnf\n";
&searchChilibot ($email, $sessionName, $terms);
sub searchChilibot{
my $email=shift;
my $sessionName=shift;
my $terms=shift;
my $url="http://www.chilibot.net/cgi-bin/chilibot/chilibot.cgi?email=$email&IN=t&list=$terms&name=$sessionName";
print "Waiting for Chilibot response (may take a while) ..\n";
my $response=get ($url);
if ( $response=~m|Done!.+?<a href=(.+index\.html)|){
print "search is done: http://www.chilibot.net$1\n";
}
if ($response=~m|<div *class=\"warning\">(.*)</div>|){
print "error:$1\n";
}
}