New INSTALL.WIN doc (from wiki)
[bioperl-live.git] / t / SeqAnalysisParser.t
blob8b7514622bb4579e7ce7c350c84d975e1a144a4d
1 # -*-Perl-*-
3 use strict;
4 BEGIN { 
5     eval { require Test; };
6     if( $@ ) {
7         use lib 't';
8     }
9     use Test;
10     plan tests => 11;
13 use Bio::Factory::SeqAnalysisParserFactory;
14 use Bio::SeqIO;
15 use Bio::Root::IO;
17 my ($seqio,$seq,$factory,$parser, $gene_seen, $exon_seen);
19 $seqio = new Bio::SeqIO('-format'=>'fasta', '-file' => Bio::Root::IO->catfile("t","data","genomic-seq.fasta"));
20 ok $seqio->isa('Bio::SeqIO');# 'seqio was not created';
21 $seq = $seqio->next_seq;
22 ok $seq->isa('Bio::PrimarySeqI');#'could not read sequence';
24 $factory = new Bio::Factory::SeqAnalysisParserFactory();
26 # let's test the genscan factory
27 $parser = $factory->get_parser(-input => Bio::Root::IO->catfile("t","data","genomic-seq.genscan"),
28                                   -method => 'genscan');
29 ok $parser->isa('Bio::SeqAnalysisParserI');#'noSeqAnalysisParserI created';
30 while( my $feat = $parser->next_feature() ){
31     $seq->add_SeqFeature($feat);
33 ($gene_seen, $exon_seen)  = (0,0);
34 foreach my $feat (  $seq->top_SeqFeatures() ) {
35     if( $feat->isa("Bio::Tools::Prediction::Gene") ) {
36         foreach my $exon ( $feat->exons ) {
37             $exon_seen++;
38         }
39         $gene_seen++;
40     } 
42 ok $exon_seen, 37;
43 ok $gene_seen, 3;
45 # let's test the mzef factory
46 $parser = $factory->get_parser(-input => Bio::Root::IO->catfile("t","data","genomic-seq.mzef"),
47                                -method=> 'mzef');
48 $seqio = new Bio::SeqIO('-format'=>'fasta', '-file' => Bio::Root::IO->catfile("t","data","genomic-seq.fasta"));
49 $seq = $seqio->next_seq();
50 ok(defined $seq && $seq->isa('Bio::PrimarySeqI'));
52 ok $parser->isa('Bio::SeqAnalysisParserI');#'noSeqAnalysisParserI created';
53 while( my $feat = $parser->next_feature() ){
54     $seq->add_SeqFeature($feat);
56 ($gene_seen, $exon_seen)  = (0,0);
57 foreach my $feat (  $seq->top_SeqFeatures() ) {
58     if( $feat->isa("Bio::Tools::Prediction::Gene") ) {
59         foreach my $exon ( $feat->exons ) { 
60             $exon_seen++;
61         }
62         $gene_seen++;
63     } 
65 ok $exon_seen, 23;
66 ok $gene_seen, 1;
68 # let's test the ePCR factory
70 $parser = $factory->get_parser(-input => Bio::Root::IO->catfile("t","data", "genomic-seq.epcr"),
71                                -method => 'epcr');
73 $seq->flush_SeqFeatures;
75 ok $parser->isa('Bio::SeqAnalysisParserI');#'noSeqAnalysisParserI created';
76 while( my $feat = $parser->next_feature() ){
77     $seq->add_SeqFeature($feat);
80 ok $seq->top_SeqFeatures(), 7;