The pipeline runs the following steps:
- Basecalls the raw fast5 files using Guppy
- Run pycoQC on Guppy's output
- (Optionally) Prepare a fasta file for the reference transcriptome from the genome fasta and transcriptome annotation in GTF
- Map the basecalled data to the reference using minimap2
- Realign the raw signal-level data to the kmers of the reference with f5c
- Collapse Nanopolish output by kmer using Nanocompore's eventalign_collapse
- Run Nanocompore
All steps are executed in a Docker/Singularity containers.
How to run
Prepare a tab-separated file that describes the samples:
SampleName Condition DataPath Ctrl1 Ctrl /path/to/fast5dir Ctrl2 Ctrl /path/to/fast5dir Treated1 Trt /path/to/fast5dir Treated2 Trt /path/to/fast5dir
Configure the pipeline
Configure the pipeline by editing the nextflow.config file.
All parameters are described in the comments and should be self explanatory.
The only two options that deserve an explanation are
The former allows you to provide the path to a text file that lists Ensembl transcript IDs of interest.
Any transcript not present in this list will be discarded from the reference.
input_is_basecalled allows you to start the pipeline after the Albacore step. In order for this to work,
the paths in the sample annotation file must point to basecalled fast5 files.
Run the pipeline
To run the pipeline just execute:
nextflow run pipeline.nf
The pipeline is shipped with 3 profiles: local (default), lsf and aws_batch, which respectively run the processing on the local machine, an LSF cluster or an AWS Batch computer environment. The local profile limits the number of cuncurrent tasks to 10, which is reduced to 2 and 3 for Guppy and f5c respectively. The LSF profile if configured to use dynamic memory management.