DNALab 0.0.6-alpha

This is a prerelease version of DNALab.
dotnet add package DNALab --version 0.0.6-alpha
                    
NuGet\Install-Package DNALab -Version 0.0.6-alpha
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DNALab" Version="0.0.6-alpha" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DNALab" Version="0.0.6-alpha" />
                    
Directory.Packages.props
<PackageReference Include="DNALab" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add DNALab --version 0.0.6-alpha
                    
#r "nuget: DNALab, 0.0.6-alpha"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package DNALab@0.0.6-alpha
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=DNALab&version=0.0.6-alpha&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=DNALab&version=0.0.6-alpha&prerelease
                    
Install as a Cake Tool

DNA Laboratory

A modern and lightweight .NET library for encoding and decoding digital data into DNA sequences, inspired by biological information storage. The package targets .NET 10 (net10.0).

Logo


All source code and opinions expressed in this repository are solely my own and do not represent the views, policies, or endorsements of my employer. This project is not commercially funded, not affiliated with any organization, and was developed entirely in my personal time with the intention of supporting learning, research, and the open-source community.


Overview

DNA Laboratory provides a practical implementation of DNA-based information encoding concepts.
It allows binary digital data to be converted into DNA nucleotide representations — and enables decoding back to binary when required.

This library can serve as:

  • A learning tool for understanding DNA data encoding concepts.
  • A proof-of-concept for DNA-based digital storage approaches.
  • A lightweight utility for experimenting with bio-inspired information systems.

Requirements

  • .NET 10 or later for applications and libraries that reference this package (the NuGet asset targets net10.0).
  • SDK: .NET 10 SDK to build the solution from source. The repository includes global.json to pin a compatible SDK version.

Installation

NuGet

Install the latest version via NuGet Package Manager:

PM> Install-Package DNALab -Version 0.0.6-alpha

More details are available on the NuGet package page:
https://www.nuget.org/packages/DNALab


Encoding Binary Data into DNA Sequences

Any digital data can be represented as an array of bytes.
Each byte consists of 8 bits, representing values in the range 0 (00000000) to 255 (11111111) [1].

In a byte array (1 × N matrix), values are processed from left to right [2][3].

To perform encoding:

  1. Each byte is split into four bit-pairs (00, 01, 10, 11).
  2. Each pair is mapped to a specific DNA nucleotide.
  3. The result is a sequence composed of the four nucleotides: A, T, C, G.

A DNA nucleotide consists of:

  • a sugar molecule (deoxyribose),
  • a phosphate group,
  • one of four bases: adenine (A), thymine (T), cytosine (C), or guanine (G) [4].

An Explanation of DNA structure

This makes it possible to represent ordinary digital data using biological-style encoding, translating bits into nucleotide sequences.

Byte to DNA conversion


References


Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.0.6-alpha 114 3/31/2026
0.0.5-alpha 226 4/12/2025
0.0.4-alpha 172 7/26/2024
0.0.3-alpha 323 11/23/2023
0.0.2-alpha 542 10/23/2020
0.0.1-alpha 597 9/19/2020