1

我正在尝试使用Bio::SeqIO. 结果是序列每 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);
}
4

1 回答 1

2

Bio::SeqIO::fasta 提供了一种width方法来指定应如何格式化书面 FASTA 记录:

while (my $seq = $seqin->next_seq) {
    $seqout->width($seq->length);
    $seqout->write_seq($seq);
}

或者当然,如果你的序列有一些最大尺寸,你可以只放一个

$seqout->width(5000);

左右在循环之前。

于 2013-02-26T23:55:28.653 回答