#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my %bact = (first => 'CAGGTGGCAT', second => 'CATTGAAGCT', third => 'CTAAGTTCAG', fourth => 'CTAAGAACGT', fifth => 'CTGGAGGACT', ); my @counts = (0) x 5; my %bact_data; foreach my $id (keys %bact) { $bact_data{$id}{DNA} = $bact{$id}; } foreach my $id (keys %bact) { if (($bact{$id} =~ m/^CAGGTGGCAT/)) { $bact_data{$id}{DNA} = $bact{$id}; $bact_data{$id}{set} = 1; $counts[0]++; $bact_data{$id}{count} = $counts[0]; } elsif (($bact{$id} =~ m/^CATTGAAGCT/)) { $bact_data{$id}{DNA} = $bact{$id}; $bact_data{$id}{set} = 2; $counts[1]++; $bact_data{$id}{count} = $counts[1]; } elsif (($bact{$id} =~ m/^CTAAGTTCAG/)) { $bact_data{$id}{DNA} = $bact{$id}; $bact_data{$id}{set} = 3; $counts[2]++; $bact_data{$id}{count} = $counts[2]; } elsif (($bact{$id} =~ m/^CTAAGAACGT/)) { $bact_data{$id}{DNA} = $bact{$id}; $bact_data{$id}{set} = 4; $counts[3]++; $bact_data{$id}{count} = $counts[3]; } else { $bact_data{$id}{DNA} = $bact{$id}; $bact_data{$id}{set} = 5; $counts[4]++; $bact_data{$id}{count} = $counts[4]; } } print "---------------------------------------------------------------\n"; print "-------- ABUNDANCE OF SEQUENCES WTHIN EACH SUBGROUP ----------\n"; print "number of sequences in set 1 CAGGTGGCAT sub group = $counts[0] \n"; print "number of sequences in set 2 CATTGAAGCT sub group = $counts[1] \n"; print "number of sequences in set 3 CTAAGTTCAG sub group = $counts[2] \n"; print "number of sequences in set 4 CTAAGAACGT sub group = $counts[3] \n"; print "number of sequences in set 5 CTGGAGGACT sub group = $counts[4] \n"; print "---------------------------------------------------------------\n"; print Dumper(\%bact_data);