hello all i am currently working on a problem and trying to sort it with perl but code written is not working the way it should. I want to extract common pattern from two file file1 contains
and file2 containsLOC_Os01g01010.1 3017 : PAS [2993,3017] : AGTAAA AAATGGAGGAATTCTGCCA LOC_Os01g01010.2 2218 : uORF [7,129] : ATG AAGAAGACGAGACGACGACTTCCCCAC +TAGGAAACACGACGGAGGCGGAGATGATC
I am trying to retrieve "LOC_Os01g01010*"(as whole file contains variation of naming but LOC_Os01g remains constant) can anyone plz help me.LOC_Os01g01010.1 : PS51373 HIPIP High potential iron-sulfur proteins f +amily profile. 2139 - 2208 AATGATTTATCATGTGAGGTGAAAGA-----AGAGCACCGGGTGAACAGTTACAC +AAGAA L=-1 GAAAGTCCAAAAGCA LOC_Os01g01010.2 : PS00022 EGF_1 EGF-like domain signature 1. 298 - 309 CtCccTtcGTtC + L=(-1)
#!/usr/bin/perl use strict; use warnings; open(FH, "outputps_scan_chr1_.out") or die "Can't Open File1\n"; my @array1=<FH>; close(FH); open(BH, "chr1_1.txt") or die "Can't Open File2\n"; my @array2=<BH>; close(BH); my $pattern='/^LOC_Os0[1-7]g[0-9]*.[0-9]\s'; foreach my $line1(@array1) { foreach my $line2(@array2) if { $line1=~ /^$pattern/; $line2=~ /^$pattern/; $line1==$line2; { print $line1; } } else print "nothing to print\n"; }
This code is showing compilation error Also in this code i am comparing a line, should i do like this as line also contain other things other than our pattern help thanks & regards
In reply to match pattern from two different file by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |