Introduction
ENEO is a Snakemake workflow developed for the identification of cancer neoantigens using solely the tumor RNAseq, without requiring matched controls or additional sequencing experiments. You could read more from the publication here.
Pipeline overview
Raw reads are first trimmed with fastp to remove adapters and low-quality bases, then passed through SortMeRNA to deplete ribosomal RNA reads before alignment. After STAR alignment and base quality score recalibration (BQSR), variant calling is performed in parallel by Strelka2 and DeepVariant using an RNA-specific model. Only variants concordantly called by both callers are retained and carried forward for annotation and neoantigen prediction.
Quick Start
To execute the pipeline, it's required to have both snakemake and singularity or apptainer installed. The easiest way to install both of them is using a dedicated conda environment. To create a new environment, use the following commands:
To start, clone the repo using
The next step is to setup resources, as reported in the dedicated section.
Then update the configuration file in config/config_main.yaml following the instructions in the dedicated section.
The next step is to define the patients and their sequencing files. Edit units.csv to specify the absolute paths to the paired-end FASTQ files for each patient:
patient,fq1,fq2
Pat_01,/path/to/Pat_01_1.fastq.gz,/path/to/Pat_01_2.fastq.gz
Pat_02,/path/to/Pat_02_1.fastq.gz,/path/to/Pat_02_2.fastq.gz
Edit also patients.csv to list the patients to be processed. All entries must match the patient identifiers in units.csv.
Executing the pipeline
If you're running the pipeline using an HPC cluster, we provided detailed execution profiles for SLURM schedulers under the workflow/profile directory and the relative instruction in the dedicated section.
Alternatively, you can run the pipeline locally, using the following command:
snakemake \
--use-singularity \
--cores 8 \
--singularity-args "-B /path/to/ENEO -B /path/to/ENEO_output -B /path/to/ENEO_temp -B /path/to/eneo_resources --env TMPDIR=/path/to/ENEO_temp"
Reporting issue
If you encounter any error in the pipeline setup/execution, or you have any question regarding its usage, fill an issue on github