Skip to content

A Python tool for encoding files into DNA sequences and decoding them back.

License

Notifications You must be signed in to change notification settings

textaDNA/Jacquard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jacquard: modified Goldman algorithm for DNA data storage

Jacquard is a Python tool for encoding files into DNA sequences and decoding them back. It is a modified Goldman algorithm [1] and adapted from the DNA script.

Table of Contents

Introduction

This repository provides a modified version of the Goldman code to encode and decode various types of digital data into DNA sequences. The program runs on Python 3. For more information on the original Goldman code, please refer to [1].

Installation

To install Jacquard, use the following command:

pip install git+https://github.com/textaDNA/Jacquard.git

Alternatively, you can install Jacquard using setup.py with the following command:

python setup.py install

Usage

Once installed, you can use the following commands in the terminal based on what you want to achieve:

dna [option] file

Positional Arguments

  • -h, --help: Show the help message and exit.
  • -e: Encode the file and save it as .dna.
  • -s: Encode the file and save it as .splitted.zip.
  • -d: Decode the .dna file and save it as .decoded.
  • -j: Decode the .splitted.zip file and save it as .decoded.

Example Commands

To encode a file "quote":

dna -e /path/to/quote.txt

The resulting DNA string will be saved in the same directory. To decode it:

dna -d /path/to/quote.txt.dna

Ensure you provide the correct file extension according to the command you want to use.

Examples

In the textaDNA project, we have used this code to encode a short quote and the logo of the research center CiC Nanogune. The resulting sequenced files are then used to decode the files back. Illumina seuencing results of the DNA oligo pool obtained from the encoded quote can be found in the ENA repository, and here in Examples you can find the filtered representatives clusters and the zip file used to decode the message back.

References

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

A Python tool for encoding files into DNA sequences and decoding them back.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors 3

  •  
  •  
  •  

Languages