#!/usr/bin/perl # https://perlmonks.org/?node_id=1217240 use strict; use warnings; open my $patterns, '<', \<<END; ATCCCACCGCTGCCACCA ACCCTGCTCGCTGCGCCA TCCCCGGCACCTCCACCA TCCCCGGCATCTCCACCA ATCCTGCCGACTACGCCA TCGATTCCCGGCCCATGCACCA TCGATTCCCGGCCAACGCACCA GTCCCACCAGAGTCGCCA ACCCCACTCCTGGTACCA GTCCCTTCGTGGTCGCCA END open my $fh, '<', \<<END; AACCCCATCCCACCGCTGCCACCA 1 AACCCCATCCTCGTCGCC 1 AACCCCATGAAATAAGAG 2 AACCCCATGATCAGGACAAG 1 AACCCCATTAAAAAATGG 1 AACTGGATTCTCTGAAATCCCACCGCTGCCACCA 1 AACTGGATTGTCTGTTTGT 1 AACTGGCAAGTTCAGGCATG 1 AACTGGCACACACAACC 1 AACTGGCACACACAACCT 1 END my $seqs = join '|', map tr/ACGT//cdr, <$patterns>; my $match = qr/^\w*($seqs)/; /$match/ and print "$1\t$_" while <$fh>;
Outputs:
ATCCCACCGCTGCCACCA AACCCCATCCCACCGCTGCCACCA 1 ATCCCACCGCTGCCACCA AACTGGATTCTCTGAAATCCCACCGCTGCCACCA 1
In reply to Re: finding sequence
by tybalt89
in thread finding sequence
by yueli711
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |