GithubHelp home page GithubHelp logo

larapollehn / remy Goto Github PK

View Code? Open in Web Editor NEW
12.0 1.0 1.0 4.19 MB

Visualization of nucleotide alignment algorithms 🧬 DNA sequence as input, best aligning match as output.

TypeScript 83.81% JavaScript 0.37% HTML 2.99% CSS 12.50% Dockerfile 0.33%
typescript react sass dna-sequences visualization docker-compose travis-ci

remy's Introduction

Build Status

Remys Lab

Remys Lab is an application that provides multiple algorithms, takes a specific set of parameters and visualizes all possible paths leading to the best alignment-score.

Available algorithms
  • Smith-Waterman
  • Needleman-Wunsch Distance
  • Needleman-Wunsch Similarity

DNA alignment visualization

Visualization of algorithms for nucleotide alignment.

The DNA is the fundamental building block of a living cell and is made up of a nucleotide chain.

There are four kinds of nucleotide, each differentiated from each other by its Nucleobase guanine, adenine, cytosine and thymine.

In bioinformatics, a sequence alignment is a way of arranging the sequences of DNA, RNA, or protein to identify regions of similarity that may be a consequence of functional, structural, or evolutionary relationships between the sequences. Aligned sequences of nucleotide or amino acid residues are typically represented as rows within a matrix. Gaps are inserted between the residues so that identical or similar characters are aligned in successive columns. Sequence alignments are also used for non-biological sequences, such as calculating the distance cost between strings in a natural language or in financial data.

Needleman-Wunsch

Saul B. Needleman and Christian D. Wunsch introduced 1970 an approach to compute the optimal global alignment of two sequences for comparing two nucleotide or amino acid sequences.

Smith Waterman

The Smith–Waterman algorithm performs local sequence alignment; that is, for determining similar regions between two strings of nucleic acid sequences or protein sequences. Instead of looking at the entire sequence, the Smith–Waterman algorithm compares segments of all possible lengths and optimizes the similarity measure.

Usage of the algorithms

Needleman-Wunsch similarity

import NeedlemanWunschSimilarity from "./src/algorithms/NeedlemanWunschSimilarity";
import SimpleTextProducer from "./src/text/SimpleTextProducer";

const similarity  = new NeedlemanWunschSimilarity("ATCCTC", "AACG", 1, -1, -2);
const similarityTextProducer = new SimpleTextProducer(similarity);
const similarityTexts = similarityTextProducer.produceText();
console.log(similarityTexts);

Needleman-Wunsch distance

import NeedlemanWunschDistance from "./src/algorithms/NeedlemanWunschDistance";
import SimpleTextProducer from "./src/text/SimpleTextProducer";

const distance  = new NeedlemanWunschDistance("ATCCTC", "AACG", 1, -1, -2);
const distanceTextProducer = new SimpleTextProducer(distance);
const distanceTexts = distanceTextProducer.produceText();
console.log(distanceTexts);

Smith-Waterman

import SmithWaterman from "./src/algorithms/SmithWaterman";
import SimpleTextProducer from "./src/text/SimpleTextProducer";


const smithWaterman = new SmithWaterman("ATCGAAT", "AACGTA",1, -1, -2);
const smithWatermanTextProducer = new SimpleTextProducer(smithWaterman);
const smithWatermanTexts = smithWatermanTextProducer.produceText();
console.log(smithWatermanTexts);

Remy? Origin of the name

One of my favourite movies is Ratatouille. A newer Disney movie based on a tiny, passionate rat that wants to be a cook. This rat gave me hope, that everything is possible and that I will become a developer if I work hard enough and believe in myself.

Anyone can code!

alt app

References

remy's People

Contributors

larapollehn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

maurya-anand

remy's Issues

Preparement

Algorithm

Unit Testing

Progressive Web App

The complete junior to senior developer course (Performance 1)

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.