8
answers
129views


未解决

各位帮帮忙,看看这个调用应该怎么写?这样写第二句,为什么会报错啊?谢谢大家了!!!
my $aln='$query.fa';
my $clustalw ="D:\Program Files\ClustalW2\clustalw2";
my $tempoutput='$query.aln';
my $system_check=system("$clustalw -KTUPLE=2 -INFILE=$aln -OUTFILE=$tempoutput");




    1

    clustalw是web版的啊!

    本地应该是clustalX!

    不清楚你到底想调用哪个!

    Current score: 0
    [Link] | [回复Ta]
    2

    一楼的说法,不太对。clustaw,也有本地版。只不过是命令形式的,clustalx是图形界面!

    Current score: 0
    [Link] | [回复Ta]
    3

    my $clustalw ="D:\\Program Files\\ClustalW2\\clustalw2";

     

    Current score: 0
    [Link] | [回复Ta]
    4

    @cedarice:不行啊,还是报错,不是内部命令也不是外部命令之类的信息。还是十分的感谢你啊

    Current score: 0
    [Link] | [回复Ta]
    5

    @paul: 完整的错误信息要贴出来。  这很有可能是你没装好perl了。  或是手动把perl的路径放在环境变量了。 

    去google  "不是内部命令也不是外部命令"

    Current score: 0
    [Link] | [回复Ta]
    6

    路径中有空格的,需要把整个路径用引号括起来

    my $clustalw ="D:\Program Files\ClustalW2\clustalw2";

    改为

    my $clustalw ="\"D:\Program Files\ClustalW2\clustalw2\"";

    或者

    my $system_check=system("$clustalw -KTUPLE=2 -INFILE=$aln -OUTFILE=$tempoutput");

    改为

    my $system_check=system("\"$clustalw\" -KTUPLE=2 -INFILE=$aln -OUTFILE=$tempoutput");

    Current score: 1
    [Link] | [回复Ta]
    7

     

    冒似改为my $clustalw ="\"D:\Program Files\ClustalW2\clustalw2\"";也不行,但确实是你文件夹名中有空格的原因,可以将你D盘的Program Files文件夹名改为Program_Files然后将语句改为
    my $clustalw="D:/Program_Files/ClustalW2/clustalw2";就OK了。

    Current score: 1
    [Link] | [回复Ta]
    8

    楼上正解

    Current score: 0
    [Link] | [回复Ta]

Your Answer

You must be logged in to post a comment.

登陆后可评论。