Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 50.068.816 Times

Algorithm::NeedlemanWunsch 0.02

  Date Added: February 01, 2010  |  Visits: 1.226

Algorithm::NeedlemanWunsch

Report Broken Link
Printer Friendly Version


Product Homepage
Download (105 downloads)



Algorithm::NeedlemanWunsch is a sequence alignment with configurable scoring. SYNOPSIS use Algorithm::NeedlemanWunsch; sub score_sub { if (!@_) { return -2; # gap penalty } return ($_[0] eq $_[1]) ? 1 : -1; } my $matcher = Algorithm::NeedlemanWunsch->new(&score_sub); my $score = $matcher->align( @a, @b, { align => &on_align, shift_a => &on_shift_a, shift_b => &on_shift_b, select_align => &on_select_align }); Sequence alignment is a way to find commonalities in two (or more) similar sequences or strings of some items or characters. Standard motivating example is the comparison of DNA sequences and their functional and evolutionary similarities and differences, but the problem has much wider applicability - for example finding the longest common subsequence (that is, diff) is a special case of sequence alignment. Conceptually, sequence alignment works by scoring all possible alignments and choosing the alignment with maximal score. For example, sequences a t c t and t g a t may be aligned sequence A: a t c - t | | | sequence B: - t g a t or sequence A: - - a t c t | | sequence B: t g a t - - (and exponentially many other ways, of course). Note that Needleman-Wunsch considers global alignments, over the entire length of both sequences; each item is either aligned with an item of the other sequence, or corresponds to a gap (which is always aligned with an item - aligning two gaps wouldnt help anything). This approach is especially suitable for comparing sequences of comparable length and somewhat similar along their whole lengths - that is, without long stretches that have nothing to do with each other. If your sequences dont satisfy these requirements, consider using local alignment, which, strictly speaking, isnt Needleman-Wunsch, but is similar enough to be implemented in this module as well - see below for details. In the example above, the second alignment has more gaps than the first, but perhaps your as are structurally important and you like them lined up so much that youd still prefer the second alignment. Conversely, if c is "almost the same" as g, it might be the first alignment that matches better. Needleman-Wunsch formalizes such considerations into a similarity matrix, assigning payoffs to each (ordered, but the matrix is normally symmetrical so that the order doesnt matter) pair of possible sequence items, plus a gap penalty, quantifying the desirability of a gap in a sequence. A preference of pairings over gaps is expressed by a low (relative to the similarity matrix values, normally negative) gap penalty. The alignment score is then defined as the sum, over the positions where at least one sequence has an item, of the similarity matrix values indexed by the first and second item (when both are defined) and gap penalties (for items aligned with a gap). For example, if S is the similarity matrix and g denotes the gap penalty, the alignment sequence A: a a t t c c sequence B: a - - - t c has score S[a, a] + 3 * g + S[c, t] + S[c, c]. When the gap penalty is 0 and the similarity an identity matrix, i.e. assigning 1 to every match and 0 to every mismatch, Needleman-Wunsch reduces to finding the longest common subsequence. The algorithm for maximizing the score is a standard application of dynamic programming, computing the optimal alignment score of empty and 1-item sequences and building it up until the whole input sequences are taken into consideration. Once the optimal score is known, the algorithm traces back to find the gap positions. Note that while the maximal score is obviously unique, the alignment having it in general isnt; this modules interface allows the calling application to choose between different optimal alignments..

Requirements: No special requirements
Platforms: Linux
Keyword: Algorithmneedlemanwunsch Alignment Gap Gap Penalty Libraries Needlemanwunsch Programming Score Sequence Sequence Alignment Similarity Matrix T C
Users rating: 0/10

License: Freeware Size: 10.24 KB
USER REVIEWS
More Reviews or Write Review


ALGORITHM::NEEDLEMANWUNSCH RELATED
Science  -  JAligner 0.2
JAligner is an open source Java implementation of the dynamic programming algorithm Smith-Waterman with Gotoh's improvement for biological local pairwise sequence alignment with the affine gap penalty model.
162.36 KB  
Programming  -  MASkinG GUI library 0.80
MASkinG is an addon library for the Allegro game programming library intended for building GUI applications in C++.
921.6 KB  
Utilities  -  pyFLTK 0.4
JNI++ is a set of two code generating utilities and a core C++ library that simplify programming to the Java Native Interface (JNI) with C++. The first of these utilities is used to generate C++ "proxy" classes given a Java class or interface, and...
1.38 MB  
Database Tools  -  TPCCRunner 1.00
TPCCRunner is a tool created using the Java programming language that can act as a TPC-C Like workload generator. TPCCRunner is used to test Online Transaction Processiong Database System. TPCCRunner supports most of popular RDBMS: Oracle, DB2,...
 
Science  -  Lightweight Genome Viewer (lwgv) 0.4
The project is for developing libraries for visualizing biological sequence data on the web. The libraries are written in C and currently use a language (lex/yacc) based front end for presenting features on genomes, contigs, or any type of sequence.
822.6 KB  
Programming  -  Luxor language rc.0.6.0
Luxor is a new system programming language, designed to use instead of assembler, C/C++, or other system programming languages.
113.09 KB  
Multimedia & Graphics  -  OpenGL Class Library 0.0.1
The OpenGL Class Library (GLCL) is intented to be a set of C++ classes,available through static and dynamic libraries, that will allow thedeveloper to create OpenGL applications using C++ quickly.
118.58 KB  
Education  -  NeoBio pre-alpha
NeoBio project consists of Bioinformatics algorithms in Java. What algorithms? The current version consists mainly of (pairwise) sequence alignment algorithms such as the classical dynamic programming methods of Needleman & Wunsch (global...
102.4 KB  
Libraries  -  C/Invoke 1.0
C/Invoke is a library for connecting to C libraries at runtime. This differs from the typical method of interfacing with C, which involves writing static definitions which are then compiled to a machine-dependant format. C/Invoke provides a...
71.68 KB  
Libraries  -  JsHttpRequest 5.0
JsHttpRequest project is an easy-to-use cross-browser AJAX library with AJAX file uploading support and many other features. JsHttpRequest first appeared as cross-browser analogue of XMLHttpRequest, and then became a very useful instrument to...
122.88 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Libraries  -  wolfSSL 4.0.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
3.88 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB