perl代码实现fasta序列多行转一行
程序员文章站
2022-04-24 09:48:41
...
有的时候,很多fasta文件是这个样子的:
但是,有些软件或者程序只能是一行id,一行序列的读取。这就要求我们需要将上述格式序列多行转一行。下面这段代码可以解决上述问题。
#!/usr/bin/perl
use strict;
use warnings;
my $id;
my $seq;
open IN,"$ARGV[0]" or die "Can't open fasta file!";
local $/ = ">";
<IN>;##第一个">"过掉
while (<IN>) {
chomp;
my ($id,$seq)=(split /\n/,$_,2)[0,1];##以回车符“\n”为分割符号
$seq =~s/\n//g;##替换掉序列内的回车符
print ">$id\n$seq\n";
}
close IN;
推荐阅读