{"id":25938658,"url":"https://github.com/karel-brinda/ococo","last_synced_at":"2025-03-04T03:37:49.616Z","repository":{"id":85979238,"uuid":"45266025","full_name":"karel-brinda/ococo","owner":"karel-brinda","description":"Ococo: the first online variant and consensus caller. Call genomic consensus directly from an unsorted SAM/BAM stream.","archived":false,"fork":false,"pushed_at":"2019-01-18T23:40:58.000Z","size":3655,"stargazers_count":47,"open_issues_count":10,"forks_count":4,"subscribers_count":9,"default_branch":"master","last_synced_at":"2023-10-20T20:54:28.008Z","etag":null,"topics":["bioinformatics","consensus","ngs","online-algorithms","variant-calling"],"latest_commit_sha":null,"homepage":"https://arxiv.org/abs/1712.01146","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/karel-brinda.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}},"created_at":"2015-10-30T17:26:34.000Z","updated_at":"2023-10-20T20:55:19.969Z","dependencies_parsed_at":null,"dependency_job_id":"c7a4c6eb-892b-46a7-a330-0738b5743555","html_url":"https://github.com/karel-brinda/ococo","commit_stats":null,"previous_names":[],"tags_count":9,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karel-brinda%2Fococo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karel-brinda%2Fococo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karel-brinda%2Fococo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karel-brinda%2Fococo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/karel-brinda","download_url":"https://codeload.github.com/karel-brinda/ococo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241780472,"owners_count":20019058,"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","consensus","ngs","online-algorithms","variant-calling"],"created_at":"2025-03-04T03:37:49.163Z","updated_at":"2025-03-04T03:37:49.603Z","avatar_url":"https://github.com/karel-brinda.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OCOCO - the first online variant and consensus caller\n\n[![Build Status](https://travis-ci.org/karel-brinda/ococo.svg?branch=master)](https://travis-ci.org/karel-brinda/ococo)\n[![Arxiv](https://img.shields.io/badge/arXiv-1712.01146-green.svg?style=flat)](https://arxiv.org/abs/1712.01146)\n[![install with bioconda](https://img.shields.io/badge/install%20with-bioconda-brightgreen.svg?style=flat-square)](https://anaconda.org/bioconda/ococo)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.1066531.svg)](https://doi.org/10.5281/zenodo.1066531)\n\n\n## Abstract\n\n**Motivation:** Identifying genomic variants is an essential step for connecting genotype and\nphenotype. The usual approach consists of statistical inference of variants\nfrom alignments of sequencing reads. State-of-the-art variant callers can\nresolve a wide range of different variant types with high accuracy. However,\nthey require that all read alignments be available from the beginning of\nvariant calling and be sorted by coordinates. Sorting is computationally\nexpensive, both memory- and speed-wise, and the resulting pipelines suffer from\nstoring and retrieving large alignments files from external memory. Therefore,\nthere is interest in developing methods for resource-efficient variant calling.\n\n**Results:** We present Ococo, the first program capable of inferring variants in a\nreal-time, as read alignments are fed in. Ococo inputs unsorted alignments from\na stream and infers single-nucleotide variants, together with a genomic\nconsensus, using statistics stored in compact several-bit counters. Ococo\nprovides a fast and memory-efficient alternative to the usual variant calling.\nIt is particularly advantageous when reads are sequenced or mapped\nprogressively, or when available computational resources are at a premium.\n\n[![Several-bit Ococo counters](figures/Figure_1.svg)](figures/Figure_1.pdf)\n\n\n## Citation\n\n\u003e Brinda K, Boeva V, Kucherov G. **Ococo: an online variant and consensus\n\u003e caller.** arXiv:1712.01146 [q-bio.GN], 2018. https://arxiv.org/abs/1712.01146\n\nResults from the paper were generated using code in the following repository:\nhttps://github.com/karel-brinda/ococo-paper-analysis.  The entire computation\nis also available as a [CodeOcean\ncapsule](https://codeocean.com/2018/11/14/ococo-colon-an-online-variant-and-consensus-caller).\n\n\n## Quick example\n\n```bash\ngit clone --recursive https://github.com/karel-brinda/ococo\ncd ococo \u0026\u0026 make -j\n./ococo -i test.bam -f test.fa --vcf-cons -\n```\n\n## Installation\n\n### From Bioconda\n\n```\nconda install -c bioconda ococo\n```\n\n### Building from source\n\n**Prerequisities**\n\n* GCC 4.8+ or equivalent\n* ZLib\n\n**Compilation:** ``make``\n\n**Installation:** ``make install``\n\n\n## How to use\n\n\u003c!---\nUSAGE-BEGIN\n--\u003e\n```\nSYNOPSIS\n       ococo -i \u003cSAM/BAM file\u003e [other options]\n\nDESCRIPTION\n       Ococo  is  a  program to call variants and a genomic consensus directly\n       from an unsorted SAM/BAM stream.\n\n   Input options:\n       -i, --input FILE\n\t      Input SAM/BAM file (- for standard input).\n\n       -f, --fasta-ref FILE\n\t      Initial FASTA reference (otherwise a seq of N's is used).\n\n       -s, --stats-in FILE\n\t      Input statistics.\n\n   Output options:\n       -F, --fasta-cons FILE Print consensus in FASTA.\n\n       -S, --stats-out FILE\n\t      Export statistics to a file.\n\n       -V, --vcf-cons FILE\n\t      Print inferred variants in VCF (- for standard output).\n\n       -P, --pileup FILE\n\t      Print SAMtools pileup (- for standard output).\n\n       --verbose\n\t      Use the verbose mode (report every update of a counter).\n\n   Parameters for consensus calling:\n       -x, --counters STR\n\t      Counter configuration [ococo32].\n\n\n\t      configuration   bits/counter   bits/position\n\t      ococo16\t      3 \t     16\n\t      ococo32\t      7 \t     32\n\t      ococo64\t      15\t     64\n\n\n       -m, --mode STR\n\t      Mode [batch].\n\n\n\t      mode\t  description\n\t      real-time   updates reported immediately\n\t      batch\t  updates reported after end of algn stream\n\n\n       -q, --min-MQ INT\n\t      Skip alignments with mapping quality smaller than INT [1].\n\n       -Q, --min-BQ INT\n\t      Skip bases with base quality smaller than INT [13].\n\n       -w, --ref-weight INT\n\t      Initial counter value for nucleotides from ref [0].\n\n       -c, --min-cov INT\n\t      Minimum coverage required for update [2].\n\n       -M, --maj-thres FLOAT\n\t      Majority threshold [0.51].\n\n```\n\u003c!---\nUSAGE-END\n--\u003e\n\n\n## Issues\n\nPlease use [Github issues](https://github.com/karel-brinda/ococo/issues).\n\n\n## Changelog\n\nSee [Releases](https://github.com/karel-brinda/ococo/releases).\n\n\n## Licence\n\n[MIT](https://github.com/karel-brinda/ococo/blob/master/LICENSE)\n\n\n## Author\n\n[Karel Brinda](http://brinda.cz) \\\u003ckbrinda@hsph.harvard.edu\\\u003e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarel-brinda%2Fococo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkarel-brinda%2Fococo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarel-brinda%2Fococo/lists"}