|
Hello,
I am trying to write a simple script to align 2 sequence objects. The problem is that I get the following error message:
Use of uninitialized value in concatenation (.) or string at C:/Perl/site/lib/Bio/Tools/Run/Alignment/Clustalw.pm line 645.
Use of uninitialized value in concatenation (.) or string at C:/Perl/site/lib/Bio/Tools/Run/Alignment/Clustalw.pm line 646.
'align' is not recognized as an internal or external command,
operable program or batch file.
I would really appreciate some help. Here is my code.
#c:\perl\perl.exe
use strict;
use warnings;
use Bio::Seq;
use Bio::Tools::Run::Alignment::Clustalw;
BEGIN { $ENV{CLUSTALDIR} = 'c:/CLUSTALW2/' }
my $dna_seq = "NACCNANCGGGGGNNAAANTNNNACACTNCNGGGGGGNTNNTTANTGNGTNACACANNNGNCTNNNGGNNNCNANANTCNACAG
+GACTTAGAAGNCTNCANNGGANCATNCCCTGCTANACNANGNNANCACTCTNCAGNNCNNANCNTNGGGCNNCCTNNTCNNTNNNCCATNNGNGCTNC
+ANNANCNTANANNGATNANTANAGNANNTTNTGTTATGNNGNGTG";
my $tn5_seq = "GGGGNCCCGCTTACGATACTTCGTTATAGCATACATTATACGAAGTTATCAGATCCCCCTGGATGGAAAACGGGAAAGGTTCCG
+TCCAGGACGCTACTTGTGTATAAGAGTCAGGTT";
$dna_seq =~ s/\s+//g;
$tn5_seq =~ s/\s+//g;
my $id_1 = 'test1_DNA';
my $id_2 = 'test2_DNA';
my $alphabet = 'DNA';
my $seq_obj = Bio::Seq->new(-seq => $dna_seq,
-display_id => $id_1,
-alphabet => $alphabet);
my $tn5_obj = Bio::Seq->new(-seq => $tn5_seq,
-display_id => $id_2,
-alphabet => $alphabet);
my @params = ('ktuple' => 2, 'matrix' => 'BLOSUM');
my $factory = Bio::Tools::Run::Alignment::Clustalw->new(@params);
my @seq_array =();
push @seq_array, $seq_obj, $tn5_obj;
my $seq_array_ref = \@seq_array;
my $aln = $factory->align($seq_array_ref);
|