Skip to main content

A fast structural variation caller for long-read sequencing data

Project description

Sniffles2

A fast structural variant caller for long-read sequencing, Sniffles2 accurately detect SVs on germline, somatic and population-level for PacBio and Oxford Nanopore read data.

Quick Start: Germline SV calling using Sniffles2

To call SVs from long read alignments (PacBio / ONT), you can use:

sniffles -i mapped_input.bam -v output.vcf

See sniffles --help or below for full usage information.

Installation

You can install Sniffles2 using pip or conda using:

pip install sniffles

or

conda install sniffles=2.8.0

If you previously installed Sniffles1 using conda and want to upgrade to Sniffles2, you can use:

conda update sniffles=2.8.0

Requirements

  • Python ==3.10.15
  • pysam >=0.21.0
  • edlib >=1.3.9
  • psutil>=5.9.4
  • numpy>=2.2.0
  • pyspoa>=0.2.1

Tested on:

  • python==3.10.12
  • pysam==0.21.0

Citation

Please cite our paper at: Sniffles v2: https://www.nature.com/articles/s41587-023-02024-y

and Sniffles v1: https://www.nature.com/articles/s41592-018-0001-7

Use-Cases / Modes

A. General (all Modes)

  • To output deletion (DEL SV) sequences, the reference genome (.fasta) must be specified using e.g. --reference reference.fasta.
  • Sniffles2 is fully parallelized and uses 4 threads by default. This value can be adapted using e.g. --threads 4 as option. Memory requirements will increase with the number of threads used.
  • To output read names in SNF and VCF files, the --output-rnames option is required.

B. Multi-Sample SV Calling (Trios, Populations)

Multi-sample SV calling using Sniffles2 population mode works in two steps:

  1. Call SV candidates and create an associated .snf file for each sample: sniffles --input sample1.bam --snf sample1.snf
  2. Combined calling using multiple .snf files into a single .vcf: sniffles --input sample1.snf sample2.snf ... sampleN.snf --vcf multisample.vcf

Alternatively, for step 2. you can supply a .tsv file, containing a list of .snf files, and custom sample ids in an optional second column (one sample per line), .e.g.: 2. Combined calling using a .tsv as sample list: sniffles --input snf_files_list.tsv --vcf multisample.vcf

C. Mosaic SV Calling (Non-germline or somatic SVs)

To call mosaic SVs, the --mosaic option should be added, i.e.:

sniffles --input mapped_input.bam --vcf output.vcf --mosaic

D. Genotyping a known set of SVs (Force Calling)

Example command, to determine the genotype of each SV in input_known_svs.vcf for sample.bam and write the re-genotyped SVs to output_genotypes.vcf:

sniffles --input sample.bam --genotype-vcf input_known_svs.vcf --vcf output_genotypes.vcf

Quick Tips

Input / Output

  • .bam or .cram files containing long read alignments (i.e. from minimap2 or ngmlr) are supported as input
  • .vcf.gz (bgzipped+tabix indexed) output is supported
  • Simultaneous output of both .vcf and .snf file (for multi-sample calling) is supported

Companion apps

Supplementary tables

https://github.com/smolkmo/Sniffles2-Supplement/blob/main/Supplemetary%20tables.xlsx

Project details


Download files

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

Source Distribution

sniffles-2.8.0.tar.gz (74.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sniffles-2.8.0-py3-none-any.whl (81.7 kB view details)

Uploaded Python 3

File details

Details for the file sniffles-2.8.0.tar.gz.

File metadata

  • Download URL: sniffles-2.8.0.tar.gz
  • Upload date:
  • Size: 74.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sniffles-2.8.0.tar.gz
Algorithm Hash digest
SHA256 f280b627ff8467fa18d8c4a3ec4fe4055361f1345637b9cfd5c3138379755b76
MD5 074a9a11e5481d8218f09d54b1eb3efd
BLAKE2b-256 fd122a379da72d597e9b0b27207ba32056b02f810f374595465791e9e4fd5119

See more details on using hashes here.

Provenance

The following attestation bundles were made for sniffles-2.8.0.tar.gz:

Publisher: release.yaml on fritzsedlazeck/Sniffles

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sniffles-2.8.0-py3-none-any.whl.

File metadata

  • Download URL: sniffles-2.8.0-py3-none-any.whl
  • Upload date:
  • Size: 81.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sniffles-2.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 28ff24bed6a8a0fbcd15d154e7b68f83bfcf673f7fec79c9965d754453e87b76
MD5 7cddb24dbff117112b273bcd75a2c66b
BLAKE2b-256 93562a53fece0ed3bb7b8e193466b632a80e578c3ec4fa7665334031f2989f10

See more details on using hashes here.

Provenance

The following attestation bundles were made for sniffles-2.8.0-py3-none-any.whl:

Publisher: release.yaml on fritzsedlazeck/Sniffles

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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