Git Product home page Git Product logo

ribosome's Introduction

Ribosome

Go Report Card

The Ribosome package is a Go library designed for efficient transcription and translation of DNA and RNA sequences, inspired by the real processes in living cells. The package provides an easy-to-use API for handling DNA, RNA, and Protein sequences, as well as functionality to work with different genetic code translation tables.

Disclaimer: Go language is not a popular choice for bioinformatics library such as this and there are much better solutions written in other languages. This library was written just for fun and as proof of concept.

Features

  • DNA, RNA, and Protein sequence handling
  • Support for ambiguous nucleotides and amino acids
  • Transcription of DNA to RNA
  • Translation of RNA to Protein
  • Genetic code translation tables with custom codon usage modification
  • ORF finding
  • GC-content calculation

Installation

To install the Ribosome package, use the following command:

go get github.com/dissipative/ribosome

Usage

Import the Ribosome package in your Go project:

import "github.com/dissipative/ribosome"

DNA Sequence

Create a DNA sequence:

dna, err := sequence.NewDNASequence("ATGCGAATTCAG")

RNA Sequence

Transcribe a DNA sequence to RNA:

rna, err := dna.Transcribe()

Genetic Code Translation Tables

Get a translation table by its ID:

codonTable, err := ribosome.GetCodonTable(1) // Get the standard genetic code (table 1)

Protein Sequence

Translate an RNA sequence to a Protein sequence:

protein, err := rna.Translate(&codonTable) 

Modify a translation table with custom codon usage:

customCodons := map[string]ribosome.AminoAcid{
    "ATA": 'M', // Change ATA codon to Methionine
}
err = table.ModifyCodonUsage(customCodons)

Ambiguous Nucleotides and Amino Acids

The Ribosome package handles ambiguous nucleotides and amino acids with ease. For example, you can transcribe DNA sequences with ambiguous bases and translate RNA sequences with ambiguous codons to protein sequences with ambiguous amino acids.

ribosome's People

Contributors

dissipative 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.