Re: [問題]關於bioperl:::clustalW
※ 引述《plankton (我..憑什麼)》之銘言:
: ※ 引述《seagal (待救的小米)》之銘言:
: 這位大大..首先非常謝謝你回答我的問題
: : 這是我從tutorial cut下來的
: : --------------------------------
: : use Bio::Tools::Run::Alignment::Clustalw;
: : @params = ('ktuple' => 2, 'matrix' => 'BLOSUM');
: : $factory = Bio::Tools::Run::Alignment::Clustalw->new(@params);
: : $ktuple = 3;
: : $factory->ktuple($ktuple); # change the parameter before executing
: : $seq_array_ref = \@seq_array;
: : # where @seq_array is an array of Bio::Seq objects
: : $aln = $factory->align($seq_array_ref);
: : --------------------------------
: : 你要不要先學tutorial方式
: : 先把序列存到@seq_array
: : 再去MSA?
: ^^^?
Multiple Sequence Alignment
ClustalW就是一種MSA
: 很抱歉我不知道什麼是MSA..全文是...^_^||
: 關於tutorial的方式..我大都已經用過了..
: 所以這個我也試過了^_^|||...
: : 這樣最保險 因為我想你也是做練習用途
: 那個....其實並不是上課練習用之類的...謝謝...對我來說非常重要
: : 另外 我這邊有一些之前去國高教書的範例檔
: : 剛好就沒有clustalW
: : 但有其他範例 例如blast
: : 都是確定可以跑的
: : 看你有沒需要拿去練習
: 好啊~~實在太感謝了...有關blast的程式都好
: 多看看說不定能找出什麼端倪..謝謝你^_^
如果你不是練習用途的話
建議你可以直接在linux下面使用ClustalW執行檔跑出結果
再利用AlignIO去處理出來的結果
ex.
use Bio::AlignIO;
my $io = Bio::AlignIO->new(-file => "receptors.aln",
-format => "clustalw" );
因為你使用ClustalW模組 他還是必須要去呼叫ClustalW執行檔的
我不知道你的問題是否出在 你有沒正確安裝這個執行檔
而且clustalw執行方式很簡單 所以我才沒有使用過bioperl的這個模組
你利用外部呼叫(ex `clutalw`, system('clustalw'))去執行他
以及使用ClustalW模組
根據我的經驗 兩種寫出來的程式碼是差不多簡單的
是工作而不是練習需要 就不一定要堅持用bioperl完成摟~~~ 事情做的出來就好
下面貼給你blast範例
有分兩個部分
1. local執行
2. under internet
---------------------------------------------------
#!/usr/bin/perl
use Data::Dumper;
use Bio::Tools::Run::StandAloneBlast;
@params = ('program' => 'blastn',
'database' => 'ecoli.nt');
$factory = Bio::Tools::Run::StandAloneBlast->new(@params);
$input = Bio::Seq->new(-id =>"test query",
-seq =>"AACGGGCAATATGTCTCTGTGT");
$blast_report = $factory->blastall($input);
print Dumper($blast_report);
while (my $sbjct = $blast_report->nextSbjct){
while (my $hsp = $sbjct->nextHSP){
print $hsp->score . " " . $hsp->subject->seq_id . "\n";
print $hsp->bits, "\n";
print $hsp->percent, "\n";
print $hsp->P, "\n";
print $hsp->match, "\n";
print $hsp->positive, "\n";
print $hsp->length, "\n";
print $hsp->querySeq, "\n";
print $hsp->sbjctSeq, "\n";
print $hsp->homologySeq, "\n";
print $hsp->query->start, "\n";
print $hsp->query->end, "\n";
print $hsp->hit->start, "\n";
print $hsp->hit->end, "\n";
print $hsp->hit->seq_id, "\n\n";
}
}
=head
use Bio::Tools::Run::RemoteBlast;
$remote_blast = Bio::Tools::Run::RemoteBlast->new(
'-prog' => 'blastp','-data' => 'ecoli','-expect' => '1e-10' );
$r = $remote_blast->submit_blast("ecolitst.fa");
while (@rids = $remote_blast->each_rid ) {
foreach $rid ( @rids ) {$rc = $remote_blast->retrieve_blast($rid);}
}
=cut
--
http://140.109.73.177/待救的小米.mht
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.109.73.177
※ 編輯: seagal 來自: 140.109.73.177 (10/02 06:53)
※ 編輯: seagal 來自: 140.109.73.177 (10/02 06:58)
討論串 (同標題文章)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章