use lib 't'; BEGIN { # to handle systems with no installed Test module # we include the t dir (where a copy of Test.pm is located) # as a fallback eval { require Test; }; use Test; plan tests => 14; } use XML::NestArray qw(:all); use XML::NestArray::ITextParser; use XML::NestArray::Base; use Bio::XML::Sequence::Transform; use FileHandle; use strict; use Data::Dumper; my $game = xml2tree(@ARGV); print "parsed!\n"; my $nudata = Node(top=>[[blah=>1]]); my $T = Bio::XML::Sequence::Transform->new(); $T->data($nudata); $T->from_game($game); my @sfgenes = grep { $_->sget_ftype eq "gene" } narr_findnode($nudata, "feature"); my @sftrs = grep { $_->sget_ftype eq "transcript" } narr_findnode($nudata, "feature"); map {$T->get_loc($_)} @sfgenes; map {my @utr = $T->implicit_utr_from_transcript($_);map {print tree2xml($_)} @utr} @sftrs; print tree2xml($nudata); die; my $p = XML::NestArray::ITextParser->new; my $h = XML::NestArray::Base->new; $p->handler($h); my $fn = "t/data/bf.txt"; $p->parse($fn); my $data = $h->tree; $T->data($data); my $B = "bio"; #my ($pp) = narr_tmatch($data, "feature", "dbxref", "FBpp5"); #my @subjfeatures = $T->get_subjfeatures("", $pp); #print tree2xml($subjfeatures[0]);die; my ($gene) = narr_tmatch($data, "feature", "dbxref", "FBal99"); print tree2xml($gene); $T->get_loc($gene); print tree2xml($gene); my ($tr) = narr_tmatch($data, "feature", "dbxref", "FBsf203"); $T->get_loc($tr); print tree2xml($tr); ($tr) = narr_tmatch($data, "feature", "dbxref", "FBtr15"); print "getting UTR..\n"; my @utr = $T->implicit_utr_from_transcript($tr); map {print tree2xml($_)} @utr; ok(1); $T->mk_all($gene); #my ($nu) = $T->tf_features($gene); my ($gene_ent) = narr_findnode($data, "gene"); my ($nu) = $T->tf_gene($gene_ent); print tree2xml($nu);