{"id":24961689,"url":"https://github.com/esteinig/sketchy","last_synced_at":"2025-04-10T21:37:37.049Z","repository":{"id":38327343,"uuid":"173516126","full_name":"esteinig/sketchy","owner":"esteinig","description":"Genomic neighbor typing of bacterial pathogens using MinHash :rat:","archived":false,"fork":false,"pushed_at":"2023-01-10T22:25:29.000Z","size":21012,"stargazers_count":44,"open_issues_count":2,"forks_count":3,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-06T15:53:18.158Z","etag":null,"topics":["bacterial-genomes","bioinformatics","finch","genomic-neighbor-typing","mash","minhash","nanopore","rust-lang"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/esteinig.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}},"created_at":"2019-03-03T01:01:45.000Z","updated_at":"2024-08-22T15:30:07.000Z","dependencies_parsed_at":"2023-02-08T20:30:52.315Z","dependency_job_id":null,"html_url":"https://github.com/esteinig/sketchy","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esteinig%2Fsketchy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esteinig%2Fsketchy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esteinig%2Fsketchy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esteinig%2Fsketchy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/esteinig","download_url":"https://codeload.github.com/esteinig/sketchy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248304940,"owners_count":21081551,"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":["bacterial-genomes","bioinformatics","finch","genomic-neighbor-typing","mash","minhash","nanopore","rust-lang"],"created_at":"2025-02-03T08:55:59.457Z","updated_at":"2025-04-10T21:37:37.030Z","avatar_url":"https://github.com/esteinig.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sketchy \u003ca href='https://github.com/esteinig'\u003e\u003cimg src='docs/images/logo.png' align=\"right\" height=\"250\" /\u003e\u003c/a\u003e\n\n![](https://img.shields.io/badge/lang-rust-black.svg)\n![](https://img.shields.io/badge/version-0.6.0-green.svg)\n![](https://img.shields.io/badge/preprint-0.12.0-green.svg)\n\nGenomic neighbor typing for lineage and genotype inference\n\n## Overview\n\n**`v0.6.0`**\n\n`Sketchy` is a lineage calling and genotyping tool based on the heuristic principle of genomic neighbor typing developed by [Karel Břinda and colleagues (2020)](https://www.biorxiv.org/content/10.1101/403204v2). It queries species-wide ('hypothesis-agnostic') reference sketches using MinHash and infers associated genotypes based on the closest match, including multi-locus sequence types, susceptibility profiles, virulence factors or other genome-associated features provided by the user. Unlike the original implementation in [`RASE`](https://github.com/c2-d2/rase-pipeline), `sketchy` does not use phylogenetic trees which has some downsides, e.g. for sublineage genotype predictions (see below). \n\nSee the [latest docs](https://esteinig.github.io/sketchy) for install, usage and database building.\n\n## Install\n\nCargo:\n\n```\ncargo install sketchy\n```\n\nBioConda:\n\n```\nconda install -c bioconda sketchy\n```\n\n[Release binaries](https://github.com/esteinig/sketchy/releases) available for download. Reference sketches can be constructed from local [assembly and genotype collections](https://esteinig.github.io/sketchy/#local-sketches). *S. aureus* reference sketches are available in the data availability section below.\n\n## Strengths and limitations\n\n\n* Reference sketches and genotype indices can be constructed easily from large genotype collections\n* `Sketchy` requires few resources when using small sketch sizes (`s = 1000`) \n* `Sketchy` performs best on lineage predictions and lineage-wide genotypes from very few reads - we found that tens to hundreds of reads can often give a good idea of the close matches in the reference sketch (especially when inspecting the top matches using `--top`)\n\nHowever:\n\n* Clade-specific genotype resolution is not as good as when using phylogenetic guide trees (`RASE`)\n* Sketch size can be increased to increase performance (`s = 10000`), but resources scale approximately linearly\n* `Sketchy` genotype inference may be difficult for species with high rates of homologous recombination\n\n## Data availability\n\n* Reference sketches and genotype files (`s = 1000`, `s = 10000`, `k = 16`) for [*S. aureus*](https://cloudstor.aarnet.edu.au/plus/s/3EBgvXi6sVHW8Ne) (full genotypes including susceptibility predictions and other genotypes), *S. pneumoniae*, *K. pneumoniae*, *P. aeruginosa* and *Neisseria spp.* (MLST) can be found in the [data repository](https://cloudstor.aarnet.edu.au/plus/s/rL0RHYunqhRK3i1).\n* Reference sketches for cross-validation on the simulated species data can be found in this [data repository](https://cloudstor.aarnet.edu.au/plus/s/7ICPoSru6s6EHNY); genome assemblies for all species extracted from the ENA reference collection are available in this [data repository](https://cloudstor.aarnet.edu.au/plus/s/Td3ahBCPP2YAhCU)\n* Scripts to extract data from the ENA collections [Grace Blackwell et al.](https://journals.plos.org/plosbiology/article?id=10.1371/journal.pbio.3001421) and compute reference metrics can be found in the [scripts directory](scripts/).\n* Nanopore reads for the outbreak isolates and genotype surveillance panels in Papua New Guinea (Flongle, Goroka, sequential protocol) are available for download in the [data repository](https://cloudstor.aarnet.edu.au/plus/s/MFkirfq1N6uIosc). Raw sequence data (Illumina / ONT) is being uploaded to NCBI (PRJNA657380).\n\n## Preprint\n\nIf you use `sketchy` for research and other applications, please cite:\n\n\u003e  Steinig et al. (2022) - Genomic neighbor typing for bacterial outbreak surveillance - bioRxiv 2022.02.05.479210; doi: https://doi.org/10.1101/2022.02.05.479210 \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Festeinig%2Fsketchy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Festeinig%2Fsketchy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Festeinig%2Fsketchy/lists"}