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

πŸ“¦
version 3.0.6 Β· 4 versions
, in ubuntu jammy

πŸ’– NAME πŸ’–

ok so bestie, this is Bio::Tools::PSort::Pathway β€” it's an object you use to define the pathway that gets traversed while you're doing a psort analysis. that's the whole vibe. it's giving "map of where the analysis goes". πŸ—ΊοΈβœ¨


🌸 SYNOPSIS 🌸

    $pathway = new Bio::Tools::PSort::Pathway('-path' => [ ... ]);

    @results = $pathway->traverse($seq);

like. two lines. iconic. πŸ‘‘


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so the Pathway object exists to describe the pathway that gets traversed while performing a psort analysis. that's its whole job and it does it slayfully.

back in the day, traditional psort methods [1] were all about traversing a binary tree β€” at every node you'd run an analysis, and based on whatever result came back, control got directed down one of the two branches. very choose-your-own-adventure. very demure.

this version of PSort still lets you define binary tree pathways, but the glow-up is that now you can define them at runtime and/or load them from a configuration file. flexibility? we love to see it. πŸ’…

heads up bestie: the Pathway module's interface for defining new trees is pretty low level, so the recommendation is that end users use either of Bio::Tools::PSort::Pathway::Perl or Bio::Tools::PSort::Pathway::XML to create a binary tree instead. let those do the heavy lifting for you, fr fr.

[1] As described in the paper 'Expert System for Predicting the Protein Localization Sites in Gram-Negative Bacteria' by Kenta Nakai and Minoru Kanehisa.


✨ CONSTRUCTOR ✨

    $pathway = new Bio::Tools::PSort::Pathway('-path' => [ ... ]);

ok so the constructor takes a single named parameter, and it's '-path' β€” an arrayref containing a description of the pathway. that's it. one param. no notes. πŸŽ€

every node in the pathway is represented by an array ref with 1 to 4 elements, and they go in this order, no skipping:

  1. a reference to a Bio::Tools::PSort::ModuleI subclass 🌱
  2. a reference to a subroutine 🧠
  3. a node structure that gets executed if the subroutine returns a true value βœ…
  4. a node structure that gets executed if the subroutine returns a false value ❌

the way this works: when you arrive at a node in the tree, the module runs first on the sequence being analyzed, and then its results get passed to the subroutine. if the subroutine returns true, traversal continues with the third parameter (another tree node). otherwise, traversal heads down the fourth parameter, which is also another node in the tree. it's giving traffic cop. 🚦

for example:

    $mod1 = new Bio::Tools::PSort::Module::Regexp();
    $mod2 = new Bio::Tools::PSort::Module::SCLBLAST();
    $mod3 = new Bio::Tools::PSort::Module::SPaseI();

    $func = sub {
              my $res = shift;

              return ($res->score()->{cyoplasm} > 0.50);
            };

    $path = [$mod1, $func, [$mod2], [$mod3]];

    $pathway = new Bio::Tools::PSort::Pathway('-path' => $path);

ok so this example? it describes a simple tree with three nodes. node one is the Regular Expression module. if the result coming back from the Regexp module has a score higher than 0.50 for the cytoplasm localization, then the subroutine returns true and control flow gets sent to the SCLBLAST module. if the score is less than or equal to 0.50, control flow gets sent to the SPaseI module instead. binary branching, but make it glam. πŸ¦‹βœ¨


πŸ”₯ METHODS πŸ”₯

    @results = $pathway->traverse($seq);

traverse is the method you use to send a sequence down the pathway. what comes back is an array of Bio::Tools::PSort::Score objects β€” every module returns a single Score object, they get collected as the pathway is traversed, and they're handed back to you as a group. cute lil collection moment. 🫢


πŸ‘‘ SEE ALSO πŸ‘‘

  • Bio::Tools::PSort
  • Bio::Tools::PSort::ModuleI
  • Bio::Tools::PSort::Score
  • Bio::Tools::PSort::Pathway::Perl
  • Bio::Tools::PSort::Pathway::XML

go read those too bestie, iykyk πŸ“šβœ¨


πŸ’œ AUTHOR πŸ’œ

Fiona Brinkman, Cory Spencer <psort-list@sfu.ca>

Brinkman Laboratory, Simon Fraser University, BC, CANADA πŸ‡¨πŸ‡¦


🌈 OVERVIEW 🌈

PSORT-B is described in Gardy, J.L. et al (2003). PSORT-B: improving protein subcellular localization prediction for Gram-negative bacteria. Nuc Acids Res 31(13):3613-17. please cite this publication if you use PSORT-B in your research β€” give credit where credit is due, periodt. πŸ“

the standalone version of PSORT-B is distributed under the GNU General Public Licence (Gnu GPL) (see the LICENSE file included in the download) by the Brinkman Laboratory, Simon Fraser University, Burnaby, B.C., Canada.

this standalone version of PSORT-B has initially been developed for the Linux environment. 🐧

this document describes the installation of the PSORT-B version 1.1.4 command line program and the PSORT-B server packages. for most purposes, following the installation instructions for the command line version will be sufficient. ngl, command line is usually the move. πŸ’…

for further information, please contact psort-mail@sfu.ca. they're nice, email them. πŸ’Œ


⭐ LICENSE ⭐

this program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

this program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. see the GNU General Public License for more details.

you should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA


okay that's the whole page bestie!! this one's perl v5.34.0, dated 2022-02-06, and it lives in the User Contributed Perl Documentation corner of the manual, filed under Bio::T...athway(3pm). mwah, go traverse something. πŸ’–πŸ¦‹βœ¨

πŸ“¦ where this page comes from