做网站开发,要在网页中调用blast 命令,开始是在localhost (机子是win7 ),调用命令完全没问题,后来网站发布要上传到远程服务器(unix)上,结果怎么折腾就是不运行命令
$tempFile = tempnam("/tmp", "MCK");
$handle = fopen($tempFile , "w");
fwrite($handle, $inputSeq);
fclose($handle);
exec("./blastall -p blastp -d Blast/SUMOdb -i $tempFile -e $eValue -m 8",$array);最后的exec 命令就是不运行,blast 命令有很多参数,开始我还以为是temp 临时文件没生成,后来,又用命令来读取文件的内容,但是的确还能读到,那就排除了后三个参数的错误,也就是只剩下前面的三个,p
参数也是肯定没问题的,那就只剩下第一个的balstall 命令,还有第三个的生成的库文件,那应该就是在不同的系统下的blastall 的可执行文件是不同的,然后就把blastall 换成在linux 下的可执行文件,以为这样就可以了,可是。。。。。。生成的库文件也是在不同系统下的是不同的,好吧,在linux 系统下再跑一下blast 的formatdb 程序,生成的三个库文件在传上去,这下终于OK 啦!!!
本文分享了在从本地Windows环境迁移到远程Unix服务器过程中,遇到的Blast命令调用问题及解决办法。作者详细记录了如何处理不同操作系统下Blast可执行文件及数据库兼容性的挑战。
3374

被折叠的 条评论
为什么被折叠?



