Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Re: match and mismatch

by artist (Parson)
on Nov 14, 2008 at 09:38 UTC ( #723605=note: print w/replies, xml ) Need Help??

in reply to match and mismatch

use Algorithm::Diff qw(diff sdiff LCS traverse_sequences); + my @seq1= split //,"1 AGCTGATCGAGCTAGTACCCTAGCTC 26"; my @seq2 =split //,"15 AGCTGATCGAGCTAGTACCCTATCTC 40"; my @diffs = diff( \@seq1, \@seq2 ); foreach (@diffs) { foreach (@{$_}) { print join " " => @{$_},"\n"; } print "\n"; }
And here is the output which shows the difference at each position if any. So on '25th' position, you have 'G' in one, and 'T' in the other.
+ 1 5 - 2 - 25 G + 25 T - 30 2 + 30 4 - 31 6 + 31 0

Replies are listed 'Best First'.
Re^2: match and mismatch
by lima1 (Curate) on Nov 14, 2008 at 17:49 UTC
    Just for the sake of completeness: The runtime here is N^2. The identifcation of mismatches is obviously possible in N (see solutions above). But this solution is much more powerful and can identify insertions and deletions as well.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://723605]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (3)
As of 2022-09-30 21:35 GMT
Find Nodes?
    Voting Booth?
    I prefer my indexes to start at:

    Results (126 votes). Check out past polls.