Skip to content

📦 Request to Add Formula: Ensembl VEP #312

Description

@BenjaminDEMAILLE

Hi Homebrew Science team,

I’d like to request the inclusion of a formula for VEP (Variant Effect Predictor), a widely used tool from Ensembl for annotating genomic variants with information about their predicted functional effects.

Tool name: ensembl-vep
Source: https://github.com/Ensembl/ensembl-vep
License: Apache License 2.0
Latest release: v110.0 (as of March 2024)
Platform support: Linux and macOS
Installation: Perl-based with module dependencies, provided installer script

🧬 Why VEP?
VEP is an essential tool in human genomics and clinical genetics. It provides detailed functional annotation for variants (SNPs, indels, CNVs, structural variants) using Ensembl gene models and supports a wide range of plugins and reference datasets. Making it available via Homebrew would greatly streamline installation for researchers on macOS and Linux alike.

⚙️ Installation Notes
The Ensembl VEP repository includes an installer script that sets up the environment and dependencies. However, for Homebrew, a minimal installation with Perl and required modules would be most appropriate.

Dependencies:

perl
CPAN modules: DBI, DBD::mysql, Archive::Zip, JSON, LWP::Simple, IO::Uncompress::Gunzip, Digest::MD5, etc.
Optional: htslib for bgzip/tabix support
VEP also optionally downloads cache files and plugins for enhanced annotations. These can be installed post-installation by the user via the INSTALL.pl script.

✅ Suggested Formula (draft)

class EnsemblVep < Formula
  desc "Variant Effect Predictor (VEP) from Ensembl for genomic variant annotation"
  homepage "https://www.ensembl.org/info/docs/tools/vep/index.html"
  url "https://github.com/Ensembl/ensembl-vep/archive/refs/tags/release/110.0.tar.gz"
  sha256 "..." # ← SHA256 of the tar.gz
  license "Apache-2.0"

  depends_on "perl"
  depends_on "htslib"

  def install
    prefix.install Dir["*"]
    bin.install_symlink prefix/"vep" => "vep"
  end

  def caveats
    <<~EOS
      VEP has been installed.

      To install species cache files or plugins, run:
        perl #{opt_prefix}/INSTALL.pl

      You can then annotate variants like so:
        vep -i input.vcf --cache --species homo_sapiens

      Documentation: https://www.ensembl.org/info/docs/tools/vep/index.html
    EOS
  end

  test do
    system "#{bin}/vep", "--help"
  end
end

I’d be happy to open a pull request with a tested and version-locked formula (with full sha256) if desired. Let me know if any adjustments are needed or if it would be better to create a vep plugin tap instead of placing it in core homebrew-science.

Thanks again for all your work maintaining tools critical to the bioinformatics community!

Best regards,
Benjamin Demaille

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions