Package: sequana-variant-calling
This is thevariant_callingpipeline from theSequanaprojetOverview:Variant calling from FASTQ filesInput:FASTQ files from Illumina Sequencing instrumentOutput:VCF and HTML filesStatus:productionCitation:Cokelaer et al, (2017), ‘Sequana’: a Set of Snakemake NGS pipelines, Journal of Open Source Software, 2(16), 352, JOSS DOIhttps://doi:10.21105/joss.00352InstallationIf you already have all requirements, you can install the packages using pip:pip install sequana_variant_calling --upgradeOtherwise, you can create asequana_variant_callingconda environment executing:conda env create -f environment.ymland later activate the environment:conda activate sequana_variant_callingA third option is to install the pipeline with pip method (see above) and use singularity as explained afterwards.Usagesequana_variant_calling --help
sequana_variant_calling --input-directory DATAPATH --reference-file measles.faThis creates a directoryvariant_calling. You just need to execute the pipeline:cd variant_calling
sh variant_calling.shThis 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.txtOr usesequanixinterface.Usage with singularity::With singularity, initiate the working directory as follows:sequana_variant_calling --use-singularityImages are downloaded in the working directory but you can store then in a directory globally (e.g.):sequana_variant_calling --use-singularity --singularity-prefix ~/.sequana/apptainersand then:cd variant_calling
sh variant_calling.shif you decide to use snakemake manually, do not forget to add singularity options:snakemake -s variant_calling.rules -c config.yaml --cores 4 --stats stats.txt --use-singularity --singularity-prefix ~/.sequana/apptainers --singularity-args "-B /home:/home"RequirementsThis pipelines requires the following executable(s):bwafreebayespicard (picard-tools)sambambaminimap2samtoolssnpEff you will need 5.0 or 5.1d (note the d); 5.1 does not work.DetailsSnakemake variant calling pipeline is based ontutorialwritten by Erik Garrison. Input reads (paired or single) are mapped usingbwaand sorted withsambamba-sort.
PCR duplicates are marked withsambamba-markdup.Freebayesis 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 onminimal BAM preprocessing methods.The pipeline provides an analysis of the mapping coverage usingsequana coverage.
It detects and characterises automatically low and high genome coverage regions.Detected variants are annotated withSnpEffif 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.ChangelogVersionDescription1.2.0-Xmx8g option previously added is not robust. Does not work with
snpEff 5.1 for instance.add minimap aligneradd –nanopore and –pacbio to automatically set minimap2 as the
aligner and the minimap options (map-pb or map-ont)add minimap2 container.add missing resources in snpeff section1.1.2add -Xmx8g option in snpeff rule at the build stage.add resources (8G) in the snpeff rule at run stagefix missing output_directory in sequana_coverage rulefix joint calling (regression) input function and inputs1.1.1Fix regression in coverage rule1.1.0add specific apptainer for freebayes (v1.2.0)Update API to use click1.0.2Fixed failure in multiqc if coverage and snpeff are off1.0.1automatically fill the bwa index algorithm and fix bwa_index rule to
use the options in the config file (not the harcoded one)1.0.0use last warppers and graphviz apptainer0.12.0set all apptainers containers and add vcf to bcf conversionsUpdate rule sambamba to use latest wrappers0.11.0Add singularity containers0.10.0fully integrated sequana wrappers and simplification of HTML reports0.9.10Uses new sequana_pipetools and wrappers0.9.5fix typo in the onsuccess and update sequana requirements to use
most up-to-date snakemake rules0.9.4fix typo related to the reference-file option new name not changed
everyhere in the pipeline.0.9.3use new framework (faster –help, –from-project option)rename –reference into –reference-file and –annotation to
–annotation-fileadd custom summary pageadd multiqc config file0.9.2snpeff output files are renamed sample.snpeff (instead of
samplesnpeff)add multiqc to show sequana_coverage and snpeff summary sectionscleanup onsuccess sectionmore options sanity checks and options (e.g.,genbank_file renamed into annotation_file in the configuse –legacy in freebayes optionsfix coverage section to use new sequana apiadd the -do-coverage, –do-joint-calling options as well as
–circular and –frebayes–ploidy0.9.1Fix input-readtag, which was not populated0.9.0First releaseContribute & Code of ConductTo contribute to this project, please take a look at theContributing Guidelinesfirst. Please note that this project is released with aCode of Conduct. By contributing to this project, you agree to abide by its terms.