1# -*-Perl-*- Test Harness script for Bioperl 2# $Id: SearchIO_erpin.t 14672 2008-04-22 21:42:50Z cjfields $ 3 4use strict; 5 6BEGIN { 7 use Bio::Root::Test; 8 9 test_begin(-tests => 91); 10 11 use_ok('Bio::SearchIO'); 12} 13 14my ($searchio, $result, $iter, $hit, $hsp, $algorithm, $meta); 15 16$searchio = Bio::SearchIO->new( -format => 'erpin', 17 -file => test_input_file('testfile.erpin'), 18 -model => 'stem-loop', 19 -query_acc => 'test', 20 -version => 5.5, 21 -verbose => 2 22 ); 23$result = $searchio->next_result; 24isa_ok($result, 'Bio::Search::Result::ResultI'); 25$algorithm = $result->algorithm; 26is($result->algorithm, 'ERPIN', "Result $algorithm"); 27is($result->algorithm_reference, undef, "Result $algorithm reference"); 28is($result->algorithm_version, 5.5, "Result $algorithm version"); 29is($result->available_parameters, 2, "Result parameters"); 30is($result->available_statistics, 1, "Result statistics"); 31is($result->database_entries, '', "Result entries"); 32is($result->database_letters, '', "Result letters"); 33is($result->database_name, 'AE016879.fna', "Result database_name"); 34is($result->num_hits, 1, "Result num_hits"); 35is($result->program_reference, undef, "Result program_reference"); 36is($result->query_accession, 'test', "Result query_accession"); 37is($result->query_description, '40 sequences of length 43', "Result query_description"); 38is($result->query_name, '/home/Administrator/pyrR.epn', "Result query_name"); 39 40$hit = $result->next_hit; 41isa_ok($hit, 'Bio::Search::Hit::HitI'); 42is($hit->accession, 'AE016879.1', "Hit accession"); 43is($hit->ncbi_gi, '30260185', "Hit GI"); 44is($hit->algorithm, 'ERPIN', "Hit algorithm"); 45is($hit->bits, 31.64, "Hit bits"); 46is($hit->description, 'Bacillus anthracis str. Ames, complete genome', 47 "Hit description"); # no hit descs yet 48is($hit->length, 0, "Hit length"); 49is($hit->locus, '', "Hit locus"); 50is($hit->n, 4, "Hit n"); 51is($hit->name, 'gi|30260185|gb|AE016879.1|', "Hit name"); 52is($hit->num_hsps, 4, "Hit num_hsps"); 53is($hit->overlap, 0, "Hit overlap"); 54is($hit->query_length, undef, "Hit query_length"); 55is($hit->rank, 1, "Hit rank"); 56is($hit->raw_score, 31.64, "Hit raw_score"); 57is($hit->score, 31.64, "Hit score"); 58float_is($hit->significance, 4.44e-06); 59 60$hsp = $hit->next_hsp; 61isa_ok($hsp, 'Bio::Search::HSP::HSPI'); 62is($hsp->algorithm, 'ERPIN', "HSP algorithm"); 63float_is($hsp->evalue, 1.68e-05); 64isa_ok($hsp->feature1, 'Bio::SeqFeature::Similarity'); 65isa_ok($hsp->feature2, 'Bio::SeqFeature::Similarity'); 66is($hsp->frame('query'), 0, "HSP frame"); 67is($hsp->gaps, 2, "HSP gaps"); 68isa_ok($hsp->hit, 'Bio::SeqFeature::Similarity', "HSP hit"); 69is($hsp->hit_string, 70 'CTTT.aacc--.CAACC.CCGTGA.GGTTG.a.GAAG', 71 "HSP hit_string"); 72is($hsp->homology_string, 73 '', 74 "HSP homology_string"); 75is($hsp->hsp_group, undef, "HSP hsp_group"); 76is($hsp->hsp_length, 37, "HSP hsp_length"); 77is($hsp->length, 37, "HSP length"); 78is($hsp->links, undef, "HSP links"); 79isa_ok($hsp->query, 'Bio::SeqFeature::Similarity', "HSP query"); 80is($hsp->query_string, 81 '', 82 "HSP query_string"); 83is($hsp->range, 37, "HSP range"); 84is($hsp->rank, 1, "HSP rank"); 85float_is($hsp->significance, 1.68e-05); 86float_is($hsp->expect, '1.68e-05', "HSP expect"); 87isa_ok($hsp->seq, 'Bio::LocatableSeq'); 88is($hsp->seq_str, 89 '', 90 "HSP seq_str"); 91is($hsp->start, 1, "HSP start"); 92is($hsp->custom_score, undef, "HSP custom_score"); 93is($hsp->meta, undef, "HSP meta"); 94is($hsp->meta, undef); 95is($hsp->meta, undef); 96is($hsp->strand('hit'), 1, "HSP strand"); 97is($hsp->meta, undef); 98is($hsp->meta, undef); 99 100# ERPIN lacks sequence for query, will spit back a warning.. 101eval{$hsp->get_aln}; 102like($@, qr'Missing query string, can\'t build alignment','ERPIN get_aln warning'); 103 104$hsp = $hit->next_hsp; 105isa_ok($hsp, 'Bio::Search::HSP::HSPI'); 106is($hsp->algorithm, 'ERPIN', "HSP algorithm"); 107float_is($hsp->evalue, 5.61e-05); 108isa_ok($hsp->feature1, 'Bio::SeqFeature::Similarity'); 109isa_ok($hsp->feature2, 'Bio::SeqFeature::Similarity'); 110is($hsp->frame('query'), 0, "HSP frame"); 111is($hsp->gaps, 1, "HSP gaps"); 112isa_ok($hsp->hit, 'Bio::SeqFeature::Similarity', "HSP hit"); 113is($hsp->hit_string, 114 'CTTT.taatt-.CAGTC.CTGTGA.GACCG.g.AAAG', 115 "HSP hit_string"); 116is($hsp->homology_string, 117 '', 118 "HSP homology_string"); 119is($hsp->query_string, 120 '', 121 "HSP query_string"); 122is($hsp->hsp_group, undef, "HSP hsp_group"); 123is($hsp->hsp_length, 37, "HSP hsp_length"); 124is($hsp->length, 37, "HSP length"); 125is($hsp->links, undef, "HSP links"); 126isa_ok($hsp->query, 'Bio::SeqFeature::Similarity'); 127is($hsp->range, 37, "HSP range"); 128is($hsp->rank, 2, "HSP rank"); 129float_is($hsp->significance, 5.61e-05); 130is($hsp->end, 37, "HSP end"); 131float_is($hsp->expect, '5.61e-05', "HSP expect"); 132isa_ok($hsp->seq, 'Bio::LocatableSeq'); 133is($hsp->seq_str, '', "HSP seq_str"); 134is($hsp->start, 1, "HSP start"); 135is($hsp->custom_score, undef, "HSP custom_score"); 136is($hsp->meta, undef); 137is($hsp->meta, undef); 138is($hsp->strand('hit'), -1, "HSP strand"); 139