Re: [問題]關於bioperl:::clustalW
※ 引述《plankton (我..憑什麼)》之銘言:
: 因為...沒有bioperl的版
: 所以想在這裡問問看...不知道各位熟悉perl的大大
: 能不能順便解惑...希望在這po問題..不會不太恰當^__^|||
: 我希望能利用bioperl中的clustalW來做多重序列比對
: 也就是利用bioperl中的 Bio::Tools::Run::Alignment::Clustalw
: 程式大約如下
: @params = ('ktuple' => 2, 'matrix' => 'BLOSUM');
: $factory = Bio::Tools::Run::Alignment::Clustalw->new(@params);
: $inputfilename = 't/data/cysprot.fa';
: $aln = $factory->align($inputfilename);
: ......等
: 跑了之後
: 結果告訴我說我的參數有問題
: 也就是第一行的地方...
: 經過網路的查詢之後..我發現這個範例的參數是設給protein的
: 因此我去找這個範例中的"cysprot.fa"檔>>>protein的FASTA檔<<<
: 並且複製到相同的路徑下
: 但在執行的時候他仍就告訴我參數"ktuple"&"matrix"有問題
: 想請問各位大大我該如何解決...
: 或者是各位有任何的多重序列比對的範例可以借我參考嗎??
: 再或者..有任何好的網站或書可以推薦我自己去看??
: ----
: 很不好意思...因為自己摸了好久...又弄不懂...找不到人問
: 所以只好到這個版來求救?希望有經驗的大大可以伸出援手..謝謝
你的code應該是沒有問題,bioperl-run的模組好像呼叫執行檔
都在/usr/local/bin裏下,除了它提的幾個軟體可以額外指定環境變數外
(eg. phylip, blast, genscan, eponine),
所以請check一下clustalw的執行檔是否存在 /usr/local/bin/clustalw
如果有安裝在其它目錄,做個symbolic link,
簡單用bioperl-run來跑clustalw的話,我的例子是:
假設我有三條sequence,放在test.faa如下:
>test_1
aasdfasdfadfasdfasdfasdfasdfasdf
>test_2
asdfasdfasdfasdfasdfasdfasdfasdfas
>test_3
adfasdfasdfasdfasdfasdfasdfa
我就這麼寫:
use Bio::Tools::Run::Alignment::Clustalw;
@params = ('ktuple' => 2,
'matrix' => 'BLOSUM',
'output' => 'clustalw', #指定output format
'outfile' => 'test.aln'); #指定輸出檔案,可略
$factory = Bio::Tools::Run::Alignment::Clustalw->new(@params);
$inputfilename = 'test.faa';
$aln = $factory->align($inputfilename); #為一個AlignIO,看你接著要做什麼
.....
其實上面等於是執行:
clustalw align -infile=test.faa -output=clustalw -output=clustalw -ktuple=2
-matrix=BLOSUM -outfile=test.aln
就會得到一個file叫 test.aln
CLUSTAL W (1.83) multiple sequence alignment
test_1 AASDFASDFA-DFASDFASDFASDFASDFASDF--
test_2 -ASDFASDFASDFASDFASDFASDFASDFASDFAS
test_3 --ADFASDFASDFASDFASDFASDFASDFA-----
:******* *******************
ps. 你該不會是化學系的那個學弟吧!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 222.156.249.175
※ 編輯: similai 來自: 222.156.249.175 (10/02 20:38)
討論串 (同標題文章)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章