作者similai (西米露)
看板perl
标题Re: [问题]关於bioperl:::clustalW
时间Sat Oct 2 20:37:24 2004
※ 引述《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)