Skip to main content

DNA2oiia 🧬🎵🐱

Python 3.10+ License: MIT CI Binder Open In Colab

Convert DNA/RNA sequences into sound using "oiia" phonetics. Each base maps to a sound: A=o, T/U=ii, C=a, G=e.

Try it in your browser

DNA2Oiia Demo

Table of Contents

Installation

pip install dna2oiia

Optional extras:

pip install dna2oiia[mp3]        # MP3 export (requires pydub + ffmpeg)
pip install dna2oiia[tui]        # Interactive terminal UI
pip install dna2oiia[streamlit]  # Streamlit web app

CLI Usage

dna2oiia -s ATCGGATTA -o my_dna          # Convert sequence to WAV
dna2oiia -f example.fasta -o output      # Convert FASTA file
echo "ATCGATCG" | dna2oiia --play        # Pipe from stdin and play
dna2oiia -s ATCGATCG --play              # Play audio directly
dna2oiia -s ATCGATCG --speed 2.0         # Double speed
dna2oiia -s ATCG --repeat 4              # Repeat 4 times
dna2oiia -s ATCGGATTA --reverse-complement  # Reverse complement
dna2oiia -s ATCGATCG --visualize         # Colored base-to-sound mapping
dna2oiia -s ATCGGATTA --format mp3       # MP3 output (requires pydub)

Try famous sequences included in the repo:

dna2oiia -f examples/data/famous_sequences.fasta --play --visualize

Python API

from dna2oiia import dna_to_oiia, process_fasta, reverse_complement, validate_dna_sequence

# Single sequence
dna_to_oiia({"example": "ATCGGATTA"}, "output")  # Creates output.wav

# FASTA file
sequences = process_fasta("example.fasta")
dna_to_oiia(sequences, "output")

# Stream to buffer
import io
buf = io.BytesIO()
dna_to_oiia({"seq": "ATCGGATTA"}, output_buffer=buf)

# Speed, repeat, reverse complement
dna_to_oiia({"fast": "ATCGATCG"}, "out", speed=2.0, repeat=3)
rc = reverse_complement("ATCG")  # "CGAT"

Interactive TUI

pip install dna2oiia[tui]
dna2oiia-tui          # or: dna2oiia --tui

Keyboard shortcuts: F5 Play | F6 Save WAV | F7 Reverse complement | Q Quit

Features: paste sequences or load FASTA files, live colored visualization, adjustable speed and repeat.

Streamlit Web App

pip install dna2oiia[streamlit]
streamlit run st_dna2oiia.py

Or try it in your browser.

Acknowledgments

Inspired by a conversation with IOB friends Nathan and Ibukun during a hackathon. The "oiia" sound is sourced from this YouTube video under fair use. Developed with AI assistance.

License

MIT License. Contributions welcome!

Metadata

Release files for dna2oiia 0.2.0

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

Source distribution (sdist)

Source distribution for dna2oiia 0.2.0
File Size Uploaded
dna2oiia-0.2.0.tar.gz 1.1 MB Details

Built distribution (wheel)

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

Total release size: 2.2 MB

Release files / dna2oiia-0.2.0.tar.gz

Download URL dna2oiia-0.2.0.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
1322977066b62f916e6f7b49ea2272c75bfc860d8b3eda3c4c7808346a3a0702
BLAKE2b-256 checksum
How to use checksums
cd4ead96f503fd3b5377eea078909034abc03d89ad18b403bc40e3f6d263beb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 11, 2026.

Transparency log

Release files / dna2oiia-0.2.0-py3-none-any.whl

Download URL dna2oiia-0.2.0-py3-none-any.whl
Size 1.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
be4012b9a386e9278a4af960e24f0b61fa9a9c0ad206bc8c4feddb7f9868fbc4
BLAKE2b-256 checksum
How to use checksums
7ac776ff640cfad2108cc86b887bb87f63acbd0e736adace081758818dc7514f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

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