File: AlignUtil.t

package info (click to toggle)
bioperl 1.6.1-2
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 40,768 kB
  • ctags: 12,005
  • sloc: perl: 174,299; xml: 13,923; sh: 1,941; lisp: 1,803; asm: 109; makefile: 53
file content (53 lines) | stat: -rw-r--r-- 1,301 bytes parent folder | download
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);
}