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
|
# -*-Perl-*- Test Harness script for Bioperl
# $Id: AlignUtil.t 15112 2008-12-08 18:12:38Z sendu $
use strict;
BEGIN {
use lib '.';
use Bio::Root::Test;
test_begin(-tests => 33);
use_ok('Bio::Align::Utilities',qw(aa_to_dna_aln bootstrap_replicates cat) );
use_ok('Bio::AlignIO');
use_ok('Bio::SeqIO');
}
my $in = Bio::AlignIO->new(-format => 'clustalw',
-file => test_input_file('pep-266.aln'));
my $aln = $in->next_aln();
isa_ok($aln, 'Bio::Align::AlignI');
$in->close();
my $seqin = Bio::SeqIO->new(-format => 'fasta',
-file => test_input_file('cds-266.fas'));
# get the cds sequences
my %cds_seq;
while( my $seq = $seqin->next_seq ) {
$cds_seq{$seq->display_id} = $seq;
}
my $cds_aln = &aa_to_dna_aln($aln,\%cds_seq);
my @aa_seqs = $aln->each_seq;
for my $cdsseq ( $cds_aln->each_seq ) {
my $peptrans = $cdsseq->translate();
my $aaseq = shift @aa_seqs;
is($peptrans->seq(),$aaseq->seq());
}
my $bootstraps = &bootstrap_replicates($aln,10);
is(scalar @$bootstraps, 10);
my $sub_aln1=$aln->slice(1,100);
my $sub_aln2=$aln->slice(101,200);
my $sub_aln3=$aln->slice(1,200);
my $cat_aln=cat($sub_aln1, $sub_aln2);
my @seq=$sub_aln3->each_seq;
for my $seq ($cat_aln->each_seq) {
my $refseq=shift @seq;
is($seq->seq, $refseq->seq);
}
|