A fast structural variation caller for long-read sequencing data
Reason this release was yanked:
2.5.1
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
For improved calling in repetitive regions, Sniffles2 accepts a tandem repeat annotations file using the option --tandem-repeats annotations.bed
. Sniffles2 compatible tandem repeat annotations for human references can be downloaded from the annotations/ folder.
(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.5
If you previously installed Sniffles1 using conda and want to upgrade to Sniffles2, you can use:
conda update sniffles=2.5
Requirements
- Python >= 3.10
- pysam >= 0.21.0
- edlib >=1.3.9
- psutil>=5.9.4
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 supports optionally specifying tandem repeat region annotations (.bed), which can improve calling in these regions
--tandem-repeats annotations.bed
. Sniffles2 compatible tandem repeat annotations for human references can be found in the annotations/ folder. - 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:
- Call SV candidates and create an associated .snf file for each sample:
sniffles --input sample1.bam --snf sample1.snf
- 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
- We have developed a plotting tools for Sniffles2: https://github.com/farhangus/sniffle2_plot
- We also provide VCF and scripts used for the manuscript https://github.com/smolkmo/Sniffles2-Supplement
Supplementary tables
https://github.com/smolkmo/Sniffles2-Supplement/blob/main/Supplemetary%20tables.xlsx
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file sniffles-2.5.tar.gz
.
File metadata
- Download URL: sniffles-2.5.tar.gz
- Upload date:
- Size: 57.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6beeca5a3e22b4b0ec59890e8ace4b64d769a0f04c90a7a093c735895fabfb61 |
|
MD5 | 4041571eaaa12464627a75489a4a2441 |
|
BLAKE2b-256 | 401fe7f6bd739eb276253756b2adaad6a43791f0ab6075c6a9e74af428ac25c0 |
Provenance
The following attestation bundles were made for sniffles-2.5.tar.gz
:
Publisher:
release.yaml
on fritzsedlazeck/Sniffles
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
sniffles-2.5.tar.gz
- Subject digest:
6beeca5a3e22b4b0ec59890e8ace4b64d769a0f04c90a7a093c735895fabfb61
- Sigstore transparency entry: 148231319
- Sigstore integration time:
- Predicate type:
File details
Details for the file sniffles-2.5-py3-none-any.whl
.
File metadata
- Download URL: sniffles-2.5-py3-none-any.whl
- Upload date:
- Size: 63.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f24f09e2caff5a5ce36c935b55847e55942cb743e08dabee57b3546c99131cb1 |
|
MD5 | b09212f452cbd1fb52942bc7f6f171e5 |
|
BLAKE2b-256 | 0a12ff731d816074857f9be29945f385bf07e005e3942e647c50d2d491faf3ba |
Provenance
The following attestation bundles were made for sniffles-2.5-py3-none-any.whl
:
Publisher:
release.yaml
on fritzsedlazeck/Sniffles
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
sniffles-2.5-py3-none-any.whl
- Subject digest:
f24f09e2caff5a5ce36c935b55847e55942cb743e08dabee57b3546c99131cb1
- Sigstore transparency entry: 148231320
- Sigstore integration time:
- Predicate type: