Q197F8 ORFNames=IIV3-002R
Q197F7 ORFNames=IIV3-003L
Q6GZX2 ORFNames=FV3-003R
Q6GZX1 ORFNames=FV3-004R
Q197F5 ORFNames=IIV3-005L
Q6GZX0 ORFNames=FV3-005R ;PF02393
Q91G88 ORFNames=IIV6-006L ;PF12299;PF04383
Q6GZW9 ORFNames=FV3-006R
####
Q197F8 | PF04947.9
Q91G88 | PF01486.12 PF00319.13
####
Q197F8 IIV3-002R PF04947.9
Q91G88 IIV6-006L PF01486.12 PF00319.13
####
#!/usr/bin/perl
use warnings;
use strict;
open DATA, "C:\\Users\\Jems\\Desktop\\Perl\\test\\test.txt" or die $!;
use Modern::Perl;
use Data::Dump qw/dump/;
our %data;
my $ac;
while () {
my @splitted= split(/=|;/);
foreach (@splitted){
if (/^(.{6})\sORFNames/) {
$ac = $1;
chomp ($ac);
next;
}
if (/^(.+)\s\n/) {
#print "$ac $1\n";
push @{ $data{$1} }, $ac;
next;
#print @{$data{$ac}} if exists $data{$ac};
}
if (/^(.+)\s;PF/) {
push @{ $data{$1} }, $ac;
next;
}
next;}
next;
}
my $acn;
open ACTIVATOR, "C:\\Users\\Jems\\Desktop\\Perl\\test\\Test2.txt" or die $!;
open ACTIVOUT, ">C:\\Users\\jems\\Desktop\\Perl\\test\\ActivACNPF.txt" or die $!;
select ACTIVOUT;
while ($acn= ){
if($acn =~ m/^(......)\s\|/){
my $ab = $1;
chomp ($ab);
#print "$ab";
print "$acn | @{$data{$ab}}\n" if exists $data{$ab};
next;
}
}
print STDOUT "DONE ACTIV";