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.