1 # -*-Perl-*- Test Harness script for Bioperl
2 # $Id: emboss.t 14971 2008-10-28 16:08:52Z cjfields $
10 test_begin(-tests => 37);
12 use_ok('Bio::AlignIO::emboss');
15 my $DEBUG = test_debug();
17 my ($str,$aln,$strout,$status);
20 $str = Bio::AlignIO->new('-format' => 'emboss',
21 '-file' => test_input_file('cysprot.water'));
22 $aln = $str->next_aln();
23 isa_ok($aln,'Bio::Align::AlignI');
24 is($aln->score,'501.50');
25 is($aln->get_seq_by_pos(1)->get_nse,'PAPA_CARPA/3-342');
26 is($aln->get_seq_by_pos(2)->get_nse,'CATL_HUMAN/1-331');
27 is(sprintf("%.1f",$aln->overall_percentage_identity),33.8);
28 is(sprintf("%.1f",$aln->average_percentage_identity),40.1);
30 is($aln->get_seq_by_pos(1)->start, 3);
35 $str = Bio::AlignIO->new('-format' => 'emboss',
36 '-file' => test_input_file('cysprot.needle'));
37 $aln = $str->next_aln();
38 isa_ok($aln,'Bio::Align::AlignI');
39 is($aln->score,'499.50');
40 is($aln->get_seq_by_pos(1)->get_nse,'PAPA_CARPA/1-345');
41 is($aln->get_seq_by_pos(2)->get_nse,'CATL_HUMAN/1-333');
45 $str = Bio::AlignIO->new('-format' => 'emboss',
46 '-file' => test_input_file('cys1_dicdi.water'));
47 $aln = $str->next_aln();
48 isa_ok($aln,'Bio::Align::AlignI');
49 is($aln->get_seq_by_pos(1)->get_nse,'CYS1_DICDI/1-343');
50 is($aln->get_seq_by_pos(2)->get_nse,'CYS1_DICDI-1/1-343');
51 is($aln->score,'1841.0');
52 $aln = $str->next_aln();
53 isa_ok($aln,'Bio::Align::AlignI');
54 is($aln->get_seq_by_pos(1)->get_nse,'CYS1_DICDI/29-343');
55 is($aln->get_seq_by_pos(2)->get_nse,'ALEU_HORVU/61-360');
58 # EMBOSS water 2.2.x sparse needle
59 $str = Bio::AlignIO->new(-verbose => $DEBUG,
60 '-format' => 'emboss',
61 '-file' => test_input_file('sparsealn.needle'));
62 $aln = $str->next_aln();
63 isa_ok($aln,'Bio::Align::AlignI');
64 is($aln->score,'18.0');
65 is(sprintf("%.1f",$aln->overall_percentage_identity), 2.1);
66 is(sprintf("%.1f",$aln->average_percentage_identity), 38.5);
67 is($aln->get_seq_by_pos(1)->length, 238);
69 is($aln->get_seq_by_pos(1)->get_nse,'KV1K_HUMAN/1-108');
70 is($aln->get_seq_by_pos(2)->get_nse,'IF1Y_HUMAN/1-143');
71 is($aln->get_seq_by_pos(1)->seq(), 'DIQMTQSPSTLSVSVGDRVTITCEASQTVLSYLNWYQQK'.
72 'PGKAPKLLIYAASSLETGVPSRFSGQGSGTBFTFTISSVZPZBFATYYCQZYLDLPRTFGQGTKVDLKR'.
74 is($aln->get_seq_by_pos(2)->seq(), ('-'x94).'PKNKGKGGK-NRRRGKNENESEKRELVFKE'.
75 'DGQEYAQVIKMLGNGRLEALCFDGVKRLCHIRGKLRKKVWINTSDIILVGLRDYQDNKADVILKYNADEAR'.
76 'SLKAYGGLPEHAKINETDTFGPGDDDEIQFDDIGDDDEDIDDI');
77 is($aln->is_flush, 1);
80 $str = Bio::AlignIO->new('-format' => 'emboss',
81 '-file' => test_input_file('gf-s71.needle'));
82 $aln = $str->next_aln();
83 isa_ok($aln,'Bio::Align::AlignI');
84 is($aln->get_seq_by_pos(2)->seq(), 'MEDVTLFQFTWRKPI-RLQGEIVYKTSETQTIETNKKDVECVANFQENKEVQTDS-VDNGVGENVKKDITISKEVLNLLYDFVRDDSKVNYDRLLEFHKFDKVALETVQKYHVETRNENIILMISSSSRKTLILFGGISHETFCSHQARALLCSSSTSFSIPLPVCAISAVFYSSTQFILGDVSGNISMCSKDKIIFEKKITDGAVTCLEMCRHGLLSGSDDGNIILWQIGTSGLEKLGGTKLTVSDLSRKIRRSSTSNKPVAIVSMQVYVWPSGEEACVATETGGLYLLTLPTLDYKPLSHQTATSINKILFENQFVAVIYHTSNAAVFNSEGLVDEIPFVATLAVR----------PKLVLF--YTSVCVQDITLNCTSPFREFNNEYNPVIKFSKIRFSADLSVING-FRTSSPNSNN-----------------------------------------------');
85 is($aln->get_seq_by_pos(1)->seq(), 'MEDVTLHHFRWRKPVENKNGEIVYKTSETQTAEISRKDVECVANFQKSQESQTDDFMQNGVGDGIKKEIRISKEVLGHIYDFLRDDSKVNYDRLLEFHKFDKVSLETVQKYHVETRNENIILMISNSSRKTLILFGGLSHETFCSHQARAVLCSSSTTSSLPLPVCAISAVFYSSTQFLLGDISGNISMWTKEKMIFENKVTDGSVTSLELCRYGLLSGSDDGNVILWKVEESKIEKIEGIKLTVSDLSRKIRRSSTSNKPVAIVSMQV----SGDEVCVATETGGLYLLTLPTLESKPLT-QSATSIFKILYEHPYIAVVYHTSNSAIFNSEGLVDEIPFVATLAVRCGAYFIFSNQSRLIIWSMNTRSTVIDENLNCHS-ICSLSND--------------TLQVLDGDFNLNSQSENSATSESENLRISDLQNLRMLKLQNLRTSEFQNFRTSESQYFKKDNGEL');
86 is($aln->is_flush(), 1);
87 is($aln->get_seq_by_pos(1)->get_nse,'gf.s71.44/1-448');
88 is($aln->get_seq_by_pos(2)->get_nse,'Y50C1A.2/1-406');