我正在尝试使用Bio::SeqIO
将对齐的序列逐个导出到fasta文件中。
结果是序列被每60列一条新线断开。
我该如何避免呢?
我希望以“宽”格式导出序列,即序列中没有换行符。
我的代码大致是:
use Bio::SeqIO;
my $seqin = Bio::SeqIO->new(-file => "<$fastaFile", '-format' => 'Fasta');
my $outname = fileparse($fastaFile, qr/\.[^\.]*$/) . "_sub.fasta";
my $seqout = Bio::SeqIO->new(-file => ">$outname", '-format' => 'Fasta');
while(my $seq = $seqin->next_seq){
# do something with $seq
$seqout->write_seq($seq);
}
答案 0 :(得分:2)
Bio :: SeqIO :: fasta提供width
method来指定如何格式化写入的FASTA记录:
while (my $seq = $seqin->next_seq) {
$seqout->width($seq->length);
$seqout->write_seq($seq);
}
当然,如果你的序列有一些最大尺寸,你可以只放一个
$seqout->width(5000);
在循环之前左右。