Skip to content
Snippets Groups Projects
Select Git revision
  • 9bc7e4c1f2706bcc298c9936fc596a2a8347fb32
  • master default protected
  • dev
  • v2.0.0
  • v0.4.0
  • v0.3.0
  • v0.2.9
  • v0.2.8
  • v0.2.7
  • v0.2.6
  • v0.1.0
  • v0.2.5
  • v0.2.4
  • v0.2.3
  • v0.2.2
  • v0.2.1
  • v0.2.0
  • v0.1.2
18 results

getting_started.md

Blame
  • Laurent Modolo's avatar
    1d85f45d
    History

    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 a docker container locally
    • -profile singularity each process of the pipeline will be executed within a singularity container locally
    • -profile psmn each process will be sent as a separate job within a singularity container on the PSMN
    • -profile ccin2p3 each process will be sent as a separate job within a singularity 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/singularity for the PSMN, and /sps/lbmc/common/singularity/ for the CCIN2P3)

    PSMN

    When running nextflow on the PSMN, we recommend to use tmux before launching the pipeline:

    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:

    qsub src/ccin2p3.pbs