Package: pacmill
pacmillversion 0.6.1Thepacmillpython package is a bioinformatics pipeline that is developed to process microbial 16S amplicon sequencing data. It is specialized in the analysis of long reads such as those provided by PacBio sequencers.PrerequisitesSincepacmillis written in python, it is compatible with all operating systems: Linux, macOS and Windows. The only prerequisite ispython3(which is often installed by default) along with thepip3package manager.To check if you havepython3installed, type the following on your terminal:$ python3 -VIf you do not havepython3installed, please refer to the sectionobtaining python3.To check if you havepip3installed, type the following on your terminal:$ pip3 -VIf you do not havepip3installed, please refer to the sectionobtaining pip3.InstallingTo install thepacmillpackage, simply type the following commands on your terminal:$ pip3 install --user pacmillAlternatively, if you want to install it for all users of the system:$ sudo pip3 install pacmillThese commands will also automatically install all the other python modules on whichpacmilldepends.External programsThepacmillpipeline also depends on several shell commands being available. The following executables should be present in your$PATHenvironment variable:fastQValidator,fastqc,barrnap,vsearch,mothur,xelatex,fastq-dumpIf any of these required external programs are missing, you will be prompted to install them and given easy instructions to do so.UsageMetadataThe first thing to do when starting a new analysis is to fill in a metadata file that details all there is to know about the biological samples being processed.An empty template for such a file is found under this repository atpacmill/metadata/metadata_blank.xlsx. You can make a copy of this file for every new project.In addition, another file namedpacmill/metadata/metadata_example.xlsxshows typical values that the fields are supposed to take along with a short documentation for each entry. A excerpt of this file is shown below:Loading the projectBellow are some examples to illustrate the various ways there are to use this package.# This example is not completed yet. TODO.Customizing report headersTo change the text that appears inside the header of the PDF reports generated, you can adjust these three environment variables to your liking. Credit is appreciated where credit is due, but the software has a very permissive license that lets you decide what is best.$ export PACMILL_HEADER="From the \textbf{pacmill} project"
$ export PACMILL_SUBHEADER="Written by consultants at \url{www.sinclair.bio}""
$ export PACMILL_LINK="Hosted at \url{www.github.com/xapple/pacmill}"Demo projectIn order to test and evaluate the pipeline, we have provided a demonstration project ready to be processed. This enables the user to see what type of outputs are generated bypacmillwithout having to bring their own DNA sequence data. Five samples are included and are taken from the following publication:"Confident phylogenetic identification of uncultured prokaryotes through long read amplicon sequencing of the 16S-ITS-23S rRNA operon."Joran Martijn, (many others), Thijs Ettema.Science for Life Laboratory, Uppsala Universityhttps://doi.org/10.1111/1462-2920.14636The samples are publicly accessible on theSequence Read Archiveand are described as follows:mock: Genomic DNA from 38 phylogenetically distinct and diverse bacteria and archaea.p19: Sediment sample obtained from hot spring Radiata Pool, Ngatamariki, New Zealand.pm3: Sediment sample taken from 1.25m below the sea floor using a gravity core at Aarhus Bay, Denmark.sala: Black biofilm that was taken at 60m depth in an old silver mine near Sala, Sweden.tns08: Sediment sample taken from a shallow submarine hydrothermal vent field near Taketomi Island, Japan.To run the demo project, start by executing thedownload.pyscript which is placed at:python3 ~/repos/pacmill/pacmill/demo/download.pyOnce that completes you are ready to launch thepacmillpipeline:python3 ~/repos/pacmill/pacmill/run_pacmill.py demo_project ~/repos/pacmill/demo_project/demo_metadata/metadata_demo.xlsxNote: if you are on macOS you should set the following environment variable for parallelization to work without crashing:$ export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YESExample graphsThepacmillpipeline produces a multitude of graphs and visualizations after having processed the sequence data. Below are two examples. Firstly a sequence length distribution of cleaned reads. Secondly, a bar-stack of taxonomic assignments for five different samples at the phylum level.Example reportsAfter running the pipeline on a set of FASTQ files, several PDF reports are auto-generated. Examples of three reports are given below. The first concerns an individual sample while the second details the results of a project containing several samples. The third focuses on taxonomic assignment results and visualizations.Project reportSample reportTaxonomy reportFlowchartBelow is presented a flowchart detailing the multiple processing steps that occur in thepacmillpipeline in a chronological order.Extra documentationMore documentation is available at:http://xapple.github.io/pacmill/pacmillThis documentation is simply generated from the source code with:$ pdoc --html --output-dir docs --force pacmill