.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.13) .\" .\" 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" '' '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 turned on, 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. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "PMP::Array 3" .TH PMP::Array 3 "2009-02-28" "perl v5.10.1" "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" PMParray \- convenience functions for controlling multiple PMP pipes. .SH "SYNOPSIS" .IX Header "SYNOPSIS" See the synopsis in the \s-1PMP\s0 documentation for an illustration of how to use PMParray. .SH "DESCRIPTION" .IX Header "DESCRIPTION" PMParray contains a series of convenience functions for dealing with multiple pipelines. The definition of a pipeline in the \s-1PMP\s0 context relates to all the stages for an individual subject. In most cases, however, a program will execute all stages for multiple subjects. This is where PMParray comes in, as it provides facilities for doing just that. .SH "OVERVIEW" .IX Header "OVERVIEW" The basic usage of PMParray is the following: PMParray is initialized with a call to PMParray\->\fInew()\fR. Then the individual \s-1PMP\s0 pipelines are created. Once each pipeline is created it is added to PMParray with the PMParray\->addPipe method. Then PMParray is used to call the same method on all its component pipelines \- such as running them all to completion. .SH "METHODS" .IX Header "METHODS" .SS "new" .IX Subsection "new" Initialises the pipeline \- has to be the first method called. .SS "maxQueued" .IX Subsection "maxQueued" Set the maximum number of running jobs in queue. .SS "setGranularity" .IX Subsection "setGranularity" Set the granularity level for the scheduling of the stages. An argument value of 0 will submit each stage to the queue whereas a value of 1 will lump together all stages for a given subject and submit them in one job to the queue (one queue submission per subject). .SS "addPipe" .IX Subsection "addPipe" Takes a \s-1PMP\s0 object as its argument and adds it to the PMParray. .SS "run" .IX Subsection "run" Runs all the pipelines that have been added until nothing is left to be done in any of them. .SS "updateFromFiles" .IX Subsection "updateFromFiles" Sets the status of all stages in all pipelines based on their inputs and outputs. In other words, calls the \s-1PMP\s0 method statusFromFiles on all pipelines. .SS "printUnfinished" .IX Subsection "printUnfinished" Prints the unfinished stages for each pipeline. .SS "resetFromStage" .IX Subsection "resetFromStage" Takes a stage name as an argument, and resets all stages from that one onwards in each pipeline (uses a method of the same name in \s-1PMP\s0). .SS "resetAfterStage" .IX Subsection "resetAfterStage" Takes a stage name as an argument, and resets all stages after that one onwards in each pipeline (uses a method of the same name in \s-1PMP\s0). .SS "resetAll" .IX Subsection "resetAll" Resets all stages in all pipelines. .SS "printStages" .IX Subsection "printStages" Prints the stages of the first pipeline in the array (i.e. it assumes that this information will be the same for all pipelines). .SS "createDotGraph" .IX Subsection "createDotGraph" Takes a filename as an argument, and creates a dot graph description therein. One can then use the command line program dot to actually generate the graph. .SS "createFilenameDotGraph" .IX Subsection "createFilenameDotGraph" Takes a filename as an argument, and a substring as an optional second argument. Then creates a dot graph description in the filename; this graph contains each stage along with its output files. The substring, if provided, is removed from each filename (so the best use of it is to provide the base directory of all the files). Uses the first pipeline in the array to generate this graph. .SS "printPipelineStatus" .IX Subsection "printPipelineStatus" Takes a filename as an optional argument. If provided, prints the status of all pipelines in the Array to that file, otherwise to stout. .SS "registerPrograms" .IX Subsection "registerPrograms" Registers the programs of the first pipeline in the array, exiting if any program cannot be found in the current path. .SS "subsetToStage" .IX Subsection "subsetToStage" Takes a stagename as an argument, and subsets each pipeline to run from the first stage until the stagename provided as the argument. .SS "printStatusReport" .IX Subsection "printStatusReport" Takes a filename as an argument and prints a \s-1CSV\s0 separated status report therein. .SS "sleepTime" .IX Subsection "sleepTime" Gets or sets the number of seconds to sleep between pipeline executions.