Docker automate builder of fmalmeida/bacannot: prokaryotic comprehensive genome annotation pipeline.
10K+
Bacannot is an easy to use nextflow docker-based pipeline that adopts state-of-the-art software for prokaryotic genome annotation. It is a wrapper around several tools that enables a better understanding of prokaryotic genomes.
Its main steps are:
| Analysis steps | Used software or databases |
|---|---|
| Genome assembly (if raw reads are given) | Flye and Unicycler |
| Identification of closest 10 NCBI Refseq genomes | RefSeq Masher |
| Generic annotation and gene prediction | Prokka |
| rRNA prediction | barrnap |
| Classification within multi-locus sequence types (STs) | mlst |
| KEGG KO annotation and visualization | KofamScan and KEGGDecoder |
| Methylation annotation | Nanopolish |
| Annotation of antimicrobial (AMR) genes | AMRFinderPlus, ARGminer, Resfinder and RGI |
| Annotation of virulence genes | Victors and VFDB |
| Prophage sequences and genes annotation | PHASTER database, Phigaro and PhySpy |
| Annotation of integrative and conjugative elements | ICEberg |
| In silico detection of plasmids | Plasmidfinder and Platon |
| Prediction and visualization of genomic islands | IslandPath-DIMOB and gff-toolbox |
| Focused detection of insertion sequences | digIS |
| Merge of annotation results | bedtools |
| Renderization of results in a Genome Browser | JBrowse |
| Renderization of automatic reports and shiny app for results interrogation | R Markdown and Shiny |
Are you curious about changes between releases? See the changelog.
Moreover, this pipeline has two complementary pipelines (also written in nextflow) for NGS preprocessing and Genome assembly that can give the user a more thorough and robust workflow for bacterial genomics analyses.
These images have been kept separate to not create massive Docker image and to avoid dependencies conflicts.
After installed, you need to download the required Docker images
docker pull fmalmeida/bacannot:v2.3
docker pull fmalmeida/bacannot:v2.3_renv
docker pull fmalmeida/bacannot:kofamscan
docker pull fmalmeida/bacannot:jbrowse
docker pull fmalmeida/bacannot:server (For the shiny parser)
docker pull fmalmeida/mpgap (Only necessary if using raw reads as input)
Nextflow can also automatically handle images download on the fly when executed.
Install Nextflow (version 20.07 or higher):
curl -s https://get.nextflow.io | bash
Give it a try:
nextflow run fmalmeida/bacannot --help
Users can get let the pipeline always updated with:
nextflow pull fmalmeida/bacannot
By default, github actions have been set to build the docker image containing the databases (fmalmeida/bacannot:v2.3) in the first day of every month. Therefore, to use the most up-to-date databases users must run docker pull fmalmeida/bacannot:v2.3 before running the pipeline.
Additionally, a custom script is provided to allow users to update the database image any time.
bash <(wget -O - -o /dev/null https://github.com/fmalmeida/bacannot/raw/master/bin/update_database_image.sh)
This command line will trigger a custom script that downloads the databases and build the fmalmeida/bacannot:v2.3 docker image.
For a rapid and simple quickstart we will use as input the Escherichia coli reference genome.
# Download the ecoli ref genome
wget -O ecoli_ref.fna.gz https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/008/865/GCF_000008865.2_ASM886v2/GCF_000008865.2_ASM886v2_genomic.fna.gz
gzip -d ecoli_ref.fna.gz
# Run the pipeline using the Escherichia coli resfinder database
nextflow run fmalmeida/bacannot \
--prefix ecoli \
--genome ecoli_ref.fna \
--outdir _ANNOTATION \
--threads 4 \
--resfinder_species "Escherichia coli"
A nice overview of the output directory structure and the main tools/features produced by the pipeline is provided at https://bacannot.readthedocs.io/en/latest/outputs.html.
Users are advised to read the complete documentation »
nextflow run fmalmeida/bacannot --helpnextflow run fmalmeida/bacannot --examplesCommand line executions are exemplified in the manual.
All the parameters showed above can be, and are advised to be, set through the configuration file. When a configuration file is set the pipeline is run by simply executing nextflow run fmalmeida/bacannot -c ./configuration-file
Your configuration file is what will tell to the pipeline the type of data you have, and which processes to execute. Therefore, it needs to be correctly set up.
Create a configuration file in your working directory:
nextflow run fmalmeida/bacannot --get_config
Nextflow has an awesome feature called NF tower. It allows that users quickly customise and set-up the execution and configuration of cloud enviroments to execute any nextflow pipeline from nf-core, github (this one included), bitbucket, etc. By having a compliant JSON schema for pipeline configuration it means that the configuration of parameters in NF tower will be easier because the system will render an input form.
Checkout more about this feature at: https://seqera.io/blog/orgs-and-launchpad/
Users can trigger a graphical and interactive pipeline configuration and execution by using nf-core launch utility. nf-core launch will start an interactive form in your web browser or command line so you can configure the pipeline step by step and start the execution of the pipeline in the end.
# Install nf-core
pip install nf-core
# Launch the pipeline
nf-core launch fmalmeida/bacannot
It will result in the following:
jbrowse directory under your sample's output folder and simply execute http-server. This command can be found at: https://www.npmjs.com/package/http-serverjbrowse/data that is available in your sample's output directory.Please cite this pipeline using our Zenodo tag or directly via the github url.
Please, do not forget to cite the software that were used whenever you use its outputs. See the list of tools.
Content type
Image
Digest
sha256:fc0d50604…
Size
1.5 GB
Last updated
over 1 year ago
docker pull fmalmeida/bacannot:v3.3_renv