in reply to string match using with an N in any position
Regexes aren't always the best solution to fuzzy matching:
#! perl -slw use strict; my @queries = qw[ GCGAT CACGT ]; chomp( my @targets = <DATA> ); for my $q ( @queries ) { for my $t ( @targets ) { my $matched = ( $q ^ substr( $t, 0, length( $q ) ) ) =~ tr[\0] +[\0]; if( $matched >= ( length( $q ) -1 ) ) { print "$q matched $t"; } } } __DATA__ GNGATNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNN GCGANBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB +BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB CNCGTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
Gives:
[ 2:16:30.49] c:\test>junk77 GCGAT matched GNGATNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN GCGAT matched GCGANBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB +BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB CACGT matched CNCGTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: string match using with an N in any position
by biobee07 (Novice) on Nov 18, 2011 at 04:31 UTC | |
by BrowserUk (Patriarch) on Nov 18, 2011 at 05:03 UTC | |
|
Re^2: string match using with an N in any position
by AnomalousMonk (Archbishop) on Nov 18, 2011 at 22:54 UTC | |
by BrowserUk (Patriarch) on Nov 19, 2011 at 08:07 UTC | |
by BrowserUk (Patriarch) on Nov 18, 2011 at 23:48 UTC | |
by AnomalousMonk (Archbishop) on Nov 19, 2011 at 16:17 UTC |