挖掘PubMed数据库,获取报道的或推测新的基因调控关系

2019-10-14 12:13:51 浏览数 (2)

生信宝典之傻瓜式推出过基于Cytoscape的插件literature search进行文献挖掘查找指定基因调控网络的方。

近来发现一款神奇的在线工具 (Chilibot, chip literature robot, http://chilibot.net/)可以完成同样的分析,而且看上去功能还更强大。

结果展示

采用两个关键词cocaineplasticity (蓝色节点)配对搜索获得cocain治疗对可塑性的影响相关的一系列基因。基因的颜色代表表达值(绿色是上调,红色是下调)。连线上的数字代表这一关系的权重 (后面有计算方式)。点击每个点,可以查看对应的文献信息或针对该节点进行进一步分析。

配对搜索

如下做配对搜索,查看给定的基因、通路、疾病之间存在的互作。

提交后,展示搜索进程和语义分析

获得互作结果, 左侧是网络图,右侧是图例。图中的数字代表支持两个节点关系的权重。

每个节点可进一步点击查看, 获取包含此节点的文献和文献中的语句。每个也可以进一步点击查看,获取包含这个调控关系的文献和对应的语句,不失为一个快读读文献的工具。

双列表搜索

1个列表中的关键字会互相配对搜索它们之间的关系,然后每个再与第2个列表中的关键字配对搜索对应的关系。

List 1

代码语言:javascript复制
BDNF
TRKB
TRKC
CHRNA7
PSD95
CREB
HPRT
ARC
NUR77

List 2

代码语言:javascript复制
APOPTOSIS (programed cell death; PCD)
Hippocampus
STEM CELLS

结果如下,一个比较复杂的网络。

点击某个节点可绘制以该节点为中心的网络,还可以根据网络中的连通性推测出之前未被报道的调控关系,比如ApoptosisARC没有文献报道,但他们都与网络中的6个基因有调控关系,那么他们之间可能也会有调控关系,就形成了一个新的假说。

如果网络中的节点不能点击,点一下sort nodes by number of relationships刷新下网络就可以了。

展示表达值

输入如下,基因名字后面跟上基因的表达倍数变化 (空格分开)

节点的颜色根据表达量标记了红色(下调)和绿色(上调),与常规不太一致。

具体的上色方式见下 (数值为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语言为例,其他程序语言也可以,本质是网页提交和抓取。

代码语言:javascript复制
#!/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="apoptosisncrebnbdnfn";

&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$1n";
    }
    if ($response=~m|<div *class="warning">(.*)</div>|){
        print "error:$1n";
    }
}

0 人点赞