1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
|
# -*-Perl-*-
## Bioperl Test Harness Script for Modules
##$Id: SeqUtils.t,v 1.8 2001/12/14 13:37:35 heikki Exp $
use strict;
BEGIN {
# to handle systems with no installed Test module
# we include the t dir (where a copy of Test.pm is located)
# as a fallback
eval { require Test; };
if( $@ ) {
use lib 't';
}
use Test;
plan tests => 17;
}
use Bio::PrimarySeq;
use Bio::SeqUtils;
ok 1;
my ($seq, $util, $ascii, $ascii_aa, $ascii3);
# ! !
$ascii = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$ascii_aa = 'ABCDEFGHIXKLMNXPQRSTUVWXYZ';
$ascii3 =
'AlaAsxCysAspGluPheGlyHisIleXaaLysLeuMetAsnXaaProGlnArgSerThrSelValTrpXaaTyrGlx';
$seq = Bio::PrimarySeq->new('-seq'=> $ascii,
'-alphabet'=>'protein',
'-id'=>'test');
# one letter amino acid code to three letter code
ok $util = new Bio::SeqUtils;
ok $util->seq3($seq), $ascii3;
#using anonymous hash
ok (Bio::SeqUtils->seq3($seq), $ascii3);
ok (Bio::SeqUtils->seq3($seq, undef, ','),
'Ala,Asx,Cys,Asp,Glu,Phe,Gly,His,Ile,Xaa,Lys,'.
'Leu,Met,Asn,Xaa,Pro,Gln,Arg,Ser,Thr,Sel,Val,Trp,Xaa,Tyr,Glx');
$seq->seq('asd-KJJK-');
ok (Bio::SeqUtils->seq3($seq, '-', ':'),
'Ala:Ser:Asp:Ter:Lys:Xaa:Xaa:Lys:Ter');
# three letter amino acid code to one letter code
ok (Bio::SeqUtils->seq3in($seq, 'AlaPYHCysAspGlu')),
ok $seq->seq, 'AXCDE';
ok (Bio::SeqUtils->seq3in($seq, $ascii3)->seq, $ascii_aa);
#ok ();
#
# Tests for multiframe translations
#
$seq = Bio::PrimarySeq->new('-seq'=> 'agctgctgatcggattgtgatggctggatggcttgggatgctgg',
'-alphabet'=>'dna',
'-id'=>'test2');
my @a = $util->translate_3frames($seq);
ok scalar @a, 3;
#foreach $a (@a) {
# print 'ID: ', $a->id, ' ', $a->seq, "\n";
#}
@a = $util->translate_6frames($seq);
ok scalar @a, 6;
#foreach $a (@a) {
# print 'ID: ', $a->id, ' ', $a->seq, "\n";
#}
# test for valid AA return
my @valid_aa = sort Bio::SeqUtils->valid_aa;
ok(@valid_aa, 24);
ok ($valid_aa[1], 'B');
@valid_aa = sort Bio::SeqUtils->valid_aa(1);
ok(@valid_aa, 24);
ok ($valid_aa[1], 'Ala');
my %valid_aa = Bio::SeqUtils->valid_aa(2);
ok($valid_aa{'C'}, 'Cys');
ok( $valid_aa{'Cys'}, 'C');
|