SNIFFLES(1)
β¨ NAME β¨
sniffles β structural variation caller using third-generation sequencing
aka SNIFFLES(1) β user commands, but make it a whole vibe π
πΈ DESCRIPTION πΈ
okay so bestie, gather round, because this is the tea β. The usage line is literally:
usage: sniffles --input SORTED_INPUT.bam [--vcf OUTPUT.vcf] [--snf MERGEABLE_OUTPUT.snf] [--threads 4] [--non-germline]
Sniffles2: A fast structural variant (SV) caller for long-read sequencing data.
Version 2.0.2 β Contact: moritz.g.smolka@gmail.com
no cap, this is the main character energy for SV calling fr fr π
π Usage example A - Call SVs for a single sample π
sniffles --input sorted_indexed_alignments.bam --vcf output.vcf
... OR, with CRAM input and bgzipped+tabix indexed VCF output:
sniffles --input sample.cram --vcf output.vcf.gz
... OR, producing only a SNF file with SV candidates for later multi-sample calling:
sniffles --input sample1.bam --snf sample1.snf
... OR, simultaneously producing a single-sample VCF and SNF file for later multi-sample calling:
sniffles --input sample1.bam --vcf sample1.vcf.gz --snf sample1.snf
... OR, with additional options to specify tandem repeat annotations (for improved call accuracy), reference (for DEL sequences) and non-germline mode for detecting rare SVs:
sniffles --input sample1.bam --vcf sample1.vcf.gz --tandem-repeats tandem_repeats.bed --reference genome.fa --non-germline
π¦ Usage example B - Multi-sample calling π¦
Step 1. Create .snf for each sample:
sniffles --input sample1.bam --snf sample1.snf
Step 2. Combined calling:
sniffles --input sample1.snf sample2.snf ... sampleN.snf --vcf multisample.vcf
... OR, using a .tsv file containing a list of .snf files, and custom sample ids in an optional second column (one sample per line):
Step 2. Combined calling:
sniffles --input snf_files_list.tsv --vcf multisample.vcf
π Usage example C - Determine genotypes for a set of known SVs (force calling) π
sniffles --input sample.bam --genotype-vcf input_known_svs.vcf --vcf output_genotypes.vcf
Use --help for full parameter/usage information.
π optional arguments: π
-h,--helpβ show this help message and exit π--versionβ show program's version number and exit β¨
π Common parameters π
-i IN [IN ...],--input IN [IN ...]β For single-sample calling: a coordinate-sorted and indexed.bam/.cram(BAM/CRAM format) file containing aligned reads. OR for multi-sample calling: multiple.snffiles (generated before by running Sniffles2 for individual samples with--snf). (default:None) β bestie, this is the main character input, no cap.-v OUT.vcf,--vcf OUT.vcfβ VCF output filename to write the called and refined SVs to. If the given filename ends with.gz, the VCF file will be automatically bgzipped and a.tbiindex built for it. (default:None) β periodt.--snf OUT.snfβ Sniffles2 file (.snf) output filename to store candidates for later multi-sample calling. (default:None) β save it for later, iykyk.--reference reference.fastaβ (Optional) Reference sequence the reads were aligned against. To enable output of deletion SV sequences, this parameter must be set. (default:None) β lowkey optional, but if you want DEL sequences, you literally must set it.--tandem-repeats IN.bedβ (Optional) Input.bedfile containing tandem repeat annotations for the reference genome. (default:None) β iconic for improved call accuracy.--non-germlineβ Call non-germline SVs (rare, somatic or mosaic SVs). (default:False) β not your average germline vibe.--phaseβ Determine phase for SV calls (requires the input alignments to be phased). (default:False) β only if your alignments are already phased, bestie.-t N,--threads Nβ Number of parallel threads to use (speed-up for multi-core CPUs). (default:4) β multi-core CPUs? slay.
π§ͺ SV Filtering parameters π§ͺ
--minsupport autoβ Minimum number of supporting reads for a SV to be reported (default: automatically choose based on coverage) (default:auto) β auto vibe check.--minsupport-auto-mult 0.1/0.025β Coverage based minimum support multiplier for germline/non-germline modes (only for auto minsupport). (default:None)--minsvlen Nβ Minimum SV length (in bp). (default:35)--minsvlen-screen-ratio Nβ Minimum length for SV candidates (as fraction of--minsvlen). (default:0.95)--mapq Nβ Alignments with mapping quality lower than this value will be ignored. (default:25)--no-qcβ Output all SV candidates, disregarding quality control steps. (default:False) β chaotic but valid.--qc-stdev Trueβ Apply filtering based on SV start position and length standard deviation. (default:True)--qc-stdev-abs-max Nβ Maximum standard deviation for SV length and size (in bp). (default:500)--qc-strand Falseβ Apply filtering based on strand support of SV calls. (default:False)--qc-coverage Nβ Minimum surrounding region coverage of SV calls. (default:1)--long-ins-length 2500β Insertion SVs longer than this value are considered as hard to detect based on the aligner and read length and subjected to more sensitive filtering. (default:2500)--long-del-length 50000β Deletion SVs longer than this value are subjected to central coverage drop-based filtering (Not applicable for--non-germline). (default:50000)--long-del-coverage 0.66β Long deletions with central coverage (in relation to upstream/downstream coverage) higher than this value will be filtered (Not applicable for--non-germline). (default:0.66)--long-dup-length 50000β Duplication SVs longer than this value are subjected to central coverage increase-based filtering (Not applicable for--non-germline). (default:50000)--long-dup-coverage 1.33β Long duplications with central coverage (in relation to upstream/downstream coverage) lower than this value will be filtered (Not applicable for--non-germline). (default:1.33)--max-splits-kb Nβ Additional number of splits per kilobase read sequence allowed before reads are ignored. (default:0.1)--max-splits-base Nβ Base number of splits allowed before reads are ignored (in addition to--max-splits-kb). (default:3)--min-alignment-length Nβ Reads with alignments shorter than this length (in bp) will be ignored. (default:1000)--phase-conflict-threshold Fβ Maximum fraction of conflicting reads permitted for SV phase information to be labelled asPASS(only for--phase). (default:0.1)--detect-large-ins Trueβ Infer insertions that are longer than most reads and therefore are spanned by few alignments only. (default:True)
π SV Clustering parameters π
--cluster-binsize Nβ Initial screening bin size in bp. (default:100)--cluster-r Rβ Multiplier for SV start position standard deviation criterion in cluster merging. (default:2.5)--cluster-repeat-h Hβ Multiplier for mean SV length criterion for tandem repeat cluster merging. (default:1.5)--cluster-repeat-h-max Nβ Max. merging distance based on SV length criterion for tandem repeat cluster merging. (default:1000)--cluster-merge-pos Nβ Max. merging distance for insertions and deletions on the same read and cluster in non-repeat regions. (default:150)--cluster-merge-len Fβ Max. size difference for merging SVs as fraction of SV length. (default:0.33)--cluster-merge-bnd Nβ Max. merging distance for breakend SV candidates. (default:1500)
𧬠SV Genotyping parameters π§¬
--genotype-ploidy Nβ Sample ploidy (currently fixed at value2). (default:2)--genotype-error Nβ Estimated false positive rate for leads (relating to total coverage). (default:0.05)--sample-id SAMPLE_IDβ Custom ID for this sample, used for later multi-sample calling (stored in.snf). (default:None)--genotype-vcf IN.vcfβ Determine the genotypes for all SVs in the given input.vcffile (forced calling). Re-genotyped.vcfwill be written to the output file specified with--vcf. (default:None)
π€ Multi-Sample Calling / Combine parameters π€
--combine-high-confidence Fβ Minimum fraction of samples in which a SV needs to have individually passed QC for it to be reported in combined output (a value of zero will report all SVs that pass QC in at least one of the input samples). (default:0.0)--combine-low-confidence Fβ Minimum fraction of samples in which a SV needs to be present (failed QC) for it to be reported in combined output. (default:0.2)--combine-low-confidence-abs Nβ Minimum absolute number of samples in which a SV needs to be present (failed QC) for it to be reported in combined output. (default:3)--combine-null-min-coverage Nβ Minimum coverage for a sample genotype to be reported as0/0(sample genotypes with coverage below this threshold at the SV location will be output as./.). (default:5)--combine-match Nβ Maximum deviation of multiple SV's start/end position for them to be combined across samples. Given bymax_dev=M*sqrt(min(SV_length_a,SV_length_b)), whereMis this parameter. (default:500)--combine-consensusβ Output the consensus genotype of all samples. (default:False)--combine-separate-intraβ Disable combination of SVs within the same sample. (default:False)--combine-output-filteredβ Include low-confidence / putative non-germline SVs in multi-calling. (default:False)
π SV Postprocessing, QC and output parameters π
--output-rnamesβ Output names of all supporting reads for each SV in theRNAMEsinfo field. (default:False)--no-consensusβ Disable consensus sequence generation for insertion SV calls (may improve performance). (default:False)--no-sortβ Do not sort output VCF by genomic coordinates (may slightly improve performance). (default:False)--no-progressβ Disable progress display. (default:False)--quietβ Disable all logging, except errors. (default:False)--max-del-seq-len Nβ Maximum deletion sequence length to be output. Deletion SVs longer than this value will be written to the output as symbolic SVs. (default:50000)--symbolicβ Output all SVs as symbolic, including insertions and deletions, instead of reporting nucleotide sequences. (default:False)
πΈ Usage example A β Call SVs for a single sample:
sniffles --input sorted_indexed_alignments.bam --vcf output.vcf
... OR, bestie, if you're rolling with CRAM input and bgzipped+tabix indexed VCF output:
sniffles --input sample.cram --vcf output.vcf.gz
... OR when you just want a SNF file packed with SV candidates so you can do multi-sample calling later:
sniffles --input sample1.bam --snf sample1.snf
... OR do both at once, a single-sample VCF and a SNF file for later multi-sample calling:
sniffles --input sample1.bam --vcf sample1.vcf.gz --snf sample1.snf
... OR go full main-character with extra options: tandem repeat annotations (for improved call accuracy β¨), the reference (for DEL sequences) and non-germline mode for sniffing out rare SVs:
sniffles --input sample1.bam --vcf sample1.vcf.gz --tandem-repeats tandem_repeats.bed --reference genome.fa --non-germline
π¦ Usage example B β Multi-sample calling:
Step 1. Create .snf for each sample:
sniffles --input sample1.bam --snf sample1.snf
Step 2. Combined calling:
sniffles --input sample1.snf sample2.snf ... sampleN.snf --vcf multisample.vcf
... OR, using a .tsv file containing a list of .snf files, plus custom sample ids in an optional second column (one sample per line):
Step 2. Combined calling:
sniffles --input snf_files_list.tsv --vcf multisample.vcf
π Usage example C β Determine genotypes for a set of known SVs (force calling):
sniffles --input sample.bam --genotype-vcf input_known_svs.vcf --vcf output_genotypes.vcf
π AUTHOR π
This manpage was written by Andreas Tille for the Debian distribution and can be used for any other usage of the program. Iconic behavior, honestly. π
And that's the whole page, bestie! You just read sniffles version 2.0.2, dated February 2022, from the SNIFFLES(1) manual. Go forth and call those structural variants β no cap, you're gonna slay. πβ¨π¦
π¦ where this page comes from
- debian trixie: sniffles 2.6.0-1 Β· MIT
- ubuntu noble: sniffles 2.2-1 Β· MIT
- ubuntu questing: sniffles 2.6.0-1
- ubuntu resolute: sniffles 2.6.0-1build1 Β· MIT
- ubuntu stonking: sniffles 2.8.0-1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms