Я пытаюсь экспортировать выровненные последовательности в файл fasta один за другим, используя Bio::SeqIO
. В результате последовательности разбиваются на новую строку каждые 60 столбцов. Как этого избежать?
Я бы хотел, чтобы последовательности экспортировались в «широком» формате, т. Е. В последовательности не было строк.Экспорт последовательностей в быстрый формат fasta
Мой код примерно:
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);
}
Глупая идея, которая на самом деле не отвечает на вопрос. Но если это только то, что вы планируете делать только один или несколько раз, вы, возможно, могли бы скомбинировать один лайнер, чтобы удалить новые строки. Что-то вроде, удалите все строки новой строки из строк, которые не начинаются с «>». Затем вы можете заменить «>» на «\ n>», чтобы вернуть новую строку перед каждым заголовком. –
Да, это в значительной степени то, что я закончил делать в конце. Просто подумал, что может быть более элегантный способ. –