#!/usr/bin/perl

use warnings;
use strict;
use Bio::DB::SeqFeature::Store;
use Data::Dumper;

my %dir = ( 1=>'+', -1=>'-' );

my $db = Bio::DB::SeqFeature::Store->new( -adaptor	=> 'DBI::mysql',
										  -dsn	=> 'dbi:mysql:tair8',
										  -user	=> 'apache');

my $mRNA_list = $db->get_seq_stream( -types	=>	'mRNA');

while (my $mRNA = $mRNA_list->next_seq) {
	my ($protein) = $db->features(-type	=> 'protein',
								  -name	=> $mRNA->name);
	next unless ($protein);
	print $mRNA->name, "\t", $mRNA->ref, "\t", $dir{$mRNA->strand}, "\t", $mRNA->start, "\t", $mRNA->stop, "\t", $protein->start, "\t", $protein->stop;
	my @exons = $db->fetch_SeqFeatures($mRNA,
									   -type	=> 'exon');
	my $exonCount = scalar(@exons);
	my (@exonStarts, @exonEnds);
	for my $i (0..$exonCount-1) {
		push @exonStarts, $exons[$i]->start;
		push @exonEnds, $exons[$i]->stop;
	}
	print "\t$exonCount\t", join(',', @exonStarts), "\t", join(',', @exonEnds), "\t\t", $mRNA->name, "\n";
}
