whatisgithub

What is war_cat?

excellent-push2883/war_cat — explained in plain English

Analysis updated 2026-05-18

2ShellAudience · researcherComplexity · 4/5Setup · hard

In one sentence

A script that automates running PharmCAT on raw genomic sequencing files to produce a pharmacogenomic report, without needing Docker.

Mindmap

mindmap
  root((repo))
    What it does
      Automates PharmCAT pipeline
      Converts VCF and BAM inputs
      Generates HTML report
    Tech stack
      Shell
      Java
      bcftools
      Aldy
    Use cases
      Generate pharmacogenomic reports
      Avoid Docker network issues
      Process raw sequencing output
    Audience
      Bioinformatics researchers
    Caveats
      Not a clinical tool
      May need patches

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Generate a PharmCAT pharmacogenomic report from raw VCF and BAM sequencing files.

USE CASE 2

Avoid Docker Hub image-pull failures by running PharmCAT with plain Java instead.

USE CASE 3

Automatically call CYP2D6 genotype from a BAM file using Aldy.

USE CASE 4

Batch process genomic data from services like sequencing.com into readable reports.

What is it built with?

ShellJavaPythonbcftools

How does it compare?

excellent-push2883/war_catayush-sk-pathak/claude-code-starter-packbitman-sachs/minimax-m3-tp3-rtx6000
Stars222
LanguageShellShellShell
Setup difficultyhardeasyhard
Complexity4/52/55/5
Audienceresearcherdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires Java 17+, several genomics command line tools, and on Windows a WSL environment, not a clinical tool.

So what is it?

WAR_CAT is a script that automates running a genetics analysis tool called PharmCAT, which produces a pharmacogenomic report, meaning a report about how a person's genetic makeup might affect how they respond to certain medications. It takes raw genomic sequencing files, such as VCF or gVCF files and optionally BAM files, and turns them into a finished PharmCAT report without requiring the user to run each step of the pipeline by hand. A notable design choice is that it runs PharmCAT using plain Java rather than Docker, specifically to avoid Docker Hub network failures that can happen when pulling container images. It installs PharmCAT by downloading a specific pinned version directly from GitHub instead. The pipeline detects the input files, figures out whether they are gVCF or plain VCF format and checks the chromosome naming convention used, downloads a matching reference genome, builds a working VCF file by either re-calling from a BAM file or expanding the gVCF, and removes a particular data field that would otherwise cause the normalization step to crash. If a BAM file is present, it also calls a specific gene called CYP2D6 using a tool named Aldy. It then runs PharmCAT's own preprocessing step and finally generates an HTML report. Running it requires Java 17 or newer along with several genomics command line tools, and on Windows the whole process is meant to run inside WSL rather than through Docker Desktop. The first run downloads PharmCAT itself along with two reference genome files, each around 0.9 gigabytes, but these are cached so later runs are much faster. Several environment variables let you override details like which PharmCAT version to use or force a specific CYP2D6 result. The README explicitly states this is not a clinical tool and that anything important produced by the report should be confirmed before being acted on. It also notes the pipeline has been verified against genomic data from sequencing.com and that patches may still be needed.

Copy-paste prompts

Prompt 1
Walk me through what WAR_CAT does to my VCF file before it reaches PharmCAT.
Prompt 2
Help me set up Java 17 and the required genomics tools to run this pipeline in WSL.
Prompt 3
Explain why this project avoids Docker and downloads PharmCAT directly from GitHub instead.
Prompt 4
Show me how to override the PharmCAT version or force a specific CYP2D6 result using the environment variables.

Frequently asked questions

What is war_cat?

A script that automates running PharmCAT on raw genomic sequencing files to produce a pharmacogenomic report, without needing Docker.

What language is war_cat written in?

Mainly Shell. The stack also includes Shell, Java, Python.

How hard is war_cat to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is war_cat for?

Mainly researcher.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.