This is is the **quality_control** pipeline from the `Sequana <https://sequana.readthedocs.org>`_ project

:Overview: A quality control pipeline for illumina data set. This pipeline removes contaminants (e.g. Phix), performs fastqc, adapter cleaning and trimming and checks for contaminants
:Input: Raw fastq files
:Output: Cleaned fastQ files + taxonomy
:Status: production but meant to be simplified/changed in the near future (2020).
:Citation: Cokelaer et al, (2017), ‘Sequana’: a Set of Snakemake NGS pipelines, Journal of Open Source Software, 2(16), 352, JOSS DOI doi:10.21105/joss.00352


Installation
~~~~~~~~~~~~

You must install Sequana first::

    pip install sequana

Then, just install this package::

    pip install sequana_quality_control


Usage
~~~~~

::

    sequana_pipelines_quality_control --help
    sequana_pipelines_quality_control --input-directory DATAPATH 

This creates a directory with the pipeline and configuration file. You will then need 
to execute the pipeline::

    cd quality_control
    sh quality_control.sh  # for a local run

This launch a snakemake pipeline. If you are familiar with snakemake, you can 
retrieve the pipeline itself and its configuration files and then execute the pipeline yourself with specific parameters::

    snakemake -s quality_control.rules -c config.yaml --cores 4 --stats stats.txt

Or use `sequanix <https://sequana.readthedocs.io/en/master/sequanix.html>`_ interface.

Requirements
~~~~~~~~~~~~

This pipelines requires the following executable(s):

- fastqc
- bwa
- kraken (optional)
- krona (optional)
- sambamba
- samtools
- pigz
- cutadapt [or atropos]

.. image:: https://raw.githubusercontent.com/sequana/sequana_quality_control/master/sequana_pipelines/quality_control/dag.png


Details
~~~~~~~

This pipeline runs **quality_control** in parallel on the input fastq files (paired or not). 
A brief sequana summary report is also produced.


Rules and configuration details
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Here is the `latest documented configuration file <https://raw.githubusercontent.com/sequana/sequana_quality_control/master/sequana_pipelines/quality_control/config.yaml>`_
to be used with the pipeline. Each rule used in the pipeline may have a section in the configuration file. 

ChangeLog
~~~~~~~~~


0.8.1: uses more sequana tools to handle the options
