Looper is a pipeline submitting engine. Looper deploys any command-line pipeline for each sample in a project organized in standard PEP format. You can think of looper as providing a single user interface to running, summarizing, monitoring, and otherwise managing all of your sample-intensive research projects the same way, regardless of data type or pipeline used.
Looper's key strength is that it decouples job handling from the pipeline process. In a typical pipeline, job handling (managing how individual jobs are submitted to a cluster) is delicately intertwined with actual pipeline commands (running the actual code for a single compute job). The looper approach is modular, following the the unix principle: looper only manages job submission. This approach leads to several advantages compared with the traditional integrated approach:
Releases are posted as GitHub releases, or you can install using pip:
pip install --user https://github.com/pepkit/looper/zipball/master
Update with:
pip install --user --upgrade https://github.com/pepkit/looper/zipball/master
If the looper executable in not automatically in your $PATH, add the following line to your .bashrc or .profile:
export PATH=~/.local/bin:$PATH
To test looper, follow the Hello Looper example repository to run your first looper project:
# download and unzip the hello_looper repository
wget https://github.com/databio/hello_looper/archive/master.zip
unzip master.zip
# Run looper:
cd hello_looper-master
looper run project/project_config.yaml
Detailed explanation of results is in the Hello world tutorial.