[英]Using Bioperl to alter nucleotides at specific positions in fasta file?
[英]BioPerl with clustalw - outputting file
我有一個perl腳本來自動執行許多多重對齊(我首先僅用一個文件和一個多重對齊來制作腳本-雖然很大。我可以修改多個文件),我想輸出結果文件,但是我不確定如何使用AlignIO:到目前為止,我有:
use warnings;
use strict;
use Bio::AlignIO;
use Bio::SeqIO;
use Bio::Tools::Run::Alignment::Clustalw;
my $file = shift or die; # Get filename from command prompt.
my $factory = Bio::Tools::Run::Alignment::Clustalw->new(-matrix => 'BLOSUM');
my $ktuple = 3;
$factory->ktuple($ktuple);
my $inseq = Bio::SeqIO->new(
-file => "<$file",
-format => $format
);
my $seq;
my @seq_array;
while ($seq = $inseq->next_seq) {
push(@seq_array, $seq);
}
# Now we do the actual alignment.
my $seq_array_ref = \@seq_array;
my $aln = $factory->align($seq_array_ref);
對齊完成后,我有$ aln,這是我想作為fasta文件退出流程的對齊方式-我嘗試了類似的方法:
my $out = Bio::AlignIO->new(-file => ">outputalignmentfile",
-format => 'fasta');
while( my $outaln = $aln->next_aln() ){
$out->write_aln($outaln);
}
但這沒有用,大概是因為next_aln()方法僅適用於AlignIO事物,而$ aln可能不適用。 所以我需要知道my $aln = $factory->align($seq_array_ref);
行生成的是什么my $aln = $factory->align($seq_array_ref);
以及如何將比對的序列輸出到文件中。 我的下一步是樹估計或網絡分析。
謝謝,本
$out->write_aln($outaln);
是寫入clustalw行返回的對象以將對象輸出到該流所需的唯一行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.