Plant Pathogen Detection Pipeline (PhytoPipe) for RNA-seq Data
# PhytoPipe: A Phytosanitary Pipeline for plant pathogen detection and diagnosis using RNA-seq data
PhytoPipe is an open-source bioinformatics pipeline for plant pathogen detection using RNA-seq data. The pipeline is written in Snakemake (Köster and Rahmann 2018), a workflow management system for the development of data analysis workflows. PhytoPipe is divided into read quality control, read taxonomic classification, de novo assembly, contig blast annotation, virus species selection, viral reference mapping, and summary report. PhytoPipe can detect plant pathogens: bacteria (in addition to low expressed phytoplasma), fungi, viruses, and viroids. PhytoPipe has been tested on RNA-seq data (Illumina single-end and paired-end reads of different lengths) from different quarantined plant species such as apple, pear, peach, potato, sweet potato, cassava, rice, sugarcane, and bamboo. PhytoPipe is being used by the USDA Plant Germplasm Quarantine Program (PGQP) as the cornerstone of HTS-based diagnostics.
Workflow
Tools in pipeline
-
Convert Blc to FastQ files (
bcl2fastq
, optional ) -
Read QC (
FastQC
) -
Read preprocessing
-
Host ribosomal RNA removal ( bbduk.sh in
BBTools
) -
PCR duplicates removal ( clumpify.sh in
BBTools
) -
Control/spike-in removal ( bbsplit.sh in
BBTools
) -
Adaptor and read trimming (
Trimmomatic
)
-
-
Read classification
-
Nucleotide level (
Kraken2
) -
Protein level (
Kaiju
) -
View result with Krona pie chart (
KronaTools
)
-
-
Assembly-based annotation
-
Removal of host reads (modified
KrakenTools
(included) andseqtk
) -
Assembly assessment report (
QUAST
) -
Blastn to
viral reference genome
or plant viral database orNCBI nt database
(blastn
) -
Diamond blastx to
RVDB
orNCBI nr database
(Diamond
) -
View conig classification with Krona pie chart (
KronaTools
)
-
-
Reference-based mapping
-
Present multisample QC and visualisation for raw read and assembly (
MultiQC
)
Quick start
Installation
For a Windows system, please use PhytoPipe docker image .
For a Linux or Mac system, you can download our code or clone the repository using Git:
cd /path/to/software
git clone https://github.com/healthyPlant/PhytoPipe.git
Then install dependencies. For an Ubuntu system, simply run
sudo bash /path/to/PhytoPipe/scripts/installTools.sh /path/to/software
For other Linux or Mac systems, please follow PhytoPipe wiki to install dependencies.
Since some tools conflict in a conda environment and are hard to update, we do not recommend installing all dependencies using conda. For a conda user, please check PhytoPipe wiki to see how to create a PhytoPipe conda environment.
Build databases
To install/update all databases, simply run
nohup bash /path/to/PhytoPipe/scripts/updateDatabase.sh /path/to/software/PhytoPipe /path/to/database v25.0 &
Please find the newest RVDB version from RVDB database, protein version and use the full path in the command. v25.0 in the above command is the RVDB version.
Set up configuration
Customize the workflow based on your needs in
config.yaml
, such as your sequence file extension and database paths. Please see the details in
wiki
.
Run PhytoPipe
Please check dependencies and databases requirements first using a dry-run (-n flag). If they are met, then you can run PhytoPipe
For fastq.gz reads input dry-run:
$ snakemake --configfile /path/to/PhytoPipe/config.yaml -s /path/to/PhytoPipe/Snakefile --config workDir=/path/to/output/folder fastqDir=/path/to/input/fastq/folder --cores [number of cores ex. 16] -n
For raw Illumina flowcell's data input dry-run:
$ snakemake --configfile /path/to/PhytoPipe/config.yaml -s /path/to/PhytoPipe/Snakefile --config workDir=/path/to/output/folder flowCellDir=/path/to/Illumina/run --cores [number of cores ex. 16] -n
If the dry-run succeeds, please remove '-n' parameter to run the pipeline. If you'd like to run it in the background, please use 'nohup'. For example:
$ nohup snakemake --configfile /path/to/PhytoPipe/config.yaml -s /path/to/PhytoPipe/Snakefile --config workDir=/path/to/output/folder fastqDir=/path/to/input/fastq/folder --cores [number of cores ex. 16] &
Important: For workDir and fastqDir paths, full paths must be used.
You can view progress or errors in the file 'nohup.out' using the command
more nohup.out
PhytoPipe quick test
After the software and databases are ready, you can run a quick test using the VIROMOCKchallenge Dataset8 , which is in the test/data folder. The steps can be found in test notebook .
PhytoPipe docker image
The PhytoPipe docker image can be pulled
docker pull healthyplant/phytopipe
Docker can help you avoid manually installing the software. You can use the docker image on many systems (Linux, Mac, Windows). PhytoPipe docker image usage is in its docker README . PhytoPipe docker tutorial can be found in test docker .
Documentation
More information on input/output, dependencies, and databases are found in the wiki
Code Snippets
237 | shell: "echo Job done `date '+%Y-%m-%d %H:%M'`" |
Support
- Future updates