use strict;
use warnings;
use Data::Dumper;
open my $inFH, q{<}, \ <<'END_OF_FILE' or die qq{open: $!\n};
>1gmz_B mol:protein length:122 PHOSPHOLIPASE A2
Length = 122
Score = 103 bits (233), Expect = 9e-23
Identities = 56/124 (45%), Positives = 67/124 (54%), Gaps = 12/124 (9%)
Query: 2 LWQFNGMIKCKIPSSEPLLDFNNYGCYCGLGGSGTPVDDLDRCCQTHDNCYKQAKKLDSC 61
LWQF MI K P + YGCYCG+GG G P D DRCC HD CY KL SC
Sbjct: 2 LWQFGKMI-LKETGKLPFPYYVTYGCYCGVGGRGGPKDATDRCCFVHDCCY---GKLTSC 57
Query: 62 KVLVDNPYTNNYSYSCSNNEITCSSENNACEAFICNCDRNAAICFSK--VPYNKEHKNLD 119
K P T+ YSYS + I C EN+ C IC CD+ AA+CF + YNK++ +
Sbjct: 58 K-----PKTDRYSYSRKDGTIVC-GENDPCRKEICECDKAAAVCFRENLDTYNKKYMSYL 111
Query: 120 KKNC 123
K C
Sbjct: 112 KSLC 115
>1b4w_A mol:protein length:122 PROTEIN (PHOSPHOLIPASE A2)
Length = 122
Score = 95.7 bits (215), Expect = 2e-20
Identities = 46/105 (43%), Positives = 61/105 (58%), Gaps = 10/105 (9%)
Query: 2 LWQFNGMIKCKIPSSEPLLDFNNYGCYCGLGGSGTPVDDLDRCCQTHDNCYKQAKKLDSC 61
L QF MIK K+ EP++ + YGCYCG GG G P D DRCC HD CY +K+ C
Sbjct: 2 LLQFRKMIK-KMTGKEPVVSYAFYGCYCGSGGRGKPKDATDRCCFVHDCCY---EKVTGC 57
Query: 62 KVLVDNPYTNNYSYSCSNNEITCSSENNACEAFICNCDRNAAICF 106
+P ++Y+YS N I C + + C+ +C CD+ AAICF
Sbjct: 58 -----DPKWDDYTYSWKNGTIVCGGD-DPCKKEVCECDKAAAICF 96
END_OF_FILE
my $inHeader;
my $pushTo;
my @headers = ();
my @lines = ();
while ( <$inFH> )
{
chomp;
if ( not $inHeader and m{^>} )
{
$inHeader = 1;
$pushTo = \ @headers;
}
if ( $inHeader and m{^Query:} )
{
$inHeader = 0;
$pushTo = \ @lines;
}
push @$pushTo, $_;
}
close $inFH or die qq{close: $!\n};
print Data::Dumper->Dumpxs(
[ \ @headers, \ @lines ],
[ qw{ *headers *lines } ],
);
####
@headers = (
'>1gmz_B mol:protein length:122 PHOSPHOLIPASE A2',
' Length = 122',
'',
' Score = 103 bits (233), Expect = 9e-23',
' Identities = 56/124 (45%), Positives = 67/124 (54%), Gaps = 12/124 (9%)',
'',
'>1b4w_A mol:protein length:122 PROTEIN (PHOSPHOLIPASE A2)',
' Length = 122',
'',
' Score = 95.7 bits (215), Expect = 2e-20',
' Identities = 46/105 (43%), Positives = 61/105 (58%), Gaps = 10/105 (9%)',
''
);
@lines = (
'Query: 2 LWQFNGMIKCKIPSSEPLLDFNNYGCYCGLGGSGTPVDDLDRCCQTHDNCYKQAKKLDSC 61',
' LWQF MI K P + YGCYCG+GG G P D DRCC HD CY KL SC',
'Sbjct: 2 LWQFGKMI-LKETGKLPFPYYVTYGCYCGVGGRGGPKDATDRCCFVHDCCY---GKLTSC 57',
'',
'Query: 62 KVLVDNPYTNNYSYSCSNNEITCSSENNACEAFICNCDRNAAICFSK--VPYNKEHKNLD 119',
' K P T+ YSYS + I C EN+ C IC CD+ AA+CF + YNK++ + ',
'Sbjct: 58 K-----PKTDRYSYSRKDGTIVC-GENDPCRKEICECDKAAAVCFRENLDTYNKKYMSYL 111',
'',
'Query: 120 KKNC 123',
' K C',
'Sbjct: 112 KSLC 115',
'',
'Query: 2 LWQFNGMIKCKIPSSEPLLDFNNYGCYCGLGGSGTPVDDLDRCCQTHDNCYKQAKKLDSC 61',
' L QF MIK K+ EP++ + YGCYCG GG G P D DRCC HD CY +K+ C',
'Sbjct: 2 LLQFRKMIK-KMTGKEPVVSYAFYGCYCGSGGRGKPKDATDRCCFVHDCCY---EKVTGC 57',
'',
'Query: 62 KVLVDNPYTNNYSYSCSNNEITCSSENNACEAFICNCDRNAAICF 106',
' +P ++Y+YS N I C + + C+ +C CD+ AAICF',
'Sbjct: 58 -----DPKWDDYTYSWKNGTIVCGGD-DPCKKEVCECDKAAAICF 96',
''
);
####
push @{ $inHeader ? @headers : @lines }, $_;