按文件数目拆分fasta——无事闲写

#!/usr/bin/env perl
use warnings;
use strict;


die "Usage: perl $0 <fasta> <split number> <outprefix>\n" if(@ARGV ne 3);


open FA, $ARGV[0] or die $!;
$/ = "\n>";
my @fa;
while(<FA>)
{
	chomp;
	s/^>//;
	push @fa, $_;
}


my $n = int(@fa / $ARGV[1]);
for(my $i = 0; $i < $ARGV[1]; $i ++)
{
	open OUT, "> $ARGV[2].$i.fasta" or die $!;
	for(my $j = 0; $j < $n; $j ++)
	{
		my $a = shift @fa;
		print OUT ">$a\n";
	}
}
foreach(@fa)
{
	print OUT ">$_\n";
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值