Skip to main content

A library to encode text as DNA and decode DNA to text.

Project description

GeneSpeak 🧬

genespeak-banner

GitHub - License PyPI - Python Version PyPI - Package Version Conda - Platform Conda (channel only) Conda Recipe Docs - GitHub.io CodeFactor Streamlit App DOI

A library to encode text as DNA and decode DNA to text.

GeneSpeak allows you to encode regular text as DNA using base-pairs (A, T, G, C) and convert back to the original text. Text encoding is done for both ascii and utf-8 characters based on the strategy keyword argument. The encoding scheme could be any combination of A, T, G, C.

Installation 📜

You can install the library via pip or conda.

Install with pip

pip install genespeak

Install with conda

conda install -c conda-forge genespeak

Quickstart ⚡

See the quickstart guide here.

Service Link/Badge
Colab Colab Badge
Binder Binder
SageMaker StudioLab Open in SageMaker Studio Lab

Demo App ✨

Streamlit App

You can play around with GeneSpeak in this streamlit app: https://tinyurl.com/genespeak-demo

Usage ✋

import genespeak as gp
print(f'{gp.__name__} version: {gp.__version__}')

schema = "ATCG" # (1)
strategy = "ascii" # (2)
text = "Hello World!"

dna = gp.text_to_dna(text, schema=schema)
text_from_dna = gp.dna_to_text(dna, schema=schema)
print(f'Text: {text}\nEncoded DNA: {dna}\nDecoded Text: {text_from_dna}\nSuccess: {text == text_from_dna}')

Output

genespeak version: 0.0.5
Text: Hello World!
Encoded DNA: TACATCTTTCGATCGATCGGACAATTTGTCGGTGACTCGATCTAACAT

Text: Hello World!
Encoded DNA: TACATCTTTCGATCGATCGGACAATTTGTCGGTGACTCGATCTAACAT
Decoded Text: Hello World!

Documentation 📚

Docs - GitHub.io

The genespeak docs are maintained here.

License 📑

GitHub - License

The library is available under MIT license.

Citation 🔖

DOI

You may cite this library as follows.

@software{ray2022genespeak,
    author = {Ray, Sugato},
    title = {GeneSpeak - A library to encode text as DNA and decode DNA to text},
    url = {https://github.com/sugatoray/genespeak},
    doi = {10.5281/zenodo.5885777},
    month = {1},
    year = {2022}
}

GeneSpeak Thumb Print 👍

Let's have some fun! ✨ The following is a GeneSpeak thumbprint of genespeak itself.

schema strategy thumbprint
ATCG ascii TCTGTCTTTCGCTCTTTGAGTGAATCTTTCATTCCG

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

genespeak-0.0.9.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

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

genespeak-0.0.9-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file genespeak-0.0.9.tar.gz.

File metadata

  • Download URL: genespeak-0.0.9.tar.gz
  • Upload date:
  • Size: 12.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for genespeak-0.0.9.tar.gz
Algorithm Hash digest
SHA256 349bf672831c431c9201911c16fe80a820375fc8c1b7669f746ecc8905b1ca6d
MD5 8cc620593994ada9baf6a0e554357bb0
BLAKE2b-256 9da58ec8af5e8fa45735dde253d21bca035e8fe97bce86cfc8e2ef7599af4543

See more details on using hashes here.

File details

Details for the file genespeak-0.0.9-py3-none-any.whl.

File metadata

  • Download URL: genespeak-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for genespeak-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 aeef7240c6e4e8cedc5b3078e96383890838a9fecbb7d832ca6fd225160e9940
MD5 9bcfcf424428777b13e7220550d2dd1d
BLAKE2b-256 a5a29371181544c8b6a82ba452a245ea94ce3c2f7db56d56b827b96f0894d713

See more details on using hashes here.

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