Docker automate builder of fmalmeida/MpGAP prokaryotic genome assembler pipeline.
2.4K
MpGAP is an easy to use nextflow docker-based pipeline that adopts well known software for genome assembly of Illumina, Pacbio and Oxford Nanopore sequencing data through illumina only, long reads only or hybrid modes. This pipeline wraps up the following software:
This pipeline has two complementary pipelines (also written in nextflow) for NGS preprocessing and prokaryotic genome annotation that can give the user a complete workflow for bacterial genomics analyses.
This pipeline has only two dependencies: Docker and Nextflow.
fmalmeida/mpgapAfter installed, you need to download the required Docker images
docker pull fmalmeida/mpgap
Each release is accompanied by a Dockerfile in the docker folder. When using releases older releases, users can create the correct image using the Dockerfile that goes alongside with the release (Remember to give the image the correct name, as it is in dockerhub and the nextflow script). The latest release will always have its docker image in dockerhub.
Install Nextflow (version 20.01 or higher):
curl -s https://get.nextflow.io | bash
Give it a try:
nextflow run fmalmeida/mpgap --help
Users can let the pipeline always updated with:
nextflow pull fmalmeida/mpgap
Hybrid assemblies can be produced using one of two available strategies:
By using Unicycler, Haslr and/or SPAdes hybrid assembly modes. For instance, it can use the Unicycler hybrid mode which will first assemble a high quality assembly graph with Illumina data and then it will use long reads to bridge the gaps. More information about Unicycler Hybrid mode can be found here.
By polishing a long reads only assembly with Illumina reads. For that, users will have to set --strategy_2 to true. This will tell the pipeline to produce a long reads only assembly (with canu, flye, raven or unicycler) and polish it with Pilon (for unpaired reads) or with Unicycler-polish program (for paired end reads).
Note that,
--strategy_2parameter is an alternative workflow, when used, it will execute ONLY strategy 2 and not both strategies. When false, only strategy 1 will be executed.
nextflow run fmalmeida/mpgap --outdir output --threads 5 --shortreads_paired "path-to/illumina_r{1,2}.fastq" \
--shortreads_single "path-to/illumina_unpaired.fastq" --lr_type 'nanopore' --longreads "path-to/ont_reads.fastq" --strategy_2
Users are advised to read the complete documentation »
nextflow run fmalmeida/mpgap --helpnextflow run fmalmeida/mpgap --examplesCommand line executions are exemplified in the manual.
All parameters showed above can be, and are advised to be, set through the configuration file. When a configuration file is used the pipeline is executed as nextflow run fmalmeida/mpgap -c ./configuration-file. Your configuration file is what will tell the pipeline which type of data you have, and which processes to execute. Therefore, it needs to be correctly configured.
To create a configuration file in your working directory:
For Hybrid assemblies:
nextflow run fmalmeida/mpgap --get_hybrid_config
For Long reads only assemblies:
nextflow run fmalmeida/mpgap --get_lreads_config
For illumina only assemblies:
nextflow run fmalmeida/mpgap --get_sreads_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/mpgap
It will result in the following:
--no_correct parameter which solves the issue and does not have a negative impact on assembly quality. Therefore, whenever using Illumina unpaired reads, this parameter is automatically used by the pipeline.nextflow run [...] --longreads 'my_data/*.fastq' --lr_type 'nanopore' --outdir my_resultsmy_data folder and assemble it, writing the results for each read in a sub-folder with the reads basename in the my_results output folder.nextflow run [...] --shortreads_single 'my_data/*.fastq' --outdir my_resultsmy_data folder and assemble it, writing the results for each read in a sub-folder with the reads basename in the my_results output folder.However, we are currently working in a proper way to execute the hybrid and combination of short reads in assemblies for multiple samples at once so that users can properly execute it without confusion. But it will come in v2.3.
--shovill_additional_parameters '--gsize 3m'To cite this pipeline users can use our Zenodo tag or directly via the github url.
Users are encouraged to cite the programs used in this pipeline whenever they are used:
Content type
Image
Digest
sha256:d0c421d2c…
Size
2.6 GB
Last updated
over 2 years ago
docker pull fmalmeida/mpgap:v3.2