Allow falling back to any strigified Bio::AnnotationI for 'gene_name'
[bioperl-live.git] / t / Tools / Geneid.t
blobe2b59ae9553dbfc9c999ba925d71bb4df8bdd47e
1 # -*-Perl-*- Test Harness script for Bioperl
2 # $Id$
4 use strict;
6 BEGIN {
7     use lib '.';
8         use Bio::Root::Test;
9         
10         test_begin(-tests => 26);
11         
12     use_ok('Bio::Tools::Geneid');
15 my $inputfilename = test_input_file('geneid_1.0.out');
16 my $parser = Bio::Tools::Geneid->new(-file => $inputfilename);
17 my @genes;
19 while (my $gene= $parser->next_prediction)
21     push(@genes, $gene);
24 my @transcripts = $genes[0]->transcripts;
25 my @exons = $transcripts[0]->exons;
27 is($transcripts[0]->seq_id, '10');
28 is($exons[0]->seq_id, '10');
29 is($transcripts[0]->source_tag, 'geneid');
30 is($exons[0]->source_tag, 'geneid');
31 is($transcripts[0]->primary_tag, 'transcript');
32 is($exons[0]->primary_tag, 'Initial');
34 is(scalar($transcripts[0]->exons), 2);
35 is($transcripts[0]->start, 6090);
36 is($transcripts[0]->end, 7276);
37 is($transcripts[0]->score, 36.87);
38 is($transcripts[0]->strand, 1);
39 is($exons[0]->start, 6090);
40 is($exons[0]->end, 6155);
41 is($exons[0]->score, '1.40');
42 is($exons[0]->strand, 1);
44 my ($type) = $exons[0]->get_tag_values('Type');
45 is($type, 'Initial');
47 my ($phase) = $exons[0]->get_tag_values('phase');
48 is($phase, 0);
50 my ($end_phase) = $exons[0]->get_tag_values('end_phase');
51 is($end_phase, 0);
53 my ($start_signal_score) = $exons[0]->get_tag_values('start_signal_score');
54 is($start_signal_score, 2.15);
56 my ($end_signal_score) = $exons[0]->get_tag_values('end_signal_score');
57 is($end_signal_score, 3.63);
59 my ($coding_potential_score) = $exons[0]->get_tag_values('coding_potential_score');
60 is($coding_potential_score, 12.34);
62 my ($homology_score) = $exons[0]->get_tag_values('homology_score');
63 is($homology_score, '0.00');
65 is(scalar(@genes), 3);
67 @transcripts = $genes[1]->transcripts;
68 is(scalar($transcripts[0]->exons), 5);
70 @transcripts = $genes[2]->transcripts;
71 is(scalar($transcripts[0]->exons), 1);