Docker image for vectorQC pipeline
1.6K

This Nextflow pipeline analyzes the results of the MiSeq sequencing of a collection of circular DNA vectors (paired ends). The input is a pair of fastq files per sample (a vector) and a fasta file of inserts introduced in the vectors. For the input detail see description of the params.config file below. For each vector, the pipeline outputs an image of the DNA map with annotation and the GenBank file.
Docker (https://www.docker.com/) or Singularity (https://www.sylabs.io/) Linux containers and NextFlow workflow manager (https://www.nextflow.io/). On Mac OS, Docker can be installed, with the Homebrew manager (https://brew.sh), as:
brew cask install docker
After Docker is installed, to be able to run the pipeline, you need to launch Docker (e.g., on Mac, clicking on it from the Launchpad; for the first time launch, Docker will ask you to register on its website).
NextFlow needs both Java RE and Java SE Developer Kit (JDK) version 1.8 or later (JDK is not automatically updated on MAC; it needs to be manually installed; check its version with "java -version"). To install NextFlow:
curl -s https://get.nextflow.io | bash
To test it:
./nextflow run hello
curl -s -L https://github.com/biocorecrg/vectorQC/archive/v1.8.tar.gz > v1.8.tar.gz
tar -zvxf v1.5.tar.gz
sh INSTALL.sh
This downloads the BioNextflow library and the file conf_tools.txt containing information about tools used by the pipeline.
The config file nextflow.config provides the computational parameters (memory, CPUs, run time) that you might want to change; if the pipeline is run on the cluster, the batch system parameters might need to be provided (e.g., queue names). By default, the Docker container is used (see Dockerfile); although Singularity can be used instead using the nextflow parameter -with-singularity (in this case, the Docker image will be converted to the Singularity image). In Dockerfile, you can change versions of software used by the pipeline.
To check the required parameters type
nextflow run main.nf --help
For the test run, the only parameter you might want to change is the email address if you want to recieve an email upon finishing the run. The e-mail will arrive with the MultiQC report attached.
Below all parameters in params.config are explained in detail.
This parameters indicate the path where the fastq files are stored. Each file pairs matching a glob pattern indicated by the asterisk will be analyzed in parallel. !!Important!! when specifying the parameters reads by command line you should use "quotation marks". Be careful with file names as the naming can vary among facilities, instruments, etc.
A custom fasta file with the header containing the name of the inserted genes/DNA. No whithe-spaces are allowed in the fasta header!
An example can be found in:
examples/inserts/genes.fa
The fasta file (in the folder db) downloaded using the Plasmapper tool (http://wishart.biology.ualberta.ca/PlasMapper/). The fasta header is formatted in this way:
lpp_promoter[PRO]{lpp},30 bases, 1123 checksum.
A list of restriction enzymes for the vectors (the file db/common.ids).
The following parameters (in the file params.config) are used by the skewer algorithm for trimming reads (for further detail on the algorithm, see https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-15-182):
The output folder. Default is output. Outputs of the pipelines run with different parameters can be saved in different folders.
This parameter is useful to receive an e-mail once the process is finished or crashed.
First, simulate paired reads for vectors in ./examples, running:
nextflow run ./simulate/simulate.nf
The result of running this pipeline is the fastq files in ./simulate/output. The parameters for the coverage and reads are provided and can be changed in ./simulate/params.config. For detail, see ./simulate/README.md.
Now, the pipeline can be run on these simulated fastq files:
nextflow run main.nf
The run takes 3-5 mins. The results are in ./output folder. For more detail on the output, see the description of the pipeline below.
To override the parameters, run the pipeline with those parameters specified in the command line; for example, to simulate reads of the length 250bp, run
nextflow run ./simulate/simulate.nf --size 250 --output simulate_250
The pipeline can be resumed and run in the background
nextflow run main.nf --reads "./simulate/simulate_250/*{1,2}.fq" --output output_250 -resume -bg > log_250.txt


For running VectorQC on AWS Batch, we provide a sample profile in nextflow.config.
You need to adapt your parameters according to your deployment. For more detail, see this blogpost.
Once your parameters are set, you can run the pipeline by using this commandline from an EC2 instance:
nextflow run main.nf -profile awsbatch -bucket-dir s3://mys3bucket/work
Content type
Image
Digest
Size
1.5 GB
Last updated
about 7 years ago
docker pull lucacozzuto/vectorqc