If the sequence strings being compared are always the same length, the string bitwise-xor trick is pretty quick and simple:
>perl -wMstrict -le
"my $seq1 = 'AATGGGATCTAATTAAACTAAAGAGCTTCTGCACAGCAAAAGAAACTACCATC';
my $seq2 = 'AATGGGATCTAATTAAACTCAAGAGCTTCTGCACAGCAAAAGAAACTACCATC';
my $diff = $seq1 ^ $seq2;
$diff =~ tr{\x00-\xff}{.*};
print $seq1;
print $seq2;
print $diff;
"
AATGGGATCTAATTAAACTAAAGAGCTTCTGCACAGCAAAAGAAACTACCATC
AATGGGATCTAATTAAACTCAAGAGCTTCTGCACAGCAAAAGAAACTACCATC
...................*.................................
If the string length are not the same (i.e., characters were inserted or deleted, not just altered in place), this trick will at least get you the position of the first difference, and you're on your own thereafter to re-synchronize and find any other diffs. (I'm sure there are already many tools on CPAN and elsewhere to do this sort of thing!)
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|