注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

wangyufeng的博客

祝愿BB 健康开心快乐每一天

 
 
 

日志

 
 

使用bioPerl去掉特定长度的序列&提取motif上下游一定长度的序列  

2011-10-11 12:13:26|  分类: Perl & bioperl |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

问题1 去掉特定长度的短序列
若要去除其中小于五十碱基的序列,请问如何操作;
      问题2 取motif上下游一定长度的序列(含motif)
假如我要取每个序列中motif为“AAAA”及其上下游10个碱基的序列片段,并输出位置信息,请问如何编程处理

第一个问题,除去 < 50 bp 的序列,可以直接用 bioperl



use Bio::SeqIO;
my $o_seqi = Bio::SeqIO->new(
-file => $infile,
-format => 'fasta',
);
my $o_seqo = Bio::SeqIO->new(
-file => ">$outfile",
-format => 'fasta',
);
while (my $o_seq = $o_seqi->next_seq) {
next if ($o_seq->length < 50);
$o_seqo->write_seq($o_seq);
}

第二个,同样用 bioperl


use Bio::SeqIO;
my $o_seqi = Bio::SeqIO->new(
-file => $infile,
-format => 'fasta',
);
my $pattern = 'AAAA';
while (my $o_seq = $o_seqi->next_seq) {
my $seq = $o_seq->seq;   # 提取序列,成为一个字符串
if ($seq =~ /(.{10}$pattern.{10})/) {
print $1;
}
}
说明:以上脚本纯属转载,请自行验证。
转自:
http://www.cnblogs.com/ace9/archive/2011/04/29/2032756.html
  评论这张
 
阅读(1074)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017