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

wangyufeng的博客

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

 
 
 

日志

 
 

基因组分析Perl脚本学习  

2010-11-13 12:23:37|  分类: Perl & bioperl |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
    A perl script to split a fasta file with multiple contigs 
into separate fasta files.


######Separates a set of FASTA-format sequences in the file named as the first argument into individual files, each of which is
at least as long as the second argument. Sequences shorter than the second argument are
ignored. The name of each new file is the name of the contig.
#!/usr/local/bin/perl
unless (@ARGV == 2) {
print <<EOH;
Usage: $0 input.file min_size_contig
Examples:
$0 fasta.screen.contigs 1000 #####creates individual files from the input file fasta.screen.contigs
for all contigs at least 1000 bases long.

$0 another.fasta.file 1 ####creates individual files from the input file another.fasta.
file for all contigs.
EOH
exit 0;
}
sub dump_seq {
my($name, $seq) = @_;
$name1 = $name;
$name1 =~ s/>//;
$name1 =~ s/^(\S*).*$/$1/;
open HUNK,">$name1" or die $!;
print HUNK "$name \n";
print HUNK $seq;
close HUNK;
}
open BIG,$ARGV[0] or die $!;
while (<BIG>) {
if ($_ =~ /Contig|^>/) {
if ($len >= $ARGV[1]) {
dump_seq($name, $seq);
}
chomp;
$name = $_;
$seq = ''; $len = 0;
} else {
$seq .= $_;
$len += length($_) - 1;
}
}
dump_seq($name, $seq);
close BIG;



  评论这张
 
阅读(774)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

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

页脚

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