Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

📦 Request to Update Formula: kallisto (--pseudobam support) #313

Open
BenjaminDEMAILLE opened this issue Mar 23, 2025 · 0 comments
Open

Comments

@BenjaminDEMAILLE
Copy link

Hi Homebrew Science team,

I’d like to request updating the kallisto formula to build from the bam branch of the PachterLab/kallisto repository.

This branch adds the powerful --pseudobam feature, enabling pseudoalignment output in BAM format — highly useful for downstream compatibility with genome browsers and alignment-based tools.

🔍 Summary
Tool: kallisto
Repository: https://github.com/pachterlab/kallisto
Target branch: bam
License: BSD 2-Clause
Key addition: --pseudobam (outputs pseudoalignments in BAM format)
Change requested: compile with -DUSE_BAM=ON

🚀 Why this matters
The --pseudobam mode enables:

Direct visualization of pseudoalignments in genome browsers like IGV
Generation of BAM-formatted pseudoalignments for quality control
Use of kallisto in pipelines that expect BAM input/output stages
The branch is actively used and has no breaking changes; it retains all previous kallisto functionality.

⚙️ Build Instructions
The following CMake flag is required:

cmake .. -DUSE_BAM=ON

This enables linking to HTSlib and builds BAM output support.

🧱 Dependencies
cmake
zlib
htslib (now required)
libomp (optional, multithreading)

✅ Suggested Formula Changes

class Kallisto < Formula
  desc "Quantification of transcript expression from RNA-Seq data (with --pseudobam support)"
  homepage "https://pachterlab.github.io/kallisto/"
  url "https://github.com/pachterlab/kallisto/archive/refs/heads/bam.tar.gz"
  sha256 "<INSERT_SHA256_HERE>"
  license "BSD-2-Clause"

  depends_on "cmake" => :build
  depends_on "htslib"
  depends_on "zlib"

  def install
    mkdir "build" do
      system "cmake", "..", "-DUSE_BAM=ON", *std_cmake_args
      system "make"
      bin.install "kallisto"
    end
  end

  test do
    assert_match "kallisto", shell_output("#{bin}/kallisto --version")
    system "#{bin}/kallisto", "quant", "--help"
  end
end

💬 Additional Notes
This update is backward-compatible with existing kallisto usage.
--pseudobam is only enabled with -DUSE_BAM=ON, hence critical to include in the formula.
No renaming of the binary — fully drop-in replacement.
Let me know if you'd prefer a side-by-side formula like kallisto-pseudobam, but from a maintenance and user perspective, this improved version makes sense as the default.

Thanks a lot for maintaining such a crucial collection for the bioinformatics community!

Best regards,

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

No branches or pull requests

1 participant