24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2807  |  回复: 21

大爷给跪了

新虫 (小有名气)

[求助] 本地化blast注释后,想从结果中的Subject Seq-id得到Nr-annotation,求大神指导。已有1人参与

如题,现在注释结果已经出来,其中Subject Seq-id(也就是比对到的nr数据库中的gi)放进一个txt文件中,如图1。
这时候,我想根据这个txt,把nr数据库(如图2)中,这些gi所代表的基因的名称一起找出来,一对一输入一个excel中。
如图2中gi|67472372|sp|P0A7T7.2|RS18_ECOLI是nr水库中的,它在txt中,想找出它后的RecName: Full=30S ribosomal protein S18 [Escherichia coli K-12](对这个基因的说明和名字)。

本地化blast注释后,想从结果中的Subject Seq-id得到Nr-annotation,求大神指导。
图1.jpg


本地化blast注释后,想从结果中的Subject Seq-id得到Nr-annotation,求大神指导。-1
图2.jpg
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

peterrjp

铁杆木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
用perl脚本很容易实现,现成的脚本我有,不过功能和参数比较多,怕你不会用,晚上给你弄个简化版

» 本帖已获得的红花(最新10朵)

2楼2014-10-21 18:05:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

大爷给跪了

新虫 (小有名气)

送红花一朵
引用回帖:
2楼: Originally posted by peterrjp at 2014-10-21 18:05:07
用perl脚本很容易实现,现成的脚本我有,不过功能和参数比较多,怕你不会用,晚上给你弄个简化版

万分感谢啊

» 本帖已获得的红花(最新10朵)

3楼2014-10-21 19:22:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

peterrjp

铁杆木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
大爷给跪了: 金币+20, ★★★★★最佳答案 2014-10-21 20:05:45
代码如下,请粘贴到空白文档,保存成.pl文件
用法:假设你的第一个文件是11111111.txt(你的图1), 第二个文件是nr.txt(你的图2),双击pl脚本,产生的include.txt就是你要的结果,可以用excel打开,自动会分成两列,第一列gi编号,第二列是编码蛋白名称

#!/usr/bin/perl
my $list_file="11111111.txt"; # 输入文件1
my $tb_file="nr.txt"; # 输入文件2
my ($ll,%gi1,@f);
open INCLUDE, ">include.txt" || die "Can't open include.txt";
open TMP, $list_file || die "Can't open $list_file";
while($ll = <TMP> {
        @f=split/\|/,$ll;
        $gi1{$f[1]} = 1;
}
close(TMP);
open(TMP, $tb_file) || die;
while($ll = <TMP>{
    chomp $ll;
        @f=split/\|/,$ll;
    if ($gi1{$f[1]}){
        print INCLUDE "$f[1]\t$f[4]\n";
    }
}
close TMP;
close INCLUDE;

» 本帖已获得的红花(最新10朵)

4楼2014-10-21 19:40:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

大爷给跪了

新虫 (小有名气)

引用回帖:
4楼: Originally posted by peterrjp at 2014-10-21 19:40:34
代码如下,请粘贴到空白文档,保存成.pl文件
用法:假设你的第一个文件是11111111.txt(你的图1), 第二个文件是nr.txt(你的图2),双击pl脚本,产生的include.txt就是你要的结果,可以用excel打开,自动会分成两 ...

好多害羞的脸啊。。。
5楼2014-10-21 19:53:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

peterrjp

铁杆木虫 (著名写手)

【答案】应助回帖

引用回帖:
5楼: Originally posted by 大爷给跪了 at 2014-10-21 19:53:36
好多害羞的脸啊。。。...

表情一律改成英文输入法的右括号。显示问题
6楼2014-10-21 19:55:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

大爷给跪了

新虫 (小有名气)

送红花一朵
引用回帖:
3楼: Originally posted by 大爷给跪了 at 2014-10-21 19:22:07
万分感谢啊...

已经在试了
万分感谢
7楼2014-10-21 20:05:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

大爷给跪了

新虫 (小有名气)

引用回帖:
4楼: Originally posted by peterrjp at 2014-10-21 19:40:34
代码如下,请粘贴到空白文档,保存成.pl文件
用法:假设你的第一个文件是11111111.txt(你的图1), 第二个文件是nr.txt(你的图2),双击pl脚本,产生的include.txt就是你要的结果,可以用excel打开,自动会分成两 ...

大神  结果不对啊
24417280         unknown [Arabidopsis thaliana]
15234745         UDP-D-glucuronate 4-epimerase 1 [Arabidopsis thaliana]gi
15234486         UDP-D-glucuronate 4-epimerase 5 [Arabidopsis thaliana]gi
15293119         putative nucleotide sugar epimerase [Arabidopsis thaliana]
21536982         nucleotide sugar epimerase, putative [Arabidopsis thaliana]
37781356         nematode resistance-like protein [Solanum tuberosum]
而且数量也不对
8楼2014-10-21 21:12:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

大爷给跪了

新虫 (小有名气)

引用回帖:
8楼: Originally posted by 大爷给跪了 at 2014-10-21 21:12:41
大神  结果不对啊
24417280         unknown
15234745         UDP-D-glucuronate 4-epimerase 1 gi
15234486         UDP-D-glucuronate 4-epimerase 5 gi
15293119         putative nucleotide sugar epimerase
21536982         nucleoti ...

txt中原数据是:
gi|571510024|ref|XP_006596207.1|
gi|571465848|ref|XP_006583492.1|
gi|357514699|ref|XP_003627638.1|
gi|657373209|gb|KEH18959.1|
gi|357514703|ref|XP_003627640.1|
gi|657372565|gb|AET01655.2|
gi|571474956|ref|XP_006586404.1|
gi|357513781|ref|XP_003627179.1|
gi|358344433|ref|XP_003636294.1|
gi|357518219|ref|XP_003629398.1|
gi|358345567|ref|XP_003636848.1|
gi|358343944|ref|XP_003636055.1|
gi|358343904|ref|XP_003636035.1|
9楼2014-10-21 21:16:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

peterrjp

铁杆木虫 (著名写手)

引用回帖:
8楼: Originally posted by 大爷给跪了 at 2014-10-21 21:12:41
大神  结果不对啊
24417280         unknown
15234745         UDP-D-glucuronate 4-epimerase 1 gi
15234486         UDP-D-glucuronate 4-epimerase 5 gi
15293119         putative nucleotide sugar epimerase
21536982         nucleoti ...

那个脚本是利用|符号来分割每行数据的,对于你的文件2,脚本会取出分割后的第2(gi号)和第5个(蛋白名称)区段放进输出结果里
如果要正常运行,必须确保这个规则是适用于每一行。你多贴一些文件2的内容出来看看吧(比如那些你认为脚本运行出错了的行)。或者把两个文件发我邮箱caueducn@yeah.net

还有个很重要的规则是,你要确保文件1的gi号都是唯一的;如果gi号不是唯一,或者在文件2并不包含文件1的全部gi号,那么出来的结果就会少一些。
10楼2014-10-21 21:25:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 大爷给跪了 的主题更新
信息提示
请填处理意见