# Install bcftools with Homebrew, apt, dnf, MacPorts, Nix, zypper

Tools for BCF/VCF files and variant calling from samtools. Version 1.23.1 via Homebrew; verified 2026-06-22.

## Install

```sh
sudo av install brew:bcftools
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install bcftools
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install bcftools
```

  Evidence: MacPorts ports tree: science/bcftools/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Debian apt (92%):

```sh
sudo apt install bcftools
```

  Evidence: Debian stable package indexes: bcftools from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install bcftools
```

  Evidence: Fedora Rawhide package metadata: bcftools from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#bcftools
```

  Evidence: nixpkgs package indexes: pkgs/by-name/bc/bcftools/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- zypper (92%):

```sh
sudo zypper install bcftools
```

  Evidence: openSUSE Tumbleweed package metadata: bcftools from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:bcftools
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/bcftools>
- **Version:** 1.23.1
- **Source summary:** Tools for BCF/VCF files and variant calling from samtools
- **Homepage:** <https://www.htslib.org/>
- **Repository:** <https://github.com/samtools/bcftools>
- **Upstream docs:** <https://samtools.github.io/bcftools/bcftools.html>
- **License:** GPL-3.0-or-later
- **Source archive:** <https://github.com/samtools/bcftools/releases/download/1.23.1/bcftools-1.23.1.tar.bz2>
- **Last updated:** 2026-06-22T14:02:52-07:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- bcftools (cli)
- color-chrs.pl (cli)
- gff2gff (cli)
- gff2gff.py (cli)
- guess-ploidy.py (cli)
- plot-roh.py (cli)
- plot-vcfstats (cli)
- roh-viz (cli)
- run-roh.pl (cli)
- vcfutils.pl (cli)
- vrfs-variances (cli)
- bcftools (alias)
- color-chrs.pl (alias)
- gff2gff (alias)
- gff2gff.py (alias)
- guess-ploidy.py (alias)
- plot-roh.py (alias)
- plot-vcfstats (alias)
- roh-viz (alias)
- run-roh.pl (alias)
- vcfutils.pl (alias)
- vrfs-variances (alias)

## Dependencies

- gsl
- htslib

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.23.1
- Package-manager updated: 2026-06-22
- Local data: ok
- Upstream repository: https://github.com/samtools/bcftools
- info: No cached GitHub release or tag data was available.
## Project history and usage

bcftools is one of the core command-line toolkits of modern genomics: it reads, writes, filters, queries, summarizes, and calls variants in VCF, BCF, and gVCF formats.

### Project history

BCFtools grew out of the SAMtools ecosystem for high-throughput sequencing data. The upstream README says it implements utilities for variant calling, in conjunction with SAMtools, and for manipulating VCF and BCF files, with the intention of replacing Perl-based tools from vcftools.

The Samtools project now presents three related repositories: Samtools for SAM/BAM/CRAM, BCFtools for BCF2/VCF/gVCF and variant calling/filtering/summarising SNPs and short indels, and HTSlib as the underlying C library.

### Adoption history

The 2021 GigaScience paper by the SAMtools/BCFtools authors describes SAMtools and BCFtools as widely used programs for processing and analysing high-throughput sequencing data, first appearing online 12 years earlier and used in many other projects and genomic pipelines.

The same paper reports that both SAMtools and BCFtools had been installed more than one million times via Bioconda, making bcftools a rare CLI package whose package-manager footprint maps directly to scientific infrastructure.

### How it is used

bcftools is used for file-format conversion and manipulation, sorting, querying, statistics, variant calling, filtering, and effect analysis. In pipelines it commonly appears after alignment and BAM/CRAM processing, where it calls or filters variants into VCF/BCF outputs.

The executable is usually scripted rather than used as a single monolithic command: subcommands such as view, query, filter, stats, mpileup, call, norm, annotate, merge, and concat make it a toolkit for repeatable genomics workflows.

### Why package nerds care

bcftools is package-nerd significant because it is a dependency-shaped scientific standard: small enough to install as a CLI, but central enough that entire variant-calling workflows assume it is available and versioned consistently.

It is also a good example of package-manager science: Homebrew, Debian, Fedora, MacPorts, Nix, Ubuntu, and Bioconda-style environments turn a research-code lineage into a reproducible command people can pin in workflows, containers, and clusters.

The BCF/VCF domain makes versioning matter. File formats, reference assumptions, compression/indexing via HTSlib, and pipeline reproducibility all mean bcftools is not just a convenience binary; it is part of the scientific record for many analyses.

### Timeline

- 2009: SAMtools/BCFtools lineage begins, per the 2021 'Twelve years' project history.
- 2013: Official GitHub bcftools repository created.
- 2021: GigaScience publishes 'Twelve years of SAMtools and BCFtools'.
- 2020s: bcftools continues as part of the Samtools/HTSlib ecosystem and remains broadly packaged.

### Related projects

- SAMtools handles SAM/BAM/CRAM operations in the same project family.
- HTSlib is the C library used internally for high-throughput sequencing formats.
- vcftools is the older Perl-based toolkit that bcftools was intended to replace for many VCF/BCF operations.
- Bioconda, workflow engines, and containerized genomics environments are major adoption channels.

### Sources

- <https://doi.org/10.1093/gigascience/giab008>
- <https://github.com/samtools/bcftools>
- <https://samtools.github.io/bcftools/bcftools.html>
- <https://www.htslib.org/>
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** bcftools
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - bcftools - 1.21-1: normalized package name match | Debian stable package indexes: bcftools from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | genomic variant calling and manipulation of VCF/BCF files | https://samtools.github.io/bcftools/
- Nix - bcftools: normalized package name match | nixpkgs package indexes: pkgs/by-name/bc/bcftools/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - bcftools - 1.19-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: bcftools from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | genomic variant calling and manipulation of VCF/BCF files | https://samtools.github.io/bcftools/
- dnf - bcftools - 1.23.1-1.fc45: normalized package name match | Fedora Rawhide package metadata: bcftools from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Tools for genomic variant calling and manipulating VCF/BCF files | https://www.htslib.org/
- zypper - bcftools - 1.21-1.3: normalized package name match | openSUSE Tumbleweed package metadata: bcftools from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Tools for manipulating variant calls in the Variant Call Format (VCF) | http://www.htslib.org/
- MacPorts - bcftools: normalized package name match | MacPorts ports tree: science/bcftools/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Scientific computing packages](https://www.automicvault.com/pkg/scientific-computing-tools/) - Matched scientific computing metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [gsl](https://www.automicvault.com/pkg/brew/gsl/) - Runtime dependency declared by Homebrew.
- [htslib](https://www.automicvault.com/pkg/brew/htslib/) - Runtime dependency declared by Homebrew.
- [samtools](https://www.automicvault.com/pkg/brew/samtools/) - Shares the same upstream homepage.
- [freebayes](https://www.automicvault.com/pkg/brew/freebayes/) - Shares av.db curated category or tags: bioinformatics, cli, science, variant-calling, vcf.
- [vcflib](https://www.automicvault.com/pkg/brew/vcflib/) - Shares av.db curated category or tags: bioinformatics, cli, science, variant-calling, vcf.
- [picard-tools](https://www.automicvault.com/pkg/brew/picard-tools/) - Shares av.db curated category or tags: bioinformatics, cli, science, vcf.
- [vcfanno](https://www.automicvault.com/pkg/brew/vcfanno/) - Shares av.db curated category or tags: bioinformatics, cli, science, vcf.
- [vcftools](https://www.automicvault.com/pkg/brew/vcftools/) - Shares av.db curated category or tags: bioinformatics, cli, science, vcf.
- [abpoa](https://www.automicvault.com/pkg/brew/abpoa/) - Shares av.db curated category or tags: bioinformatics, cli, science.
- [abricate](https://www.automicvault.com/pkg/brew/abricate/) - Shares av.db curated category or tags: bioinformatics, cli, science.
- [abyss](https://www.automicvault.com/pkg/brew/abyss/) - Shares av.db curated category or tags: bioinformatics, cli, science.

## Combined YAML source

View the package source record on GitHub. [combined/bcftools.yml](https://github.com/automic-vault/db/blob/main/combined/bcftools.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
