2 ## Bioperl Test Harness Script for Modules
8 # to handle systems with no installed Test module
9 # we include the t dir (where a copy of Test.pm is located)
11 eval { require Test; };
23 my ($seq, $util, $ascii, $ascii_aa, $ascii3);
26 $ascii = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
27 $ascii_aa = 'ABCDEFGHIXKLMNXPQRSTUVWXYZ';
30 'AlaAsxCysAspGluPheGlyHisIleXaaLysLeuMetAsnXaaProGlnArgSerThrSelValTrpXaaTyrGlx';
32 $seq = Bio::PrimarySeq->new('-seq'=> $ascii,
33 '-alphabet'=>'protein',
36 # one letter amino acid code to three letter code
37 ok $util = new Bio::SeqUtils;
38 ok $util->seq3($seq), $ascii3;
41 ok (Bio::SeqUtils->seq3($seq), $ascii3);
42 ok (Bio::SeqUtils->seq3($seq, undef, ','),
43 'Ala,Asx,Cys,Asp,Glu,Phe,Gly,His,Ile,Xaa,Lys,'.
44 'Leu,Met,Asn,Xaa,Pro,Gln,Arg,Ser,Thr,Sel,Val,Trp,Xaa,Tyr,Glx');
46 $seq->seq('asd-KJJK-');
47 ok (Bio::SeqUtils->seq3($seq, '-', ':'),
48 'Ala:Ser:Asp:Ter:Lys:Xaa:Xaa:Lys:Ter');
50 # three letter amino acid code to one letter code
51 ok (Bio::SeqUtils->seq3in($seq, 'AlaPYHCysAspGlu')),
52 ok $seq->seq, 'AXCDE';
53 ok (Bio::SeqUtils->seq3in($seq, $ascii3)->seq, $ascii_aa);
57 # Tests for multiframe translations
60 $seq = Bio::PrimarySeq->new('-seq'=> 'agctgctgatcggattgtgatggctggatggcttgggatgctgg',
64 my @a = $util->translate_3frames($seq);
67 # print 'ID: ', $a->id, ' ', $a->seq, "\n";
70 @a = $util->translate_6frames($seq);
73 # print 'ID: ', $a->id, ' ', $a->seq, "\n";
77 # test for valid AA return
80 my @valid_aa = sort Bio::SeqUtils->valid_aa;
82 ok ($valid_aa[1], 'A');
84 @valid_aa = sort Bio::SeqUtils->valid_aa(1);
86 ok ($valid_aa[1], 'Arg');
88 my %valid_aa = Bio::SeqUtils->valid_aa(2);
89 ok keys %valid_aa, 50;
90 ok($valid_aa{'C'}, 'Cys');
91 ok( $valid_aa{'Cys'}, 'C');