24小时热门版块排行榜    

查看: 3408  |  回复: 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

铁杆木虫 (著名写手)

这个新的代码可以过滤掉文件2的蛋白序列,只看>后面的内容
蛋白名称只认RecName及其后面的字符串(后面如果有AltName,也会显示出来),
perl处理数据归根结底就是找规律,总结出的规律与事实不符就会出现错误。
至于SOH符号,我不知道是啥,留着对结果应该没什么影响:


#!/usr/bin/perl

my $list_file="11111111.txt";
my $tb_file="nr.txt";
my ($ll,$i,$nm,%gi1,%gi2,@f,@g);

open INCLUDE, ">include.txt" || die "Can't open include.txt";
open TMP, $list_file || die "Can't open $list_file";

while($ll = <TMP> {
        chomp $ll;
        @f=split/\|/,$ll;
        $gi1{$f[1]}++;
        $gi2{$f[1]}=$ll;
}
close(TMP);

open(TMP, $tb_file) || die;
while($ll = <TMP> {
  if($ll=~/^\>gi/) {
        chomp $ll;
        $ll=~s/\>gi\|//;
        @g=split/gi\|/,$ll;
        foreach $i (@g) {
                @f=split/\|/,$i;
                        while ($gi1{$f[0]}){
                                $nm=$f[3];
                                $nm=~s/.* RecName/RecName/;
                                print INCLUDE "$gi2{$f[0]}\t$nm\n";
                                $gi1{$f[0]}--;
                        }
        }
  }
}
close TMP;
close INCLUDE;
19楼2014-10-21 23:06:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 22 个回答

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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 hNpp4Y2CGvSC 2026-11-04 13/650 2026-11-11 09:22 by Equinoxhua
[考研] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 czAiolzR0IJC 2026-11-10 3/150 2026-11-11 09:07 by 1Nb0IVlmV6v0
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 cqv1zKnzd7hr 2026-11-09 5/250 2026-11-11 07:08 by Z7qfCsdIiD1T
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 zSbvVX9JFl9J 2026-11-09 5/250 2026-11-11 07:03 by Z7qfCsdIiD1T
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 FChKX8meu1ds 2026-11-09 9/450 2026-11-11 04:54 by Z7qfCsdIiD1T
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 FChKX8meu1ds 2026-11-09 6/300 2026-11-11 04:32 by Z7qfCsdIiD1T
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 FChKX8meu1ds 2026-11-09 5/250 2026-11-11 04:29 by Z7qfCsdIiD1T
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 zSbvVX9JFl9J 2026-11-09 6/300 2026-11-11 03:56 by Z7qfCsdIiD1T
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +4 FChKX8meu1ds 2026-11-09 6/300 2026-11-11 01:54 by Z7qfCsdIiD1T
[考研] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 cqv1zKnzd7hr 2026-11-09 5/250 2026-11-11 01:24 by Z7qfCsdIiD1T
[教师之家] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 cqv1zKnzd7hr 2026-11-09 5/250 2026-11-10 20:45 by Z7qfCsdIiD1T
[教师之家] 延安大学回应“副教授留绝笔信”:确已离世,正核实举报内容 +4 yexuqing 2026-11-04 6/300 2026-11-10 11:13 by susizheng
[文学芳草园] 厉娜 +3 张丹枫1991 2026-11-09 5/250 2026-11-09 16:53 by 张丹枫1991
[考博] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 kvewwGtKktqB 2026-11-04 12/600 2026-11-09 13:26 by Equinoxhua
[考研] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 ttH3f1oA6ace 2026-11-04 15/750 2026-11-09 13:19 by Equinoxhua
[公派出国] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 5sJFDKp2kwuI 2026-11-06 8/400 2026-11-09 00:14 by l48hFd8Nwae2
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +5 5sJFDKp2kwuI 2026-11-06 9/450 2026-11-08 22:46 by l48hFd8Nwae2
[公派出国] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +6 ttH3f1oA6ace 2026-11-04 12/600 2026-11-06 16:10 by 5sJFDKp2kwuI
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 kvewwGtKktqB 2026-11-04 14/700 2026-11-06 05:10 by qL1cU46YIdK0
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +6 kvewwGtKktqB 2026-11-04 16/800 2026-11-06 05:00 by qL1cU46YIdK0
信息提示
请填处理意见