{"id":20810149,"url":"https://github.com/lh3/minipileup","last_synced_at":"2025-04-09T07:10:27.790Z","repository":{"id":230659713,"uuid":"779876306","full_name":"lh3/minipileup","owner":"lh3","description":"Simple pileup-based variant caller","archived":false,"fork":false,"pushed_at":"2025-02-23T00:57:30.000Z","size":104,"stargazers_count":87,"open_issues_count":4,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-02T05:08:00.955Z","etag":null,"topics":["bioinformatics","variant-calling"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"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":null,"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":"2024-03-31T02:57:24.000Z","updated_at":"2025-03-27T00:44:34.000Z","dependencies_parsed_at":"2024-03-31T06:31:44.606Z","dependency_job_id":"cb8ca6fa-a529-424b-a086-3a927148f73c","html_url":"https://github.com/lh3/minipileup","commit_stats":null,"previous_names":["lh3/minipileup"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lh3%2Fminipileup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lh3%2Fminipileup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lh3%2Fminipileup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lh3%2Fminipileup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lh3","download_url":"https://codeload.github.com/lh3/minipileup/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247994122,"owners_count":21030050,"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","variant-calling"],"created_at":"2024-11-17T20:20:01.183Z","updated_at":"2025-04-09T07:10:27.763Z","avatar_url":"https://github.com/lh3.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Introduction\n\nMinipileup is a simple pileup-based variant caller. It takes a reference FASTA\nand one or multiple alignment BAM as input, and outputs a multi-sample VCF along with\nallele counts:\n```sh\nsamtools faidx ref.fa       # index FASTA; bgzip'd FASTA is not supported\nminipileup -yf ref.fa -p.2 aln1.bam aln2.bam \u003e var.vcf\n```\nYou can adjust mapping quality, base quality, alignment length and allele count\nthresholds, or specify regions on the command line.\n\nMinipileup does not use realignment or local reassembly and cannot compete with\nfull-pledge variant callers such as GATK on typical input. Nonetheless, you\nmight find it useful for counting alleles in applications GATK is not designed\nfor. In principle, you can parse the samtools mpileup output to generate a VCF\nbut minipileup is faster and more convenient.\n\nMinipileup is adapted from the [htsbox][htsbox] pileup command which was\ninitially implemented in 2012 and has been a tool I frequently use to\ninvestigate alignment data.\n\n## Methods\n\nMinipileup briefly follows three steps:\n\n1. Read filtering. This step controls reads used for pileup. You can filter\n   reads by mapping quality (`-q`), alignment length (`-l` and `-S`) or by\n   region (`-b`).\n\n2. Allele counting. Initial pileup is generated with the htslib\n   `bam_mplp_auto()` API. At each position, alleles across all input BAMs are\n   grouped and the number of supporting reads for each allele is calculated.\n   Bases of low quality (`-Q`) or close to reads ends (`-T`) may be ignored.\n   Minipileup drops alleles supported by too few reads (`-s`, `-a` and `-p`).\n\n3. Output. In the variant VCF mode (`-vc` and `-f`), a site is outputted if a\n   non-reference allele remains. The VCF shows the number of supporting reads\n   of each allele in each BAM. Strand information can be optionally obtained\n   (`-C`). If the minimum allele fraction (`-p`) is specified, the minor allele\n   fraction in a heterozygous genotype must be above the threshold.\n\n[htsbox]: https://github.com/lh3/htsbox\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flh3%2Fminipileup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flh3%2Fminipileup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flh3%2Fminipileup/lists"}