Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: Intersecting Two Strings

by lima1 (Curate)
on Aug 22, 2007 at 11:15 UTC ( [id://634307]=note: print w/replies, xml ) Need Help??


in reply to Intersecting Two Strings

You have the coordinates of the subsequences? Then this should work:
use strict; use warnings; use List::Util qw(min); use Data::Dumper; my $seq1 = { id => 1, start => 0, seq => 'CTGCCACCGCTGT' }; my $seq2 = { id => 1, start => 5, seq => 'ACCGCTGTGTTTCGGCCGGCGA'}; print Dumper [ intersection($seq1, $seq2) ]; sub intersection { # make sure that seq1 is always the first # subsequence my ($seq1, $seq2) = sort {$a->{start} <=> $b->{start} }@_; # determine the start of intersected string ... my $i_start = $seq2->{start} - $seq1->{start}; # ... and the length my $i_length = min(length(substr($seq1->{seq},$i_start)), length($seq2->{seq})); return ($i_start+1, substr($seq2->{seq}, 0, $i_length)); }

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (3)
As of 2024-04-25 23:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found