Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
stylenone

Aims

  • Test and run the nextflow nf-core/sarek pipeline in the HPC cluster using public data. Exercises include:

    • Running a test to verify the execution of the pipeline

    • Running the sarek variant calling pipeline with a HapMap trio data

    • Running the sarek variant calling pipeline with liver samples

Work in the HPC

Before we start using the HPC, let’s start an interactive session:

...

Code Block
mkdir -p $HOME/workshop/sarek/scripts
cp /work/training/sarek/scripts/* $HOME/workshop/sarek/scripts/
ls -l $HOME/workshop/sarek/scripts/
  • Line 1: The -p indicates create 'parental directories as required. Thus the line 1 command creates both /workshop/ and the subfolder /workshop/scripts/

  • Line 2: Copies all files from /work/datasets/workshop/scripts/ as noted by an asterisk to the newly created folder $HOME/workshop/scripts/

Copy public data to your $HOME

Code Block
mkdir -p $HOME/workshop/sarek/data/WES/trio
mkdir -p $HOME/workshop/sarek/data/WES/liver
cp /work/training/sarek/data/WES/trio/* $HOME/workshop/sarek/data/WES/trio
cp /work/training/sarek/data/WES/liver/* $HOME/workshop/sarek/data/WES/liver 
  • Lines 1 -2: Command creates the folders to copy data

  • Line 3: Copies all files from /work/datasets/workshop/sarek/data/WES/trio folder as noted by an asterisk to newly created $HOME/workshop/sarek/data/WES/trio folder.

  • Line 4: Copies all files from /work/datasets/workshop/sarek/data/WES/liver folder as noted by an asterisk to newly created $HOME/workshop/sarek/data/WES/liver folder.

Create folders for running the nf-core/sarek pipeline

...

Code Block
mkdir -p $HOME/workshop/sarek
mkdir $HOME/workshop/sarek/run1_test
mkdir $HOME/workshop/sarek/run2_trio
mkdir $HOME/workshop/sarek/run3_liver
cd $HOME/workshop/
  • Lines 1-4: create sub-folders for each exercise

  • Line 5: change the directory to the folder “run1_test”

  • Line 6: print the current working directory

Exercise 1: Running a test with nf-core sample data

First, let’s assess the execution of the nf-core/rnaseq pipeline by running a test using sample data.

...

#!/bin/bash -l

#PBS -N nfsarek_run1_test

#PBS -l walltime=48:00:00

#PBS -l select=1:ncpus=1:mem=5gb

cd $PBS_O_WORKDIR

NXF_OPTS='-Xms1g -Xmx4g'

module load java

#specify the nextflow version to use to run the workflow

export NXF_VER=23.10.1

#run the sarek pipeline

nextflow run nf-core/sarek \

        -r 3.3.2 \

        -profile test,singularity \

        --outdir ./results

  • nextflow command: nextflow run

  • pipeline name: nf-core/sarek

  • pipeline version: -r 3.3.2

  • container type and sample data: -profile test,singularity

  • output directory: --outdir results

Submitting the job

Submit the test job to the HPC cluster as follows:

...

Code Block
results/
├── csv
│   ├── markduplicates.csv
│   ├── markduplicates_no_table.csv
│   ├── recalibrated.csv
│   └── variantcalled.csv
├── multiqc
│   ├── multiqc_data
│   ├── multiqc_plots
│   └── multiqc_report.html
├── pipeline_info
│   ├── execution_report_2024-05-08_15-28-38.html
│   ├── execution_timeline_2024-05-08_15-28-38.html
│   ├── execution_trace_2024-05-08_15-28-38.txt
│   ├── params_2024-05-08_15-41-30.json
│   ├── pipeline_dag_2024-05-08_15-28-38.html
│   └── software_versions.yml
├── preprocessing
│   ├── markduplicates
│   ├── recalibrated
│   └── recal_table
├── reports
│   ├── bcftools
│   ├── fastqc
│   ├── markduplicates
│   ├── mosdepth
│   ├── samtools
│   └── vcftools
├── tabix
│   ├── genome.bed.gz
│   └── genome.bed.gz.tbi
└── variant_calling
    └── strelka

Exercise 2: Run nf-core/sarek using trio data

The pipeline requires preparing at least 2 files:

  • Metadata file (samplesheet.csv) thatspecifies the following information:

Code Block
patient,sample,lane,fastq_1,fastq_2
ID1,S1,L002,/full/path/to/ID1_S1_L002_R1_001.fastq.gz,/full/path/to/ID1_S1_L002_R2_001.fastq.gz
  • PBS Pro script (launch_nf-core_sarek_trio.pbs) with instructions to run the pipeline

Create the metadata file (samplesheet.csv):

Change to the data folder directory:

...

Code Block
cp /work/training/sarek/scripts/create_samplesheet_nf-core_sarek.py $HOME/workshop/sarek/data/trio
  • Note: you could replace ‘$HOME/workshop/sarek/data’ with “.” A dot indicates ‘current directory’ and will copy the file to the directory where you are currently located

Check help option on how to run the script:

...

Copy the PBS Pro script for running the nf-core/sarek pipeline (launch_nf-core_sarek_trio.pbs)

Copy and paste the code below to the terminal:

Code Block
cp $HOME/workshop/sarek/data/WES/trio/samplesheet.csv $HOME/workshop/sarek/runs/run2_sarek_trio
cp $HOME/workshop/sarek/scripts/launch_nf-core_sarek_trio.pbs $HOME/workshop/sarek/runs/run2_trio
cd $HOME/workshop/sarek/runs/run2_trio
  • Line 1: Copy the samplesheet.csv file generated above to the working directory

  • Line 2: copy the launch_nf-core_sarek_trio.pbs submission script to the working directory

  • Line 3: move to the working directory

View the content of the launch_nf-core_RNAseq_QC.pbs script:

...

#!/bin/bash -l

#PBS -N nfsarek_run2_trio

#PBS -l walltime=48:00:00

#PBS -l select=1:ncpus=1:mem=5gb

cd $PBS_O_WORKDIR

NXF_OPTS='-Xms1g -Xmx4g'

module load java

#specify the nextflow version to use to run the workflow

export NXF_VER=23.10.1

#run the sarek pipeline

nextflow run nf-core/sarek \

        -r 3.3.2 \

        -profile singularity \

        --genome GATK.GRCh38 \

        --input samplesheet.csv \

        --wes \

        --outdir ./results \

        --step mapping \

        --tools haplotypecaller,snpeff,vep \

        --snpeff_cache /work/training/sarek/NXF_SINGULARITY_CACHEDIR/snpeff_cache \

        --vep_cache /work/training/sarek/NXF_SINGULARITY_CACHEDIR/vep_cache \

        -resume

  • We recommend running the nextflow nf-core/rnaseq pipeline once and then assessing the fastqc results folder to assess if sequence biases are present in the 5'-end and 3'-end ends of the sequencesThe above script will screen for germline (inherited) mutations using GATK’s haplotypecaller and then annotate the identified variants using snpeff and VEP.

  • Version 3.123.0 2 allows running the pipeline to do quality assessment only, without any alignment, read counting, or trimming.

  • The pipeline enables use to start at distinct stages, we are commencing from the start “--step mapping”

Submitting the job

Once you have created the folder for the run, the samplesheet.csv file, and launch.pbs, you are ready to submit the job to the HPC scheduler:

Code Block
qsub launch_nf-core_RNAseqsarek_QCtrio.pbs

Monitoring the Run

Code Block
qjobs

...

Once the pipeline has finished running - Assess the QC report:

NOTE: To proceed, you need to be on QUT’s WiFi network or signed via VPN.

To browse the working folder in the HPC type in the file finder:

...

  • Assess QC reports (FastQC and MultiQC) to define how many nucleotides should be trimmed from the 5'-end and/or 3-end regions of the FASTQ reads (see Case 3 below).

Exercise 3: Healthy vs. disease liver samples

Copy and paste the code below to the terminal:

Code Block
cp $HOME/workshop/data/samplesheet.csv $HOME/workshop/RNAseq/run3_RNAseq
cd $HOME/workshop/RNAseq/run3_RNAseq
pwd
  • Line 1: Copy the samplesheet.csv file to the working directory

  • Line 2: move to the working directory

  • Line 3: print working directory → verify the folder location

Copy the PBS Pro script to run the nf-core/rnaseq pipeline:

...