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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions