24小时热门版块排行榜    

查看: 431  |  回复: 2

wang4681060

铁虫 (小有名气)

[求助] perl 已有1人参与

我做了个blast,m8格式,我想从blast结果里提取query-start到query-end这一段query序列,求大神帮写个perl代码,不甚感激!!!
Contig203       gi|157325286|ref|YP_001468706.1|_TerL_Listeria_phage_B054       27.83   503     341     14      1255    2697    5       469     9e-58    201
就是从Contig203中提取1255到2697这一段序列,输出
>Contig203-gene_1
序列
第二个提取的序列>ContigXXX-gene_2
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wizardfan

至尊木虫 (著名写手)

优秀版主

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
kx444555: 金币+3, 鼓励交流 2014-09-30 12:36:29
基本思路
1. 读取fasta文件,存入一个hash,key为contig***, value为具体序列
2. 读取blast 结果文件
每行 my ($id, undef, undef, undef, undef, undef, undef, $start, $end) = split("\t", $line)
3. 获得序列
$seq = $hash{$id};
my $result = substr ($seq, $start, $end-$start+1);
2楼2014-09-30 06:25:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wang4681060

铁虫 (小有名气)

引用回帖:
2楼: Originally posted by wizardfan at 2014-09-30 06:25:28
基本思路
1. 读取fasta文件,存入一个hash,key为contig***, value为具体序列
2. 读取blast 结果文件
每行 my ($id, undef, undef, undef, undef, undef, undef, $start, $end) = split("\t", $line)
...

大神,麻烦写个具体的代码行吗,我没学过perl不会写。
3楼2014-09-30 14:03:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wang4681060 的主题更新
信息提示
请填处理意见