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
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


You must install Sequana first:

pip install sequana

Then, just install this package:

pip install sequana_variant_calling


sequana_pipelines_variant_calling --help
sequana_pipelines_variant_calling --input-directory DATAPATH --reference measles.fa
sequana_pipelines_variant_calling --input-directory DATAPATH --reference measles.fa

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

cd variant_calling

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 variant_calling.rules -c config.yaml --cores 4 --stats stats.txt

Or use sequanix interface.


This pipelines requires the following executable(s):

  • bwa
  • freebayes
  • picard (picard-tools)
  • sambamba
  • samtools
  • snpEff


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


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


  • 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.

Files for sequana-variant-calling, version 0.9.0
Filename, size File type Python version Upload date Hashes
Filename, size sequana_variant_calling-0.9.0.tar.gz (330.6 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page