.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Bio::Tools::PSort::Pathway 3pm" .TH Bio::Tools::PSort::Pathway 3pm "2018-11-01" "perl v5.28.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Bio::Tools::PSort::Pathway \- an object used to define the pathway that is traversed while doing a psort analysis. .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& $pathway = new Bio::Tools::PSort::Pathway(\*(Aq\-path\*(Aq => [ ... ]); \& \& @results = $pathway\->traverse($seq); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" The Pathway object is used to describe the pathway that is traversed while performing a psort analysis. Traditional psort methods [1] involved traversing a binary tree, where at every node an analysis was performed, and based on the result, control was directed down one of the two branches. This version of PSort maintains the ability to define binary tree pathways, but allows them to be defined at runtime and/or loaded from a configuration file. .PP Since the Pathway modules interface for defining new trees is rather low level, it is recommended that end users use either of the Bio::Tools::PSort::Pathway::Perl or Bio::Tools::PSort::Pathway::XML modules to create a binary tree. .PP [1] As described in the paper 'Expert System for Predicting the Protein Localization Sites in Gram-Negative Bacteria' by Kenta Nakai and Minoru Kanehisa. .SH "CONSTRUCTOR" .IX Header "CONSTRUCTOR" .Vb 1 \& $pathway = new Bio::Tools::PSort::Pathway(\*(Aq\-path\*(Aq => [ ... ]); .Ve .PP The constructor for the Pathway object accepts a single named parameter, \&'\-path', which is an arrayref containing a description of the pathway. Each node in the pathway is represented by an array ref containing 1 to 4 elements, which are in order, a reference to a Bio::Tools::PSort::ModuleI subclass, a reference to a subroutine, and two other node structures which will be executed if the subroutine returns either true or false values. .PP Upon arriving at a node in the tree, the module is first run on the sequence being analyzed, and it's results is passed to the subroutine. If the subroutine returns true, then the traversal continues with the third parameter, another tree node, otherwise traversal is sent down the fourth parameter, which is also another node in the tree. .PP For example: .PP .Vb 3 \& $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(\*(Aq\-path\*(Aq => $path); .Ve .PP This example describes a simple tree with three nodes. The first node consists of the Regular Expression module. If the result returned from the Regexp module has score higher that 0.50 for the cytoplasm localization, then the subroutine will return true, and control flow will be directed to the \s-1SCLBLAST\s0 module. If the score is less than or equal to 0.50, the control flow will be sent to the SPaseI module. .SH "METHODS" .IX Header "METHODS" .Vb 1 \& @results = $pathway\->traverse($seq); .Ve .PP The traverse method is used to send a sequence down the pathway. An array of Bio::Tools::PSort::Score object is returned (each module returns a single Score object, they are collected as the pathway is traversed and returned as a group). .SH "SEE ALSO" .IX Header "SEE ALSO" Bio::Tools::PSort, Bio::Tools::PSort::ModuleI, Bio::Tools::PSort::Score, Bio::Tools::PSort::Pathway::Perl, Bio::Tools::PSort::Pathway::XML .SH "AUTHOR" .IX Header "AUTHOR" .Vb 2 \& Fiona Brinkman, Cory Spencer \& Brinkman Laboratory, Simon Fraser University, BC, CANADA .Ve .SH "OVERVIEW" .IX Header "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. .PP The standalone version of PSORT-B is distributed under the \s-1GNU\s0 General Public Licence (Gnu \s-1GPL\s0) (see the \s-1LICENSE\s0 file included in the download) by the Brinkman Laboratory, Simon Fraser University, Burnaby, B.C., Canada. .PP This standalone version of PSORT-B has initially been developed for the Linux environment. .PP 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. .PP For further information, please contact psort\-mail@sfu.ca. .SH "LICENSE" .IX Header "LICENSE" This program is free software; you can redistribute it and/or modify it under the terms of the \s-1GNU\s0 General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. .PP This program is distributed in the hope that it will be useful, but \s-1WITHOUT ANY WARRANTY\s0; without even the implied warranty of \&\s-1MERCHANTABILITY\s0 or \s-1FITNESS FOR A PARTICULAR PURPOSE.\s0 See the \&\s-1GNU\s0 General Public License for more details. .PP You should have received a copy of the \s-1GNU\s0 General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, \s-1MA\s0 02111\-1307 \s-1USA\s0