# includes use strict; use Bio::ClusterIO; # locals my $dir = $ARGV[0]; my %data; # directory handling if (-d !$dir) { print "Directory does not exist!\n", "Program Terminating....\n"; exit(); } opendir(DIR, $dir) || die "$dir: $!\n"; chdir($dir); $dir =~ s/\\$//; while (my $infile = readdir(DIR)) { if ((-T $infile) && ($infile =~ /^ds_ch(.{1,2})\.xml$/i)) { my %data; my $chromosome = $1; print "Processing $chromosome\n"; my $parser = Bio::ClusterIO->new( -file => $infile, -format => 'dbSNP' ); while (my $record = $parser->next_cluster()) { if (my $class = $record->functional_class) { $class =~ s/^\s+//; $class =~ s/\s+$//; $data{$class}{$record->observed()}++; } } open(OUT, '>>', 'Results.txt'); foreach my $class (keys(%data)) { foreach my $snp (keys(%{$data{$class}})) { print OUT "$chromosome\t$class\t$snp\t$data{$class}{$snp}\n"; } } close(OUT); } }