Skip to main content

pybarrnap: Python implementation of barrnap

Python3 OS License Latest PyPI version Bioconda CI

Table of contents

Overview

pybarrnap is a python implementation of barrnap (Bacterial ribosomal RNA predictor). pybarrnap provides a CLI compatible with barrnap and also provides a python API for running rRNA prediction and retrieving predicted rRNA. pybarrnap default mode depends only on the python library and not on the external command-line tools nhmmer and bedtools. As an additional feature from barrnap, accurate mode is available by installing the external command-line tool cmscan(infernal).

Installation

Python 3.10 or later is required for installation. pybarrnap depends on pyhmmer and biopython python library. If accurate mode is required, please install infernal additionally.

Install PyPI package:

pip install pybarrnap

Install bioconda package:

conda install -c conda-forge -c bioconda pybarrnap

Use Docker (Image Registry):

docker run -it --rm ghcr.io/moshi4/pybarrnap:latest pybarrnap -h

CLI Usage

Basic Command

pybarrnap genome.fna > genome_rrna.gff

Options

$ pybarrnap --help
usage: pybarrnap [options] genome.fna[.gz] > genome_rrna.gff

Python implementation of barrnap (Bacterial ribosomal RNA predictor)

positional arguments:
  fasta              Input fasta file (or stdin)

optional arguments:
  -e , --evalue      E-value cutoff (default: 1e-06)
  -l , --lencutoff   Proportional length threshold to label as partial (default: 0.8)
  -r , --reject      Proportional length threshold to reject prediction (default: 0.25)
  -t , --threads     Number of threads (default: 1)
  -k , --kingdom     Target kingdom [bac|arc|euk|all] (default: 'bac')
                     kingdom='all' is available only when set with `--accurate` option
  -o , --outseq      Output rRNA hit seqs as fasta file (default: None)
  -i, --incseq       Include FASTA input sequences in GFF output (default: OFF)
  -a, --accurate     Use cmscan instead of pyhmmer.nhmmer (default: OFF)
  -q, --quiet        No print log on screen (default: OFF)
  -v, --version      Print version information
  -h, --help         Show this help message and exit

CLI Example

Click here to download examples dataset.

CLI Example 1

Print rRNA prediction result on screen

pybarrnap examples/bacteria.fna

CLI Example 2

Output rRNA predition result to file

pybarrnap examples/archaea.fna -k arc --outseq rrna.fna --incseq > rrna_incseq.gff

CLI Example 3

With pipe stdin

cat examples/fungus.fna | pybarrnap -q -k euk | grep 28S

API Usage

pybarrnap provides simple API for running rRNA prediction and retrieving predicted rRNA.

Open In Colab

from pybarrnap import Barrnap
from pybarrnap.utils import load_example_fasta_file

# Get example fasta file path
fasta_file = load_example_fasta_file("bacteria.fna")

# Run pybarrnap rRNA prediction
barrnap = Barrnap(
    fasta_file,
    evalue=1e-6,
    lencutoff=0.8,
    reject=0.25,
    threads=1,
    kingdom="bac",
    accurate=False,
    quiet=False,
)
result = barrnap.run()

# Output rRNA GFF file
result.write_gff("bacteria_rrna.gff")
# Output rRNA GFF file (Include input fasta sequence)
result.write_gff("bacteria_rrna_incseq.gff", incseq=True)
# Output rRNA fasta file
result.write_fasta("bacteria_rrna.fna")

# Get rRNA GFF text and print
print("\n========== Print rRNA GFF ==========")
print(result.get_gff_text())

# Get rRNA features and print
print("\n========== Print rRNA features ==========")
for rec in result.seq_records:
    for feature in rec.features:
        print(feature.id, feature.type, feature.location, feature.qualifiers)

# Get rRNA sequences and print
print("\n========== Print rRNA sequences ==========")
for rec in result.get_rrna_seq_records():
    print(f">{rec.id}\n{rec.seq}")

LICENSE

pybarrnap was reimplemented in python based on the perl implementation of Barrnap v0.9. HMM(Hidden Marcov Model) and CM(Covariance Model) profile database for pybarrnap was created from Rfam(14.10).

Metadata

Release files for pybarrnap 0.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 pybarrnap 0.5.2
File Size Uploaded
pybarrnap-0.5.2.tar.gz 11.5 MB Details

Built distribution (wheel)

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

Total release size: 23.3 MB

Release files / pybarrnap-0.5.2.tar.gz

Download URL pybarrnap-0.5.2.tar.gz
Size 11.5 MB
Tags Source
SHA-256 checksum
How to use checksums
db47b824fd635197c73b527aedd82776e6a4e4688bd0f95e674c752ac9a5daf6
BLAKE2b-256 checksum
How to use checksums
cd352109a4cf5d0f0e10f371ceb19dd8d97b6fd73787cbf9976868fc573e5efe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / pybarrnap-0.5.2-py3-none-any.whl

Download URL pybarrnap-0.5.2-py3-none-any.whl
Size 11.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
7826ab3562e852e9fcc8257427ee2df74fc2c55d47a6a78ef93c9610ed1305e5
BLAKE2b-256 checksum
How to use checksums
9e3a595ee721ca7b239a128f64f02807a57f75b04e021e0b9eed84ace910025d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.5.2 This release

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

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