Primeiro, vamos ver o que o script realmente faz:
O loop externo:
for t in 'echo A B' ; do
(removed for clarity)
done
Isto ajusta a variável $ t para A, executa o resto dos comandos no loop e então repete com $ t definido para B. Ele também faz isso de uma maneira estranha com a execução de um subshell para ecoar A e B. Um simples for t in A B ; do
teria feito o mesmo.
Em seguida, o loop interno.
seq 1 22 ; echo X
seq cria uma seq de números de 1 a 22. Então X é adicionado. Você escreveria em um formato mais longo como 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
Finalmente, os comandos:
Adicione isto ao código interno e você recebe estes comandos:
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" ;
Agora que sabemos o que você pode executar manualmente, escreva um lote ou um script PowerShell. : -)
Provavelmente conteria algo assim:
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
Onde a primeira linha é o caminho completo para o binário R (o padrão é Windows: C: \ arquivos de programas \ nome_do_manufacturer \ program_name.exe) e onde o atalho unix para home ( ~
) foi substituído por% HOMEPATH %. O último provavelmente se expande para C: / users / your_username e eu o encapsulei em sinais de porcentagem dupla que são necessários para um arquivo em lote.
Eu deixarei essa parte para outro pôster, já que o script do Windows não é meu strong.