{"id":16637472,"url":"https://github.com/fritzsedlazeck/sniffles","last_synced_at":"2025-05-14T15:06:09.079Z","repository":{"id":37432109,"uuid":"44923521","full_name":"fritzsedlazeck/Sniffles","owner":"fritzsedlazeck","description":"Structural variation caller using third generation sequencing","archived":false,"fork":false,"pushed_at":"2025-03-24T15:46:59.000Z","size":12969,"stargazers_count":584,"open_issues_count":60,"forks_count":96,"subscribers_count":27,"default_branch":"master","last_synced_at":"2025-04-12T02:56:03.887Z","etag":null,"topics":["bioconda","bioinformatics","nanopore","ngm-lr","pacbio","structural-variation","structural-variations"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fritzsedlazeck.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-10-25T18:32:47.000Z","updated_at":"2025-03-27T11:01:20.000Z","dependencies_parsed_at":"2022-07-12T13:33:42.247Z","dependency_job_id":"248c7021-c9b9-42a9-b78a-48b196e732e8","html_url":"https://github.com/fritzsedlazeck/Sniffles","commit_stats":{"total_commits":352,"total_committers":21,"mean_commits":"16.761904761904763","dds":0.6477272727272727,"last_synced_commit":"2fcff678f9995fa6270c00aeabed32ef1a7fd234"},"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fritzsedlazeck%2FSniffles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fritzsedlazeck%2FSniffles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fritzsedlazeck%2FSniffles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fritzsedlazeck%2FSniffles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fritzsedlazeck","download_url":"https://codeload.github.com/fritzsedlazeck/Sniffles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254169227,"owners_count":22026209,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bioconda","bioinformatics","nanopore","ngm-lr","pacbio","structural-variation","structural-variations"],"created_at":"2024-10-12T06:25:45.555Z","updated_at":"2025-05-14T15:06:09.072Z","avatar_url":"https://github.com/fritzsedlazeck.png","language":"Python","funding_links":[],"categories":["Software packages"],"sub_categories":["Variant, SV calling, Phasing"],"readme":"# Sniffles2\nA 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.\n\n## Quick Start: Germline SV calling using Sniffles2\nTo call SVs from long read alignments (PacBio / ONT), you can use:\n\n`sniffles -i mapped_input.bam -v output.vcf`\n\nFor 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](https://github.com/fritzsedlazeck/Sniffles/tree/master/annotations).\n\n(see sniffles --help or below for full usage information).\n\n## Installation\nYou can install Sniffles2 using pip or conda using:\n\n`pip install sniffles`\n\nor\n\n`conda install sniffles=2.6.2`\n\nIf you previously installed Sniffles1 using conda and want to upgrade to Sniffles2, you can use:\n\n`conda update sniffles=2.6.2`\n\n## Requirements\n* Python ==3.10.15\n* pysam \u003e=0.21.0\n* edlib \u003e=1.3.9\n* psutil\u003e=5.9.4\n\n#### Tested on:\n* python==3.10.12\n* pysam==0.21.0\n\n## Citation\nPlease cite our paper at:\nSniffles v2: \nhttps://www.nature.com/articles/s41587-023-02024-y\n\nand \nSniffles v1:\nhttps://www.nature.com/articles/s41592-018-0001-7\n\n## Use-Cases / Modes\n\n### A. General (all Modes)\n* To output deletion (DEL SV) sequences, the reference genome (.fasta) must be specified using e.g. `--reference reference.fasta`.\n* 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](https://github.com/fritzsedlazeck/Sniffles/tree/master/annotations).\n* 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.\n* To output read names in SNF and VCF files, the `--output-rnames` option is required.\n\n### B. Multi-Sample SV Calling (Trios, Populations)\nMulti-sample SV calling using Sniffles2 population mode works in two steps:\n\n1. Call SV candidates and create an associated .snf file for each sample: `sniffles --input sample1.bam --snf sample1.snf`\n2. Combined calling using multiple .snf files into a single .vcf: `sniffles --input sample1.snf sample2.snf ... sampleN.snf --vcf multisample.vcf`\n\nAlternatively, 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.:\n2. Combined calling using a .tsv as sample list: `sniffles --input snf_files_list.tsv --vcf multisample.vcf`\n\n### C. Mosaic SV Calling (Non-germline or somatic SVs)\nTo call mosaic SVs, the *--mosaic* option should be added, i.e.:\n\n`sniffles --input mapped_input.bam --vcf output.vcf --mosaic`\n\n### D. Genotyping a known set of SVs (Force Calling)\nExample 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*:\n\n`sniffles --input sample.bam --genotype-vcf input_known_svs.vcf --vcf output_genotypes.vcf`\n\n## Quick Tips\n\n### Input / Output\n* .bam or .cram files containing long read alignments (i.e. from minimap2 or ngmlr) are supported as input\n* .vcf.gz (bgzipped+tabix indexed) output is supported\n* Simultaneous output of both .vcf and .snf file (for multi-sample calling) is supported\n\n## Companion apps\n* We have developed a plotting tools for Sniffles2: [https://github.com/farhangus/sniffle2_plot](https://github.com/farhangus/sniffle2_plot)\n* We also provide VCF and scripts used for the manuscript [https://github.com/smolkmo/Sniffles2-Supplement](https://github.com/smolkmo/Sniffles2-Supplement) \n\n## Supplementary tables\n[https://github.com/smolkmo/Sniffles2-Supplement/blob/main/Supplemetary%20tables.xlsx](https://github.com/smolkmo/Sniffles2-Supplement/blob/main/Supplemetary%20tables.xlsx)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffritzsedlazeck%2Fsniffles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffritzsedlazeck%2Fsniffles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffritzsedlazeck%2Fsniffles/lists"}