I'm trying to do a nucleotide substitution analysis using a very simple model like Jukes and Cantor. I have a set of transcripts assembly and based on expression I have chosen the representative component of each and did a reciprocal blastn on the nucleotide sequences which is been jotted down from previous step. I did a pairwise alignment with clustalw for them. I have the alignment file in fasta format and now I'm trying to apply a simple nucleotide substitution model to proceed for further analysis. I'm using the perl wrapper for baseml and have the latest version of PAML and Bioperl installed.
I'm attaching the script that I'm trying to use and the error which I get. It would be greatly appreciable if someone could help on the same.
#!/usr/bin/perl -w use Bio::Tools::Run::Phylo::PAML::Baseml; use Bio::AlignIO; use Data::Dumper; my $alignio = Bio::AlignIO->new(-format => 'fasta', -file => $ARGV); my $aln = $alignio->next_aln; my $baseml = Bio::Tools::Run::Phylo::PAML::Baseml->new(); $baseml->alignment($aln); $baseml->set_parameter("runmode",2); $baseml->set_parameter("model",0); $baseml->set_parameter("noisy",9); $baseml->set_parameter("verbose",1); my ($rc,$parser) = $baseml->run(); my $result = $parser->next_result; my $MLmatrix = $result-> get_MLmatrix(); print Dumper($MLmatrix);
Can't call method "get_MLmatrix" on an undefined value at extract_base_test.pl line 27, <GEN1> line 6