Giter Club home page Giter Club logo

center-star-msa's Introduction

The Center Star Method for MSA

Before the beginning, I recommend you to know some basic of pairwise alignment algorithms such as Needleman-Wunch algorithm because I use to calculate pairwise alignments by Needleman-Wunch.

What is the center star method?

The Center Star Algorithm:

  1. Find Sc maximizing Σic D(Sc, Si ).(Note: Some resources say minimizing)
  2. Iteratively construct the multiple alignment Mc:
    1. Mc={Sc}
    2. Add the sequences in S{Sc} to Mc one by one so that the induced alignment aMc(Sc, Si) of every newly added sequence Si with Sc is optimal. Add spaces, when needed, to all pre-aligned sequences.

What is the running complexity?

Combination(k,2) * O(n^2) = O(k^2 * n^2)

Merging example

AC-BC
DCABC
AC--BC
DCAABC

=

AC--BC
DCA-BC
DCAABC

File format

The format of the input file must be this way;

{matchScore},{mismatchScore},{gapScore}
{sequence1}
{sequence2}
{sequence3}
.
.
.
{sequenceN}

for example; whether matchScore = 1, mismatchScore = -1, gapScore = -4 and four strings, the file should be;

1,-1,-4
MPE
MKE
MSKE
SKE

Usage

python cstar.py inputfile outputfile

TODOs

  • Score matrix support []

center-star-msa's People

Contributors

aicam avatar burakkose avatar

Stargazers

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