Bio::T...:Molphy(3pm)

πŸ“¦
version 1.7.8 Β· 3 versions
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble

✨ NAME ✨

Bio::Tools::Phylo::Molphy β€” bestie, it's literally a parser for Molphy output πŸ’…

This is from the User Contributed Perl Documentation collection, iykyk.


🌸 SYNOPSIS 🌸

use Bio::Tools::Phylo::Molphy;
my $parser = Bio::Tools::Phylo::Molphy->new(-file => 'output.protml');
while( my $r = $parser->next_result ) {
  # r is a Bio::Tools::Phylo::Molphy::Result object

  # print the model name
  print $r->model, "\n";

  # get the substitution matrix
  # this is a hash of 3letter aa codes -> 3letter aa codes representing
  # substitution rate
  my $smat = $r->substitution_matrix;
  print "Arg -> Gln substitution rate is %d\n",
        $smat->{'Arg'}->{'Gln'}, "\n";

  # get the transition probablity matrix
  # this is a hash of 3letter aa codes -> 3letter aa codes representing
  # transition probabilty
  my $tmat = $r->transition_probability_matrix;
  print "Arg -> Gln transition probablity is %.2f\n",
        $tmat->{'Arg'}->{'Gln'}, "\n";

  # get the frequency for each of the residues
  my $rfreqs = $r->residue_frequencies;

  foreach my $residue ( keys %{$rfreqs} ) {
     printf "residue %s  expected freq: %.2f observed freq: %.2f\n",
            $residue,$rfreqs->{$residue}->[0], $rfreqs->{$residue}->[1];
  }

  my @trees;
  while( my $t = $r->next_tree ) {
      push @trees, $t;
  }

  print "search space is ", $r->search_space, "\n",
        "1st tree score is ", $trees[0]->score, "\n";

  # writing to STDOUT, use -file => '>filename' to specify a file
  my $out = Bio::TreeIO->new(-format => "newick");
  $out->write_tree($trees[0]); # writing only the 1st tree
}

πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so it's a parser for Molphy output β€” specifically protml and dnaml. That's the whole vibe. Slay. πŸ’–


πŸ’Œ FEEDBACK πŸ’Œ

πŸ’¬ Mailing Lists

Bestie, user feedback is an integral part of the evolution of this module and all the other Bioperl modules. So send your comments and suggestions, preferably to the Bioperl mailing list β€” your participation is so appreciated, no cap. 🫢

bioperl-l@bioperl.org                  - General discussion
http://bioperl.org/wiki/Mailing_lists  - About the mailing lists

πŸ«‚ Support

Please direct usage questions or support issues to the mailing list:

bioperl-l@bioperl.org

...rather than sliding into the module maintainer's DMs directly. There are lots of experienced and responsive experts who will be able to look at the problem and quickly address it. And if it's at all possible, please include a thorough description of the problem with code and data examples. Like, thorough thorough. ✨

πŸ› Reporting Bugs

Report bugs to the Bioperl bug tracking system so we can keep track of the bugs and their resolutions together. Bug reports can be submitted via the web:

https://github.com/bioperl/bioperl-live/issues

πŸ‘‘ AUTHOR - Jason Stajich πŸ‘‘

Email: jason-at-bioperl.org


πŸ“– APPENDIX πŸ“–

The rest of the documentation details each of the object methods. Lowkey important: internal methods are usually preceded with a _. πŸ’€

🌟 new

Title   : new
Usage   : my $obj = Bio::Tools::Phylo::Molphy->new();
Function: Builds a new Bio::Tools::Phylo::Molphy object
Returns : Bio::Tools::Phylo::Molphy
Args    : -fh/-file => $val, # for initing input, see Bio::Root::IO

🌟 next_result

Title   : next_result
Usage   : my $r = $molphy->next_result
Function: Get the next result set from parser data
Returns : Bio::Tools::Phylo::Molphy::Result object
Args    : none

And that's the whole page, bestie β€” written for perl v5.32.1, dated 2021-08-15. Periodt. πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from