准备1:Linux,下载最新版的blast下载,找到适合你的版本。假设安装在/usr/ncbi/
准备2:php环境,运行一个例子看看。如果一切胜利。正常情况下,一般需要在你用户名(如zhenglc)下建个文件夹public_html,里面随便放个页面。内容可以是:
文件名:phpinfo.php
echo phpinfo(); ?>
注意权限。你可以用chmod命令来改变文件或文件夹的权限。
chmod 777 zhenglc
chmod 777 public_html
chmod 777 phpinfo.php
有了权限后才可以运行。又假设你全部配置好了。例如该Linux的IP是192.168.1.1
http://192.168.1.1/~zhenglc/phpinfo.php
地址类似这样。如果一切顺利。当然会有内容。失败的话就重头再检查一遍。成功后接下来就比较简单。无非就是写个界面,然后调用blast就是。
例如:一个简单的界面index.php
1. To Blast Test DB Information(Enter FASTA sequence):
//注意这里Select
Select
触发Form之后,提交到blastall.php
< ?php
$sequence=$_POST[sequence];
$blast=$_POST[blast];
$bv=$_POST[bv];
$data=$_POST[data];
$filename=md5 (uniqid (rand()));
//随机产生一个文件名
$file=fopen("/tmp/$filename.seq","w+");
//把提交的序列保存在这里
fwrite($file,$sequence,strlen($sequence));
fclose($file);
system("/usr/ncbi/blast/blastall -i /tmp/$filename.seq
-p $blast -d /ext2/zhenglc/blastdb/$data -b $bv -v $bv -F F");
//这里运行blast。用system调用linux命行。 exit; } ?>
是比较简单的。具体一些路径自行更换。参数也是。
另外,你也可以直接下载
另外如果是在windows环境,如XP下的。注意路径。
相应的地方改为:
$file=fopen("C:/blast/$filename.seq","w+");
$blastresult=passthru("C:/blast/bin/blastall.exe -i
C:/blast/$filename.seq -p $blast -d C:/blast/db/$db -b $bv -v $bv -F F");
//Linux下用system函数,windows下运行用passthru函数。
print $blastresult;
~完~!