update Changes (first of a few)
[bioperl-live.git] / t / AlignIO / emboss.t
blob643c10b20d74bdf3ba3893f7c20a761cc9188e60
1 # -*-Perl-*- Test Harness script for Bioperl
2 # $Id: emboss.t 14971 2008-10-28 16:08:52Z cjfields $
4 use strict;
6 BEGIN {
7         use lib '.';
8     use Bio::Root::Test;
9     
10     test_begin(-tests => 37);
11         
12         use_ok('Bio::AlignIO::emboss');
15 my $DEBUG = test_debug();
17 my ($str,$aln,$strout,$status);
19 # EMBOSS water
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);
31 is($aln->length,364);
34 # EMBOSS needle
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');
44 # EMBOSS water 2.2.x
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);
68 is($aln->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'.
73    '-'x130);
74 is($aln->get_seq_by_pos(2)->seq(), ('-'x94).'PKNKGKGGK-NRRRGKNENESEKRELVFKE'.
75    'DGQEYAQVIKMLGNGRLEALCFDGVKRLCHIRGKLRKKVWINTSDIILVGLRDYQDNKADVILKYNADEAR'.
76    'SLKAYGGLPEHAKINETDTFGPGDDDEIQFDDIGDDDEDIDDI');
77 is($aln->is_flush, 1);
79 # EMBOSS needle
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');