{"id":13752485,"url":"https://github.com/lh3/yak","last_synced_at":"2025-05-07T08:12:33.021Z","repository":{"id":42863907,"uuid":"214455739","full_name":"lh3/yak","owner":"lh3","description":"Yet another k-mer analyzer","archived":false,"fork":false,"pushed_at":"2024-04-01T21:39:44.000Z","size":88,"stargazers_count":133,"open_issues_count":15,"forks_count":9,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-05-07T08:12:25.968Z","etag":null,"topics":["bioinformatics","k-mer"],"latest_commit_sha":null,"homepage":null,"language":"C","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/lh3.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2019-10-11T14:22:16.000Z","updated_at":"2025-04-09T14:49:40.000Z","dependencies_parsed_at":"2024-04-01T22:46:49.156Z","dependency_job_id":null,"html_url":"https://github.com/lh3/yak","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lh3%2Fyak","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lh3%2Fyak/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lh3%2Fyak/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lh3%2Fyak/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lh3","download_url":"https://codeload.github.com/lh3/yak/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252839295,"owners_count":21812090,"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":["bioinformatics","k-mer"],"created_at":"2024-08-03T09:01:06.483Z","updated_at":"2025-05-07T08:12:33.005Z","avatar_url":"https://github.com/lh3.png","language":"C","funding_links":[],"categories":["Ranked by starred repositories"],"sub_categories":[],"readme":"**IMPORTANT: Since 3ace4ff, the format of binary k-mer dump is incompatible\nwith the previous versions. You have to rerun `yak count` to generate k-mer\ndump in the new format.**\n\n## Getting Started\n\n```sh\n# Download and compile\ngit clone https://github.com/lh3/yak\ncd yak \u0026\u0026 make\n\n# build k-mer hash table for assembly; count singletons\n./yak count -K1.5g -t32 -o asm.yak asm.fa.gz\n# build k-mer hash tables for high-coverage reads; discard singletons\n./yak count -b37 -t32 -o ccs.yak ccs-reads.fq.gz\n# for paired end: to provide two identical streams\n./yak count -b37 -t32 -o sr.yak \u003c(zcat sr*.fq.gz) \u003c(zcat sr*.fq.gz)\n\n# compute assembly or reads QV\n./yak qv -t32 -p -K3.2g -l100k sr.yak asm.fa.gz \u003e asm-sr.qv.txt\n./yak qv -t32 -p sr.yak ccs-reads.fq.gz \u003e ccs-sr.qv.txt\n# compute k-mer QV for reads\n./yak inspect ccs.yak sr.yak \u003e ccs-sr.kqv.txt\n# evaluate the completeness of assembly\n./yak inspect sr.yak asm.yak \u003e sr-asm.kqv.txt\n\n# print k-mer histogram\n./yak inspect sr.yak \u003e sr.hist\n\n# partition chrX/Y in human de novo assembly\nwget -O- 'https://zenodo.org/record/7882299/files/human-chrXY-yak.tar?download=1' | tar tf -\n./yak sexchr -K2g -t16 chrY-no-par.yak chrX-no-par.yak par.yak hap1.fa hap2.fa \u003e cnt.txt\n./groupxy.pl cnt.txt|awk '$4==1'|cut -f2|seqtk subseq -l80 \u003c(cat hap1.fa hap2.fa) - \u003e new-hap1.fa\n./groupxy.pl cnt.txt|awk '$4==2'|cut -f2|seqtk subseq -l80 \u003c(cat hap1.fa hap2.fa) - \u003e new-hap2.fa\n```\n\n## Introduction\n\nYak is initially developed for two specific use cases: 1) to robustly estimate\nthe base accuracy of CCS reads and assembly contigs, and 2) to investigate the\nsystematic error rate of CCS reads. It achieves the goals by comparing\nsequences to the k-mer spectrum of short reads or by comparing spectra. No\nreference genome or truth data is needed.\n\nIt is worth noting that estimating base accuracy is tricky. When the accuracy\napproaches Q50, both unsampled and erroneous k-mers in short reads may\ninterfere with a naive estimator. Yak introduces an empirical model to address\nthis issue. Its estimate is less affected by the coverage and the quality of\nshort reads.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flh3%2Fyak","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flh3%2Fyak","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flh3%2Fyak/lists"}