构建Web页面的Blast(windows/linux)

Posted on 11 七月 2009 by 柳城 ,阅读 535 简洁版 繁體

准备1:Linux下载Blast。看最新版的blast下载,找到适合你的版本。假设安装在/usr/NCBI/blast/

准备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

<strong>1. To Blast Test DB Information(Enter FASTA sequence):</strong>
<form action="./blastall.php" enctype="application/x-www-form-urlencoded" method="post">//注意这里
Select
<select name="data" size="1"> <option selected="selected" value="test_na_db">Test na db(nt)</option>//这里是blastdb的名称。自行更换 <option value="test_aa_db">test_aa_db(protein)</option>//这里是blastdb的名称。自行更换</select>

Select
<select name="blast" size="1"> <option selected="selected" value="blastn">blastn</option> <option value="blastp">blastp</option></select>
<select name="bv" size="1"> <option selected="selected" value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="8">8</option> <option value="10">10</option></select>

<textarea style="width: 550px; height: 100px;" cols="66" rows="6" name="sequence"></textarea>
<input name="B1" type="submit" value="Blast" />
<input name="B2" type="reset" value="Reset" />
</form>

触发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; } ?>

 

是比较简单的。具体一些路径自行更换。参数也是。

另外,你也可以直接下载wwwblast,直接下载后解压就能用了。

另外如果是在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;

~完~!

延伸阅读:

  1. blast formatdb 介绍
  2. 如何构建本地Blast?
  3. Bioperl:使用和解析 BLAST
  4. MEGA4的中文使用说明
  5. Blastp/PSI-BLAST/PHI-BLAST 的详细介绍

转载请注明 : 来源于 构建Web页面的Blast(windows/linux) | 柳城博客

相关主题

12条评论 于 “构建Web页面的Blast(windows/linux)”

  1. kevinsnow Says:

    不懂...blast是什么东西..

    [回复]

    柳城博客 回复:

    呵呵。简单一点解释一下的话:
    你知道人类基因组测序吧。现在已经有好多物种的序列都测完了。序列太多,可以用海量来形容。就像网络里海量的数据一样。也是需要借助搜索引擎(google,百度)来搜索,blast也就像这些一样,通过一些算法,专门用于序列的搜索匹配等等,非常精确。

    [回复]

  2. 周佳 Says:

    关于wwwblast,我在linux解压后,怎么启动?似乎还是不能用啊......急求解答,谢谢!

    [回复]

    柳城博客 回复:

    什么提示??

    那可能是你没放到地方..一般配置正确后有个public_html的文件夹.放在这下面才能运行.

    当然你得先保证其它的配置都是正确的

    [回复]

  3. 周佳 Says:

    呃,一时也说不清楚......能否提供个联系方式,比方说QQ,邮箱什么的,想更好的向您请教。
    我的联系方式是 QQ:506525297 邮箱:zhoumouxin@163.com
    不胜感激啊......

    [回复]

    柳城博客 回复:

    zhengliucheng@qq.com 联系看关于网站页面.^_^

    [回复]

    周佳 回复:

    呵呵,汗--
    太着急了,没留心。嗯,public_html文件夹可不可以建在root目录下(我没设置用户名)?然后 从ncbi上下了一个wwwblast-2.2.21-ia32-linux.tar.gz。解压到public_html后,发现里面的cgi文件都打不开,是不是bash对csh不兼容吗?需要怎么更改呢?系统装的是fedora8 i386。谢谢!

    [回复]

    O型天蝎座 回复:

    在public_html下再建个cgi-bin的文件夹.cgi文件一般要放在哪才能运行.当然这是指正常的配置时.

    [回复]

  4. 周佳 Says:

    嗯,一般什么时候有空呢?呵呵,这几天可能就要麻烦您了。期待着你的回复。

    [回复]

    O型天蝎座 回复:

    晚上~~白天上班.不一定太有空...

    [回复]

  5. 周佳 Says:

    呵呵,太感谢您了,我先尝试下。再次谢过......

    [回复]

  6. 周佳 Says:

    首先,感谢O型天蝎座今晚对我的建议和帮助。
    虽然经过努力,用C shell调试blast.cgi文件,想使其在输入查询之后能够链接到ncbi上去,没有成功,但依然很有收获。
    呵呵,最后再次对柳城博客的朋友们给我的帮助表示谢意。
    晚安!

    [回复]

Leave a Reply

[强] [握手] [可爱] [ok] [呲牙] :) [偷笑] [流泪] [疑问] [亲亲] [擦汗] [得意] [衰] [可怜] [抱拳] [大兵] more »

Advertise Here

最新评论

Lc.live