<?php
ini_set('max_execution_time', 864000);
$seq = "D:/Ractip/Sequence.txt";
$mir = "D:/Ractip/mirhominid.txt";
$shandle = fopen($seq, 'r');
$sdata = fread($shandle, filesize($seq));
$mhandle = fopen($mir, 'r');
$mdata = fread($mhandle, filesize($mir));
$sexp = explode(">", $sdata);
$mexp = explode(">", $mdata);
$i = 1;
$a = 1;
$count = count($sexp);
while($i < $count)
{
$name = explode("\n", $mexp[$a]);
$name = explode(" ", $name[0]);
$name1 = explode("\n", $sexp[$i]);
$file2 = "D:\Ractip\mir\\"."$name[1]".".txt";
$file1 = "D:\Ractip\sequence\\"."name1[0]".".txt";
if ($i == 1){
mkdir("D:/Ractip/Interactions/"."$name[1]", 0777);
}
$file = "D:/Ractip/Interactions/"."$name[1]"."/"."$name1[0]"."+"."$name[1]".".txt";
$fhandle = fopen($file, 'w');
$query = "ractip "."$file1"." "."$file2";
$exec = shell_exec($query);
print $exec;
fwrite($fhandle, $exec);
fclose($fhandle);
if ($i == $count){
$i = 1;
$a++;
}else{
$i++;
}
}
?>
これがスクリプトです。私は基本的にツールを使用して約 3,750 万通りの組み合わせの結果を取得しているため、ご理解のとおり、これは私が自分でできることではありません。したがって、このスクリプトにたどり着きました。以前はすべての候補を個別のファイルに分けていたので、 $name 変数の説明 私はそのように呼んでいます。
問題はshell_exec
コマンドです。予備のGoogle検索では、なぜこのように動作するのかを実際に説明していませんでしたが、動的コマンドの処理を拒否しました.代わりに、それを処理するshell_exec
ような静的コマンドを作成した場合、ractip xy.txt zy.txt
コマンドを実行してshell_exec
プロセスを実行しますが、残念ながら実行していません。このコマンドがこのように動作する理由と、このグリッチの回避策があるかどうかを誰かが説明できれば、非常に役立ちます。
私はやっと、あるフォーラムの人が、これらは php があまりうまくいかないことだと言ったときの意味を理解することができました。
そうそう、私はブラウザを介して展開していますが、それが助けになるかどうかはわかりません。