-
Laurent Modolo authoredLaurent Modolo authored
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. You can follow the building your pipeline guide to learn how to build your own pipelines.
Prerequisites
To run nextflow on your computer you need to have java
(>= 1.8) installed.
java --version
and git
git --version
To be able to run existing tools in nextflow on your computer (src/nf_modules/
to see the list). You need to have docker
installed.
docker run hello-world
Alternatively if you are on Linux, you can use singularity
:
singularity run docker://hello-world
Installing
To install nextflow on your computer simply run the following command:
git clone git@gitbio.ens-lyon.fr:LBMC/nextflow.git
cd nextflow/
src/install_nextflow.sh
Running a toy RNASeq quantification pipeline
To run tests we first need to get a training set
cd data
git clone https://gitbio.ens-lyon.fr/LBMC/Hub/tiny_dataset.git
cp tiny_dataset/fastq/tiny_R1.fastq tiny_dataset/fastq/tiny2_R1.fastq
cp tiny_dataset/fastq/tiny_R2.fastq tiny_dataset/fastq/tiny2_R2.fastq
cp tiny_dataset/fastq/tiny_S.fastq tiny_dataset/fastq/tiny2_S.fastq
cd ..
Then to run the tests for a given tools run the following command:
./nextflow src/solution_RNASeq.nf --fastq "data/tiny_dataset/fastq/tiny2_R{1,2}.fastq.gz" --fasta "data/tiny_dataset/fasta/tiny_v2_10.fasta" --bed "data/tiny_dataset/annot/tiny.bed" -profile docker
Nextflow profile
By default le src/nextflow.config
file define 4 different profiles
-
-profile docker
each process of the pipeline will be executed within adocker
container locally -
-profile singularity
each process of the pipeline will be executed within asingularity
container locally -
-profile psmn
each process will be sent as a separate job within acharliecloud
container on the PSMN -
-profile ccin2p3
each process will be sent as a separate job within asingularity
container on the CCIN2P3
If the containers are not found locally, they are automatically downloaded before running the process. For the PSMN and CCIN2P3, the singularity
images are downloaded in a shared folder (/scratch/Bio/charliecloud
for the PSMN, and /sps/lbmc/common/singularity/
for the CCIN2P3)
PSMN
To have access to charliecloud
on the PSMN you need to add the followin path to your PATH
variable:
PATH=/Xnfs/abc/charliecloud_bin/:$PATH
```
You can add this line in your `~/.bashrc` or `~/.zshrc` file
When running `nextflow` on the PSMN, we recommend to use `tmux` before launching the pipeline:
```sh
tmux
./nextflow src/solution_RNASeq.nf --fastq "data/tiny_dataset/fastq/tiny2_R{1,2}.fastq.gz" --fasta "data/tiny_dataset/fasta/tiny_v2_10.fasta" --bed "data/tiny_dataset/annot/tiny.bed" -profile psmn
```
Therefore, the `nextflow` process will continue to run even if you are disconnected.
You can re-attach the `tmux` session, with the command `tmux a` (and press `ctrl` `+` `b` `+` `d` to detach the attached session).
### CCIN2P3
When runnning `nextflow` on the CCIN2P3, you cannot use `tmux`, instead you should send a _daemon_ jobs which will launch the `nextflow` command.
You can edit the `src/ccin2p3.pbs` file to personalize your `nextflow` command and send it with the command:
```sh
qsub src/ccin2p3.pbs
```