#!/usr/bin/perl
use strict;
use Data::Dumper;
require XML::Simple;
my %params = getParams();
my $xml_file = new XML::Simple();
my $probes = $xml_file->XMLin($params{file}, keyattr => {});
for (my $i=0; $i<@{$probes->{probe}}; $i++)
{
printf " \n";
printf " \n", $probes->{probe}->[$i]->{time};
printf " %s\n",$probes->{probe}->[$i]->{date};
printf " %s_%d\n", $params{base},$i;
printf " %d\n",$probes->{probe}->[$i]->{length};
printf " %d\n",$probes->{probe}->[$i]->{alignment_identity};
printf " %d\n",$probes->{probe}->[$i]->{probe_identity};
printf " %d\n", $probes->{probe}->[$i]->{transversions};
printf " %d\n",$probes->{probe}->[$i]->{transitions};
printf " %d\n", $probes->{probe}->[$i]->{species}->[0]->{gaps};
printf " %s\n", $probes->{probe}->[$i]->{probe_alignment};
printf " \n";
printf " \n";
printf " \n";
printf " \n";
printf " %d\n",$probes->{probe}->[$i]->{species}->[0]->{alignment_start};
printf " %d\n",$probes->{probe}->[$i]->{species}->[0]->{alignment_end};
printf " \n";
printf " \n";
printf " %d\n", $probes->{probe}->[$i]->{species}->[0]->{probe_start};
printf " %d\n", $probes->{probe}->[$i]->{species}->[0]->{probe_end};
printf " %s\n", $probes->{probe}->[$i]->{species}->[0]->{sequence};
printf " \n";
printf " \n";
printf " \n";
printf " \n";
printf " \n";
printf " %d\n",$probes->{probe}->[$i]->{species}->[1]->{alignment_start};
printf " %d\n", $probes->{probe}->[$i]->{species}->[1]->{alignment_end};
printf " \n";
printf " \n";
printf " %d\n",$probes->{probe}->[$i]->{species}->[1]->{probe_start};
printf " %d\n",$probes->{probe}->[$i]->{species}->[1]->{probe_end};
printf " %s\n", $probes->{probe}->[$i]->{species}->[1]->{sequence};
printf " \n";
printf " \n\n\n";
}
#########################################################################
# getParams - gets all options from the command line or keeps defaults
# dies if required options are not included
#
#########################################################################
sub getParams {
my %opts;
my $errstr = "";
use Getopt::Long;
use Data::Dumper;
GetOptions(\%opts, 'file=s','base=s');
if ($opts{help})
{
$errstr = " ";
}
if ($errstr) {
print <<"END_USAGE";
Description:
This script will assign a "temp" name to each probe in the XML file based
upon the base name given on the command line.
Usage: name_probes.pl -file -base
END_USAGE
print "\n$errstr" if ($errstr);
die("\n");
}
return (
file => $opts{file},
base => $opts{base}
);
}