Skip to content

Commit 3f18e14

Browse files
authored
Merge branch 'GoekeLab:master' into master
2 parents 628feae + 2cadee4 commit 3f18e14

File tree

5 files changed

+127
-1
lines changed

5 files changed

+127
-1
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ Each workflow manager folder in this repository has a README detailing how to ru
2626
- [Snakemake](snakemake)
2727
- [SciPipe](scipipe)
2828
- [GenPipes](genpipes)
29+
- [Bpipe](bpipe)
2930
- [WDL](wdl)
3031

3132

@@ -57,3 +58,4 @@ We would like to thank the following people for their contribution to this repos
5758
- [Samuel Lampa](https://github.com/samuell) for the [SciPipe workflow](scipipe)
5859
- [Marius van den Beek](https://github.com/mvdbeek) for the [Galaxy workflow](galaxy)
5960
- [José Héctor Gálvez López](https://github.com/pphector), Pierre-Olivier Quirion, Edouard Henrion, and Mathieu Bourgey for the [GenPipes workflow](genpipes)
61+
- [Simon Sadedin](https://github.com/ssadedin) for the [Bpipe workflow](bpipe)

bpipe/README.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Example Bpipe Workflow
2+
3+
[Bpipe](http://bpipe.org) is a workflow manager focused on emulating the simplicity of
4+
the command line and making your pipelines look as close to the literal commands
5+
that run as possible.
6+
7+
Bpipe pipeline are written in Groovy, a scripting version of Java that enables powerful
8+
yet high performing DSLs to be easily developed. The definition of the workflow is
9+
in the [quantify_rna.groovy](quantify_rna.groovy) file.
10+
11+
To run this workflow, you can first install Bpipe using [SDKMan](https://sdkman.io/sdks#bpipe)
12+
and then execute from within the bpipe directory:
13+
14+
```
15+
bpipe run quantify_rna.groovy ../test_data/*.fq.gz
16+
```
17+
18+
**Note**: please make sure to use Bpipe 0.9.11 or higher for running the example.
19+
20+
Please note the default configuration will run the commands on the local computer, and it
21+
assumes that salmon and fastqc are available in the PATH. It is easy
22+
to configure Bpipe for other environments, and an example is shown in the
23+
[bpipe.config](bpipe.config) file which illustrates how to configure it to run using
24+
PBS Torque. To run the Torque version you can tell Bpipe to use the alternative environment like
25+
so:
26+
27+
```
28+
bpipe run --env torque quantify_rna.groovy ../test_data/*.fq.gz
29+
```
30+
31+
If you would like to see how the HTML report that Bpipe makes looks, add the `-r` option:
32+
33+
```
34+
bpipe run -r --env torque quantify_rna.groovy ../test_data/*.fq.gz
35+
```
36+
37+
This example only uses very simple features of Bpipe. Bpipe has many more features
38+
which you can explore in the [documentation](http://docs.bpipe.org).
39+
40+
Other useful commands to experiment with are:
41+
42+
- `bpipe log` (see logs of a running pipeline)
43+
- `bpipe stop` (stop a running pipeline)
44+
- `bpipe history` (show history)
45+
46+
47+
Thanks for trying out the Bpipe example!
48+
49+

bpipe/bpipe.config

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
2+
// Default: will execute on local computer
3+
// Executables for FASTQC, salmon need to be in path already
4+
executor='local'
5+
memory='8g'
6+
7+
// Example of how to customise for a different environment (torque
8+
// running on HPC using modules)
9+
environments {
10+
11+
torque {
12+
executor='torque'
13+
account='' // add any necessary account info
14+
queue='batch' // customize for your system
15+
16+
commands {
17+
salmon {
18+
modules="salmon"
19+
}
20+
21+
fastqc {
22+
modules="fastqc"
23+
}
24+
}
25+
}
26+
}
27+
28+

bpipe/quantify_rna.groovy

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
2+
title 'Bpipe Example - RNASeq Transcript Quantification'
3+
4+
REF='../test_data/transcriptome.fa'
5+
6+
index_reference = {
7+
8+
doc 'Indexes the reference transcript fasta file'
9+
10+
output.dir = 'index'
11+
12+
produce('refseq.bin') {
13+
exec """
14+
salmon index -t $REF -i $output.dir
15+
"""
16+
}
17+
}
18+
19+
fastqc = {
20+
21+
doc 'Calculates aggregate statistics from FASTQ reads for quality control'
22+
23+
output.dir='qc'
24+
25+
exec """
26+
fastqc --quiet $inputs.fq.gz --outdir $output.dir
27+
"""
28+
}
29+
30+
quantify = {
31+
32+
doc 'Counts transcripts present in reference fasta'
33+
34+
output.dir = 'quant'
35+
36+
exec """
37+
salmon quant -i index -l A -1 $input1.fq.gz -2 $input2.fq.gz --validateMappings -o $output.dir
38+
"""
39+
}
40+
41+
run {
42+
index_reference + [ fastqc, quantify ]
43+
}
44+
45+
46+
47+

wdl/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ The Workflow Description Language ([WDL](https://openwdl.org/)) is a workflow sp
55
- [WDL tutorials](https://support.terra.bio/hc/en-us/sections/360007347652-WDL-Tutorials)
66
- [WDL documentation](https://support.terra.bio/hc/en-us/sections/360007274612-WDL-Documentation)
77

8-
## Community-developed workflows in snakemake
8+
## Community-developed workflows in WDL
99
[BioWDL](https://github.com/biowdl) contains a collection of community developed pipelines written in WDL.
1010

1111
## Running the proof of concept WDL pipeline

0 commit comments

Comments
 (0)