
skatMeta (R パッケージ) で実行する分析があります。分析を実行するためにrunscript.sh
呼び出しを受け取りましたmyfile.R
。ただし、スクリプトは Linux 用に書かれていますが、Windows しかありません。Cygwin をインストールしましたが、実行方法がわかりません。runscript.sh は次のとおりです。
for t in `echo A B` ; do
for i in `seq 1 22 ; echo X` ;
do
qth "export R_LIBS=~/lib/ ;
R --vanilla --args phenotype=$t chr=$i < ~/bin/skat.R" ;
done ;
done
どなたか、私に何をすべきか説明してもらえますか? 何をすべきか全くわからず困惑しています。これらのファイルはどこに保存すべきか、Windows に R と skatMeta をインストールしていれば大丈夫か、cmd から実行する方法すらわかりません。これらのことについては全くわからないので、できるだけ明確かつ簡単に説明してください (初心者向けの説明)。
答え1
まず、スクリプトが実際に何を行うかを見てみましょう。
外側のループ:
for t in `echo A B` ; do
(removed for clarity)
done
これにより、変数 $t が A に設定され、ループの残りのコマンドが実行され、$t が B に設定されて繰り返し実行されます。また、サブシェルを実行して A と B をエコーするという奇妙な方法で実行されます。単純な方法でもfor t in A B ; do
同じことが行われます。
次に、内側のループです。
seq 1 22 ; echo X
seqはシーケンス1から22までの数字の組み合わせ。バツが追加されます。より長い形式で書くと、for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 X
最後に、コマンド:
これを内部コードに追加すると、次のコマンドが得られます。
qth "export R_LIBS=~/lib/ ;
R --vanilla --args phenotype=A chr=1 < ~/bin/skat.R" ;
qth "export R_LIBS=~/lib/ ;
R --vanilla --args phenotype=A chr=2 < ~/bin/skat.R" ;
qth "export R_LIBS=~/lib/ ;
R --vanilla --args phenotype=A chr=3 < ~/bin/skat.R" ;
...
qth "export R_LIBS=~/lib/ ;
R --vanilla --args phenotype=A chr=19 < ~/bin/skat.R" ;
qth "export R_LIBS=~/lib/ ;
R --vanilla --args phenotype=A chr=20 < ~/bin/skat.R" ;
qth "export R_LIBS=~/lib/ ;
R --vanilla --args phenotype=A chr=X < ~/bin/skat.R" ;
qth "export R_LIBS=~/lib/ ;
R --vanilla --args phenotype=B chr=1 < ~/bin/skat.R" ;
qth "export R_LIBS=~/lib/ ;
R --vanilla --args phenotype=B chr=2 < ~/bin/skat.R" ;
qth "export R_LIBS=~/lib/ ;
R --vanilla --args phenotype=B chr=3 < ~/bin/skat.R" ;
...
qth "export R_LIBS=~/lib/ ;
R --vanilla --args phenotype=B chr=19 < ~/bin/skat.R" ;
qth "export R_LIBS=~/lib/ ;
R --vanilla --args phenotype=B chr=20 < ~/bin/skat.R" ;
qth "export R_LIBS=~/lib/ ;
R --vanilla --args phenotype=B chr=X < ~/bin/skat.R" ;
これで、何をするのかがわかったので、これを手動で実行したり、バッチファイルまたは PowerShell スクリプトを作成したりできます。 :-)
おそらく次のような内容が含まれるでしょう:
C:\program files\SkatMeta\R.exe --vanilla --args phenotype=A chr=1 < %%HOMEPATH%%\bin\skat.R"
C:\program files\SkatMeta\R.exe --vanilla --args phenotype=A chr=2 < %%HOMEPATH%%\bin\skat.R"
C:\program files\SkatMeta\R.exe --vanilla --args phenotype=A chr=3 < %%HOMEPATH%%\bin\skat.R"
Etc etc with chr is 4 5 6 7 8 ... 21 22 X
And then the same for B
最初の行は R バイナリへのフル パス (Windows のデフォルトは C:\program files\name_of_the_manufacturer\program_name.exe) で、ホームの UNIX ショートカット ( ~
) は %HOMEPATH% に置き換えられています。最後の行はおそらく C:/users/your_username に展開され、バッチ ファイルに必要な 2 つの % 記号でカプセル化しました。
Windows スクリプトは私の得意分野ではないので、その部分は他の投稿者に任せます。