File Coverage

Bio/DB/GFF/Aggregator/transcript.pm
Criterion Covered Total %
statement 9 9 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod 3 3 100.0
total 17 17 100.0


line stmt bran cond sub pod time code
1             =head1 NAME
2              
3             Bio::DB::GFF::Aggregator::transcript -- Transcript aggregator
4              
5             =head1 SYNOPSIS
6              
7             use Bio::DB::GFF;
8              
9             # Open the sequence database
10             my $db = Bio::DB::GFF->new( -adaptor => 'dbi:mysql',
11             -dsn => 'dbi:mysql:elegans42',
12             -aggregator => ['transcript','clone'],
13             );
14              
15             -------------------------------------------------
16             Aggregator method: transcript
17             Main method: transcript
18             Sub methods: exon CDS 5'UTR 3'UTR TSS PolyA
19             -------------------------------------------------
20              
21             =head1 DESCRIPTION
22              
23             Bio::DB::GFF::Aggregator::transcript is one of the default
24             aggregators, and was written to be compatible with the C elegans GFF
25             files. It aggregates raw ""exon", "CDS", "5'UTR", "3'UTR", "polyA"
26             and "TSS" features into "transcript" features. For compatibility with
27             the idiosyncrasies of the Sanger GFF format, it expects that the full
28             range of the transcript is contained in a main feature of type
29             "Transcript" (notice the capital "T").
30              
31             Internally this module is very simple. To override it with one that
32             recognizes a main feature named "gene", simply follow this
33             template:
34              
35             my $db = Bio::DB::GFF->new(...etc...)
36             my $aggregator = Bio::DB::GFF::Aggregator->new(-method => 'transcript',
37             -main_method => 'gene',
38             -sub_parts => ['exon','CDS']);
39             $db->add_aggregator($aggregator);
40              
41             =cut
42              
43             package Bio::DB::GFF::Aggregator::transcript;
44              
45 3     3   12 use strict;
  3         6  
  3         81  
46              
47 3     3   9 use base qw(Bio::DB::GFF::Aggregator);
  3         3  
  3         318  
48              
49             =head2 method
50              
51             Title : method
52             Usage : $aggregator->method
53             Function: return the method for the composite object
54             Returns : the string "transcript"
55             Args : none
56             Status : Public
57              
58             =cut
59              
60 91     91 1 145 sub method { 'transcript' }
61              
62             =head2 part_names
63              
64             Title : part_names
65             Usage : $aggregator->part_names
66             Function: return the methods for the sub-parts
67             Returns : the list "intron", "exon" and "CDS"
68             Args : none
69             Status : Public
70              
71             =cut
72              
73             sub part_names {
74 66     66 1 188 return qw(exon CDS 5'UTR 3'UTR TSS PolyA);
75             }
76              
77             =head2 main_name
78              
79             Title : main_name
80             Usage : $aggregator->main_name
81             Function: return the method for the main component
82             Returns : the string "transcript"
83             Args : none
84             Status : Public
85              
86             =cut
87              
88             sub main_name {
89 127     127 1 186 return 'transcript';
90             }
91              
92             1;
93             __END__