~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**Changes Impacting Backwards Compatibility:**
* Moved the bam file creation functionality from the call_sites command to the
map_reads command. The map_reads command takes fastq files as input (as before) and
produces a finished bam file. The call_sites command now only creates a pileup and finds
high-confidence variant sites.
* Added local realignment around indels. This is an optional step enabled by default.
When enabled, local realignment creates a dependency on Picard and GATK. See
:ref:`local-realignment-label`.
* The pipeline uses multiple CPU threads when running SAMtools.
* SAMtools version 1.4 or higher is required. Older versions are not supported anymore.
* When running in an HPC environment, the pipeline is configured to use 20 CPU threads by
default when mapping reads to the reference. You can change this by configuring the
:ref:`CpuCoresPerProcessOnHPC-label` parameter.
* When running on a workstation, the pipeline is configured to use 8 CPU threads by
default when mapping reads to the reference. You can change this by configuring the
:ref:`CpuCoresPerProcessOnWorkstation-label` parameter.
* Changed the algorithm used to compute the Average Insert Size metric. The new algorithm uses
SAMtools stats. In most cases the average insert size will be larger than before.
* Added a new metric called ``Percent Proper Pair`` which measures the percentage of all reads that
are aligned to the reference in the proper orientation and within the expected paired-end distance.
See :ref:`metrics-usage-label`.
* Fixed a bug causing non-compliance with the VCF version 4.1 specification. Prior to this
fix, the VCF files sometimes wrongly contained ``-`` characters in the ALT field to represent
deletions. VCF files are now generated according to the VCF version 4.2 specification, and deletions,
if present, are represented with ``*`` characters.
**Other Changes:**
* Increased the configurable map quality threshold to exclude poorly mapped reads from analysis.
See :ref:`SamtoolsSamFilter-ExtraParams-label`.
* Enhanced the SNP density filter to find dense regions of SNPs in multiple window sizes, each with
a different number of allowed snps. See :ref:`FilterRegions-ExtraParams-label`.
* Changed the SAMtools mpileup options to include read alignments that are not properly paired.
This change increases the number of detected snps. It also increases the effectiveness of the
density filter by causing the removal of snps in dense regions that would not otherwise have been
detected. See :ref:`SamtoolsMpileup-ExtraParams-label`.
* Increased the minimum required variant-supporting depth to call variants in phase 1 with VarScan.
See :ref:`VarscanMpileup2snp_ExtraParams-label`.
* Increased the minimum required supporting depth to make a call in phase 2 with the consensus caller.
See :ref:`CallConsensus-ExtraParams-label`.
* Added a ``--threads`` option to the map_reads script. This should only be used when building custom :ref:`step-by-step-workflows`.
* Updated the included datasets.
* Documented the tested versions of other software used by the pipeline. See :ref:`installation-label`.
* Fixed compatibility with Python 3 when running with Grid Engine.
* Fixed merge_vcf failure when merging many VCF files. Increased the number of open file descriptors when needed.