Skip to main content

peaks2utr: a robust, parallelized Python CLI for annotating 3' UTR

CI PYPI - Version PYPI - Python Version License: GPL v3 DOI

peaks2utr is a Python command-line tool that annotates 3' untranslated regions (UTR) for a given set of aligned sequencing reads in BAM format, and canonical annotation in GFF or GTF format. peaks2utr uses MACS (https://pypi.org/project/MACS3/) to call broad "peaks" of significant read coverage in the BAM file, and uses those peaks that pass a set of criteria as a basis to annotate novel 3' UTRs. This favours BAM files from the likes of 10x Chromium runs, where signal is inherently concentrated at the distal ends of the 3' or 5' UTRs. Reads containing soft-clipped bases and polyA-tails of a given length are detected, and their end bases tallied as "truncation points". When piled up, each co-occurring truncation point is used to determine the precise end base of a given UTR. peaks2utr can be tuned to extend, override or ignore any pre-existing 3' UTR annotations in the input GFF file.

Installation

Install latest release with:

pip install peaks2utr

Alternatively, to install from source:

git clone https://github.com/haessar/peaks2utr.git
cd peaks2utr
python3 -m build
python3 -m pip install dist/*.tar.gz

Dependencies

Installation instructions assume a Debian / Ubuntu system with root privileges. Follow the links for instructions for other systems.

Required

bedtools

apt-get install bedtools

Optional

GenomeTools (for post-processing of output gff3)

apt-get install genometools

Verify installation

To check that peaks2utr has installed correctly, simply run the following in your terminal to initiate a short run with default parameters

peaks2utr-check

This uses a small demo set of input files contained in the repository: Tb927_01_v5.1.gff & Tb927_01_v5.1.slice.bam. When complete, you should see a file Tb927_01_v5.1.new.gff which contains original annotations as well as 3' UTRs with source "peaks2utr".

Quick start

peaks2utr is called from the command line as:

peaks2utr <GFF_IN> <BAM_IN> [options]

Inputs

  • GFF_IN - gene models in either GFF3 or GTF format (existing 3' UTRs optional).
  • BAM_IN - aligned reads in BAM format.
  • [options] - Run peaks2utr --help for full set of optional arguments.

Outputs

Outputs a GFF3 annotation file (or GTF with option --gtf) including original features plus 3' UTR features with source=peaks2utr. Output file name can be specified with -o or --output; by default outputs to original filename with a *.new.<ext> suffix.

Example call

peaks2utr Tb927_01_v5.1.gff Tb927_01_v5.1.slice.bam -p 4 -o output.gff3

Metadata

Release files for peaks2utr 1.5.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for peaks2utr 1.5.2
File Size Uploaded Provenance Actions
peaks2utr-1.5.2.tar.gz 10.6 MB Without provenance Details for peaks2utr-1.5.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for peaks2utr 1.5.2
File Interpreter ABI Platform Actions
peaks2utr-1.5.2-py3-none-any.whl Python 3 none any Details for peaks2utr-1.5.2-py3-none-any.whl

Total release size: 21.2 MB

Release files / peaks2utr-1.5.2.tar.gz

Download URL peaks2utr-1.5.2.tar.gz
Size 10.6 MB
Tags Source
SHA-256 checksum
How to use checksums
cf73f575f0e405870435770e415b07208fde7d8f8e91fd2d04a0914bfa547b0d
BLAKE2b-256 checksum
How to use checksums
b82830ebd896f22b064a47649b2c5a5a8a8328d3c9cb080a246f8c6305a86ab1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / peaks2utr-1.5.2-py3-none-any.whl

Download URL peaks2utr-1.5.2-py3-none-any.whl
Size 10.6 MB
Tags Python 3
SHA-256 checksum
How to use checksums
d700e7bb35d7a1a6e5029ed5bbeeac925661855f1492618a5fd6fdd522761895
BLAKE2b-256 checksum
How to use checksums
251f5ce71f73126b8a3246b607ac90875877d79e746df662403fac7a796cd0c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for peaks2utr 1.5.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page