This repository contains the complete, end-to-end computational workflow used to assemble and analyze the genome of a Vancomycin-Resistant Enterococcus faecium ST177 isolate.
It serves as a reproducible case study for a full genomic analysis, from raw Oxford Nanopore reads to a final annotated assembly, including resistome and virulence factor identification.
It can be used to run similar analyses using your own or publicly available long read data in a .fastq format.
This pipeline processes raw Oxford Nanopore .fastq reads to produce a fully assembled and annotated genome, complete with resistome and virulence factor identification.
The workflow is as follows:
- Local Filtering and QC: Raw reads are filtered for quality using
fastplong. - HPC workflow:
Kraken2is used to verify the species of the isolate and check for contamination. Filtered reads are assembled on an HPC usingFlye. This assembly is quality controlled usingQUAST. - Local Annotation and Typing: The final assembly is annotated with
Bakta(for the full genome) andAMRFinderPlus(for the resistome).mlstis utilized to find the sequence type. - Web Based Analysis: The
PlasmidFinderweb tool is used to identify replicons on the plasmids.Geminiis used to identify interesting operons and gene clusters using the annotated data.
- Conda
- Singularity (for the HPC steps)
- Access to a Slurm-based HPC (or a modification of
HPC_orchestrator.pyand the.slurmscripts to run them locally on your system) - A unix based system like WSL
The HPC workflow runs all tools (Kraken2, Flye, QUAST) inside Singularity containers. Such containers can be accessed from the BioContainers project.
Before running the HPC scripts, you must pull the necessary containers to your cluster, this can be done with the singularity pull command. Then you need to specify their paths in HPC_config.py.
Run
git clone https://github.com/DelusionalSimon/e-faecium-nanopore-workflow.git in your command line where you want to download the project
followed by cd e-faecium-nanopore-workflow to enter the folder.
Create the conda environment by running conda env create -f environment.yml in the terminal
Activate the environment by running conda activate efaecium_env
Use this environment as the kernel for the jupyter notebook below.
Move on to the Jupyter Notebook detailing the whole workflow:
Distributed under the MIT License. See LICENSE for more information.