A bash script used to spin R scripts and organize the output. Relies on the knitr package developoed by Yihui Xie.
Table of Contents
To install, execute the following steps from the remote server:
Cone this repository
git clone https://github.com/funkhou9/spin-my-script.git
spin-my-scriptand ensure both
cd spin-my-script chmod +x spin chmod +x knitr_spin.R
spin-my-scriptto your path, however you like. For instance in your ~/.bashrc file add:
$ spin <script.R> intel14 00:10:00 8 will submit
<script.R> to the
intel14 cluster with a walltime of
10 minutes and
8GB of RAM. You must specify those four arguments: cluster, walltime, RAM.
knitr::spin(<script.R>) is used to convert
<script.md>, the literate version of the same script.
Additionally your project space will be updated. Assuming your project space looks something like this:
project/ │ README.md │ └───subfolder1 │ subfolder1.md │ 1-script.R │ └───subfolder2 │ subfolder2.md │ 1-script.R ...
$ spin project/subfolder1/1-script.R intel14 00:10:00 8 is called, the project space will update to:
project/ │ README.md │ └───subfolder1/ │ subfolder1.md │ 1-script.R | 1-script_literate/ | | | └─ 1-script.md | 1-script.out | figure/ │ └───subfolder2/ │ subfolder2.md │ 1-script.R ...
1-script.out contains standard output from the cluster run, which may contain useful information
like walltime used, RAM used, etc.
figure/ is a directory produced by the knitr package, which contains
all figures generated from
Note on other languages
spin may be used for scripts written in other languages too. This requires modifying the
engine setting for each code chunk by placing the following at the top of your script:
Note that this has not been tested with other scripting languages other than R