Installation¶
System prerequisites¶
PeakATail calls samtools and bedtools at runtime via subprocess. Both must be on your PATH before you run ema run.
Verify that the binaries are visible:
Python version¶
PeakATail requires Python 3.11 or later (requires-python = ">=3.11" in pyproject.toml). Check your active interpreter:
Using uv (recommended) pins the interpreter automatically. If you are on an older system Python, install 3.11 first:
Install PeakATail¶
The -e flag installs in editable mode so source changes take effect immediately without reinstalling.
Verify the installation¶
Expected output (version number matches pyproject.toml):
Running ema --help lists every subcommand:
Usage: ema [OPTIONS] COMMAND [ARGS]...
PeakATail — single-cell poly(A) site detection and APA analysis.
Options:
--version Show the version and exit.
-h, --help Show this message and exit.
Commands:
merge Merge BAM files before peak calling.
parse-gtf Pre-warm the GTF annotation cache.
run Full pipeline: peak-calling → clustering.
switch Per-cluster differential APA analyses.
wizard Interactive configuration wizard.
Optional: pre-warm the GTF cache¶
The first ema run invocation parses your GTF to build a gene-end BED and a UTR-lengths table. For large GTFs (Ensembl GRCh38 is ~1 GB) this takes a few minutes. You can do it up front so it does not delay your first pipeline run:
The cache is stored next to the GTF file in a gtf_cache/ directory and is reused automatically on subsequent runs.