Skip to main content

A variant calling pipeline to analyse sequencing Illumina data

Project description

This is is the variant_calling pipeline from the Sequana projet

Overview:

Variant calling from FASTQ files

Input:

FASTQ files from Illumina Sequencing instrument

Output:

VCF and HTML files

Status:

production

Citation:

Cokelaer et al, (2017), ‘Sequana’: a Set of Snakemake NGS pipelines, Journal of Open Source Software, 2(16), 352, JOSS DOI https://doi:10.21105/joss.00352

Installation

You must install Sequana first:

pip install sequana

Then, just install this package:

pip install sequana_variant_calling

Usage

sequana_pipelines_variant_calling --help
sequana_pipelines_variant_calling --input-directory DATAPATH --run-mode local --reference measles.fa
sequana_pipelines_variant_calling --input-directory DATAPATH --run-mode slurm --reference measles.fa

This creates a directory variant_calling. You just need to execute the pipeline:

cd variant_calling
snakemake -s variant_calling.rules --stats stats.txt

This launch a snakemake pipeline. If you are familiar with snakemake, you can retrieve the fastqc.rules and config.yaml files and then execute the pipeline yourself with specific parameters:

snakemake -s variant_calling.rules --cores 4 --stats stats.txt

Or use sequanix interface.

Requirements

This pipelines requires the following executable(s):

  • bwa

  • freebayes

  • picard (picard-tools)

  • sambamba

  • samtools

  • snpEff

https://raw.githubusercontent.com/sequana/sequana_variant_calling/master/sequana_pipelines/variant_calling/dag.png

Details

Snakemake variant calling pipeline is based on tutorial written by Erik Garrison. Input reads (paired or single) are mapped using bwa and sorted with sambamba-sort. PCR duplicates are marked with sambamba-markdup. Freebayes is used to detect SNPs and short INDELs. The INDEL realignment and base quality recalibration are not necessary with Freebayes. For more information, please refer to a post by Brad Chapman on minimal BAM preprocessing methods.

The pipeline provides an analysis of the mapping coverage using sequana coverage. It detects and characterises automatically low and high genome coverage regions.

Detected variants are annotated with SnpEff if a GenBank file is provided. The pipeline does the database building automatically. Although most of the species should be handled automatically, some special cases such as particular codon table will required edition of the snpeff configuration file.

Finally, joint calling is also available and can be switch on if desired.

Rules and configuration details

Mapping

This pipeline uses the following rule from Sequana to perform the mapping and marking duplicates.

  • snpeff_add_locus_in_fasta

  • bwa_mem_dynamic

  • sambamba_markdup

  • sambamba_filter

Variant Calling

The variant calling itself depends on those rules:

  • freebayes

  • freebayes_vcf_filter

Joint variants calling

  • joint_freebayes

  • joint_freebayes_vcf_filter

Annotation

  • snpeff

Coverage analysis

  • samtools_depth

  • sequana_coverage

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

sequana_variant_calling-0.8.3-py3.5.egg (421.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page