折腾了好久,原来是这样............Blast

       做网站开发,要在网页中调用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 啦!!!
                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Usage: /home/chenlianfu/chenlianfu_scripts/blast.pl [options] BLAST_DB file.fasta > out.txt --tmp-prefix default: blast 设置临时文件或文件夹前缀。默认设置下,程序生成command.blast.list,blast.tmp/等临时文件或目录。 --chunk default: 10 设置每个数据块的序列条数。程序会将输入FASTA文件中的序列从前往后分割成多份,每10条相邻的序列分配到一个FASTA文件中;在blast.tmp/临时文件夹下生成次级文件夹,每个文件夹做多放置10个FASTA文件;每个fasta文件写出一条BLAST命令到command.blast.list文件中;然后程序调用ParaFly进行并行化计算。 请注意:若数据块的数量超过100万个,默认设置下blast.tmp/文件夹中的目录数量太多(超过1万个),导致文件系统运行缓慢,ParaFly程序运行效率低下,无法充分利用服务器计算资源。此时推荐设置--chunk参数值为100。 --blast-program default: blastp 设置运行的BLAST命令,支持的命令有:blastn, blastp, blastx, tblastn, tblastx。 --CPU default: 1 设置并行运行的BLAST程序个数。 --blast-threads default: 1 设置BLAST命令的-num_threads参数值。该参数让每个BLAST命令可以多线程运行。 请注意:--blast-threads参数值和--CPU参数值的乘积不要超过服务器的CPU总计算线程数。 --evalue default: 1e-3 设置BLAST命令的-evalue参数值。 --outfmt default: 5 设置BLAST命令的-outfmt参数值。输出方式。若为5,则输出xml格式结果,若为6或7,则输出表格结果。 --max-target-seqs default: 20 设置BLAST命令的-max_target_seqs参数值。该参数设置BLAST最多能匹配数据库中的序列数量。 -clean 若添加该参数,则在运行程序成功后,会删除临时文件或文件夹。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值