Code Monkey home page Code Monkey logo

dna's Introduction

DNA

https://travis-ci.org/allanino/DNA.svg?branch=master https://landscape.io/github/allanino/DNA/master/landscape.png Latest Version License

This is a Python script to encode/decode arbitrary computer files into DNA sequences. It is a straight implementation of a method published in this Nature’s paper. The details of the method can be found in the Supplementary Information report. Another version of report can be found here. The source code organization follows the article steps and nomenclature, so it should be easy to understand.

How to use

Install it using pip:

$ sudo pip install file2dna

The installed script will be called dna and accepts four types of operations passed as arguments together with the file name:

$ dna -h
usage: dna [-h] [-e | -s | -d | -j] file

positional arguments:
  file        File to be encoded/decoded.

optional arguments:
  -h, --help  show this help message and exit
  -e          encode file and save it as .dna
  -s          encode file and save it as .splitted.zip
  -d          decode .dna file and save as .decoded
  -j          decode .splitted.zip file and save it as .decoded

As an example, we can decode one the files encoded by the authors of the paper. Suppose you have cloned this repo with its examples folder:

$ dna -d examples/DNA_versions/wssnt10.txt.dna

To see the decoded file:

$ cat examples/DNA_versions/wssnt10.txt.decoded

Additional information about this work

Nick Goldman talking about DNA Hard Drivers at the WEF2015

Goldman group DNA storage

Emily Leprous talking about DNA storage

Towards practical, high-capacity, low-maintenance information storage in synthesized DNA

Additional information about DNA storage in general

Hidding messages in DNA microdots

An improved Huffman coding method for archiving text, images, and music characters in DNA

Bacterial based storage and encryption device

The Xenotext Experiment

If You Were a Secret Message, Where in the Human Genome Would You Hide?

Store digital files for eons in silica-encased DNA

dna's People

Contributors

allanino avatar luisbebop avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.