Skip to main content

A lightweight and easy-to-use python bioinformatics toolkit.

Project description

omiBio

- A Lightweight Bioinformatics Toolkit / 轻量生信工具包

Latest Version Python 3.9+ License: MIT flake8

Logo

Introduction / 简介

omiBio is a lightweight, user-friendly Python toolkit for bioinformatics — ideal for education, research, and rapid prototyping.

Key features:

  • Robust data structures: Sequence, Polypeptide, Gene, Genome, etc., with optional validation.
  • Simple I/O: Read/write bioinformatics files (e.g., FASTA) with one-liners.
  • Analysis tools: GC content, ORF detection, consensus sequences, sliding windows, and more.
  • CLI included: Run common tasks from the terminal .
  • Basic visualization: Built-in plotting (via matplotlib & seaborn) for quick insights.
  • Functional & OOP APIs: Use classes or convenient wrapper functions.

Modules Overview / 模块概览

The omiBio toolkit is organized into the following modules:

Module Purpose Key Classes / Functions
omibio.sequence Sequence-type data structures Sequence, Polypeptide
omibio.bioObjects Biological objects and data containers SeqInterval, Gene, Genome
omibio.io File I/O for common bioinformatics formats read(), write()
omibio.analysis Sequence analysis functions GC_content(), sliding_gc(), find_orfs()
omibio.utils General-purpose utility functions Wrappers, helper functions
omibio.viz Simple and easy-to-use data visualization plot_orf(), plot_sliding_gc()
omibio.cli Command-line interfaces for common workflows omibio orf, other CLI commands

Usage example / 使用示例

Creating a sliding window GC chart using omiBio:

from omibio.io import read
from omibio.analysis import sliding_gc
from omibio.viz import plot_sliding_gc, plt

# Load sequences from FASTA (returns dict[str, Sequence])
seq_dict = read("examples/example.fasta")
dna: Sequence = seq_dict["example"]

# Compute GC content in sliding windows (window=200 bp, step=20 bp)
gc_list = sliding_gc(dna, window=200, step=20)

# Visualize easily
plot_sliding_gc(gc_list, seq=dna, window_avg=True)
plt.show()

The above code will produce results like this:

Example

Using omiBio's Command-line interfaces:

$ omibio orf example.fasta --min-length 100

The above CLI will produce results like this:

# Seq-name  start    end   strand   frame   length
example_2    70      289     -       -2      219
example_16   53      257     +       +3      204
example_13   118     301     +       +2      183
example_4    92      272     -       -1      180
example_2    157     322     +       +2      165
example_5    17      173     -       -1      156
example_16   176     332     -       -1      156
...

Installation / 安装

From PyPI:

$ pip install omibio

Requirements

  • Python: >= 3.9
  • Core dependencies:
    • click (for CLI)
    • numpy & pandas (analysis/plotting dependencies)
  • Optional dependencies (install for extra features):
    • matplotlib & seaborn → enables visualization

Optional deps won't be installed by default. To get them:

pip install omibio[plot]

For complete project build and dependency configuration, please refer to pyproject.toml

Code Style

omiBio follows PEP 8 conventions for Python code.
All code is automatically formatted and checked using flake8.

License

This project is licensed under the MIT License.

Things to note

  • Most of the code in this project uses 0-based indexes, half-open interval, rather than the 1-based indexes commonly used in biology.
  • All code type hints in this project use PEP 585 generic syntax in Python 3.9+.
  • This project is still under development and not yet ready for production. Please use it with caution. If you have any suggestions, please contact us:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

omibio-0.1.2.post2.tar.gz (35.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

omibio-0.1.2.post2-py3-none-any.whl (37.8 kB view details)

Uploaded Python 3

File details

Details for the file omibio-0.1.2.post2.tar.gz.

File metadata

  • Download URL: omibio-0.1.2.post2.tar.gz
  • Upload date:
  • Size: 35.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for omibio-0.1.2.post2.tar.gz
Algorithm Hash digest
SHA256 ab731b96a6e0077d39d4adabc03551aa944bdaabf5ab00be234a76e49a5bfaa7
MD5 cd43c58014846f4536e476b1b644752c
BLAKE2b-256 5be670ba53aba74c202dbc675a760aecd78271b35d72a91f5aafe95c040e7915

See more details on using hashes here.

Provenance

The following attestation bundles were made for omibio-0.1.2.post2.tar.gz:

Publisher: python-publish.yml on LK923/omiBioKit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file omibio-0.1.2.post2-py3-none-any.whl.

File metadata

  • Download URL: omibio-0.1.2.post2-py3-none-any.whl
  • Upload date:
  • Size: 37.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for omibio-0.1.2.post2-py3-none-any.whl
Algorithm Hash digest
SHA256 d109b0615ef7946c1eb3fa58299ed6254fc97c68d9206cd4e71ceec836a051b1
MD5 02ca67f905cdeb6a0a6e93a8cb928e3c
BLAKE2b-256 9f981d5f1b1db5ad720871e4c3aae11a7f112830db884cb83e73f13dadbbee82

See more details on using hashes here.

Provenance

The following attestation bundles were made for omibio-0.1.2.post2-py3-none-any.whl:

Publisher: python-publish.yml on LK923/omiBioKit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page