Skip to content

bsaseq

Bulk Segregant Analysis for QTL mapping from pooled whole-genome sequencing.

bsaseq identifies genomic loci controlling traits by comparing allele frequencies between phenotypically distinct bulked DNA pools. It provides a complete, reproducible workflow from a joint VCF to ranked candidate genes.

Install Quick start CLI reference

What it does

From a joint VCF of two bulks it computes per-SNP delta allele frequency, smooths it over sliding genomic windows with a tricube kernel, scores windows with a genome-wide Z-score and a G-statistic, calls candidate regions, and optionally annotates candidate variants with snpEff to rank genes.

Features

  • Multi-sample bulk support (pool technical replicates)
  • Sliding-window analysis with tricube smoothing
  • Z-score and G-statistic for candidate-region detection
  • Recessive and dominant inheritance modes
  • Optional snpEff annotation with gene-level ranking
  • Publication-quality genome-wide and regional plots
  • TSV, BED, and VCF outputs; Nextflow and Snakemake templates; SLURM/HPC tested

Pipeline

Joint VCF
  -> io        parse VCF (cyvcf2), pool bulks
  -> core      Variant/Window models; allele freq, delta-AF, G-statistic
  -> analysis  tricube-smoothed sliding windows, genome-wide Z-scores, region calling
  -> annotation (optional) snpEff effects, gene ranking
  -> outputs   TSV/BED tables, Manhattan/regional plots, ranked candidate genes

Install

pip install bsaseq                    # PyPI
conda install -c bioconda bsaseq      # Bioconda
docker pull arnstrm2/bsaseq           # Docker Hub

Citation

See CITATION.cff in the repository.