.\" -*- mode: troff; coding: utf-8 -*-
.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
.\"
.\" 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
..
.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
.ie n \{\
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    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 "BP_PAPPLMAKER 1p"
.TH BP_PAPPLMAKER 1p 2024-04-27 "perl v5.38.2" "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
papplmaker.PLS \-  Analysis tools module generator
.SH SYNOPSIS
.IX Header "SYNOPSIS"
.Vb 2
\&  # get some help
\&  papplmaker.PLS \-h
\&
\&  # generate module for program \*(Aqseqret\*(Aq
\&  papplmaker.PLS \-n edit.seqret
\&
\&  # ditto, but specify where to find \*(Aqseqret\*(Aq
\&  papplmaker.PLS \-n edit::seqret
\&             \-l http://localhost:8080/axis/services
\&
\&  # ditto, but specify a non\-default access method to \*(Aqseqret\*(Aq
\&  papplmaker.PLS \-n edit::seqret
\&             \-l http://corba.ebi.ac.uk/IOR/Analyses.ref
\&             \-a corba
\&
\&  # generate modules for all available analyses
\&  # (using default location and default access method)
\&  papplmaker.PLS
\&
\&  # do not generate but see what would be generated
\&  papplmaker.PLS \-s
\&  papplmaker.PLS \-S
\&
\&  # generate module for analysis \*(Aqedit::seqret\*(Aq
\&  # but name it \*(AqMySeqret\*(Aq
\&  papplmaker.PLS \-n edit::seqret \-m MySeqret
\&
\&      # ...and use it
\&      use MySeqret;
\&      print new MySeqret\->sequence_direct_data (\*(Aqtatatacccgt\*(Aq)
\&                        \->osformat (\*(Aqembl\*(Aq)
\&                        \->wait_for
\&                        \->outseq;
\&
\&  # ditto but put the result into directory \*(Aq/tmp/my\*(Aq
\&  # (directories do not need to exist)
\&  papplmaker.PLS \-n edit::seqret \-m MySeqret \-d /tmp/my/
\&
\&  # generate modules for all analysis whose names
\&  # matches given regular expression (case insensitive)
\&  papplmaker.PLS \-r \*(Aqedit\*(Aq
\&
\&  # ditto, but name generated module with your own names
\&  # (letting papplmaker.PLS substitute parts of your names)
\&  papplmaker.PLS \-r \*(Aqedit\*(Aq \-m \*(AqMy_$ANALYSIS\*(Aq
.Ve
.SH DESCRIPTION
.IX Header "DESCRIPTION"
The module \f(CW\*(C`Bio::Tools::Run::Analysis\*(C'\fR provides access to the local and remote
analysis tools in a unified way (defined in \f(CW\*(C`Bio::AnalysisI\*(C'\fR). The
module uses general approach allowing to set arbitrary input data and
to retrieve results by naming them. However, sometimes is more
convenient to use a specific module, representing one analysis tool,
that already knows about available input and result names.
.PP
The generator \f(CW\*(C`papplmaker.PLS\*(C'\fR creates such dedicated modules.
.PP
\&\f(CW\*(C`papplmaker.PLS\*(C'\fR uses the same access method as the general module \-
which means that depending on the parameter \f(CW\*(C`access\*(C'\fR it can use SOAP,
CORBA or any other (supported) protocol, or it can access local
analysis (available on the same machine where \f(CW\*(C`papplmaker.PLS\*(C'\fR is
invoked).
.PP
\&\f(CW\*(C`papplmaker.PLS\*(C'\fR does its job either for one named analysis (specified
by the \f(CW\*(C`\-n\*(C'\fR option, or it uses \f(CW\*(C`Bio::Tools::Run::AnalysisFactory\*(C'\fR module in
order to find what analyses are available, and can limit their number
by matching against a regular expression given by the \f(CW\*(C`\-r\*(C'\fR option.
.PP
The generated module or modules are named by default similarly to the
names of the corresponding analyses, but this can be changed by the
\&\f(CW\*(C`\-m\*(C'\fR option which is actually a template where the following strings
are recognised and replaced:
.ie n .IP "$ANALYSIS or ${ANALYSIS}" 4
.el .IP "\f(CW$ANALYSIS\fR or ${ANALYSIS}" 4
.IX Item "$ANALYSIS or ${ANALYSIS}"
Will be replaced by the name of the analysis.
.ie n .IP "$CATEGORY or ${CATEGORY}" 4
.el .IP "\f(CW$CATEGORY\fR or ${CATEGORY}" 4
.IX Item "$CATEGORY or ${CATEGORY}"
Will be replaced by the name of the category where the analysis belongs to.
.ie n .IP "$SERVICE or ${SERVICE}" 4
.el .IP "\f(CW$SERVICE\fR or ${SERVICE}" 4
.IX Item "$SERVICE or ${SERVICE}"
Will be replaced by the entire name of the service (which is usually a
concatenation of a category and a analysis name, and it is used also
as a default module name, btw).
.PP
What is a difference between the \f(CW\*(C`service\*(C'\fR and \f(CW\*(C`analysis\*(C'\fR, and what
does \f(CW\*(C`category\*(C'\fR mean? Sometimes these terms may be confusing because
they may mean slightly different things depending on the access method
used to communicate with them. Generally, an \f(CW\*(C`analysis\*(C'\fR is a program
(an application, a tool) running somewhere, but sometimes on a local
machine. An example of an analysis is \f(CW\*(C`seqret\*(C'\fR (from the EMBOSS
package). The analyses can be grouped into categories by their
functions or by type of data they deal with (but sometimes there are
no categories at all). Each analyses can be accessed using a higher
level of abstraction, a \f(CW\*(C`service\*(C'\fR. A service is usually a
protocol-dependent wrapper, such as a Web Service, or a CORBA
service. For example there is a \f(CW\*(C`edit::seqret\*(C'\fR service which
represents analysis \f(CW\*(C`seqret\*(C'\fR in the category \f(CW\*(C`edit\*(C'\fR.
.SH FEEDBACK
.IX Header "FEEDBACK"
.SS "Mailing Lists"
.IX Subsection "Mailing Lists"
User feedback is an integral part of the evolution of this and other
Bioperl modules. Send your comments and suggestions preferably to
the Bioperl mailing list.  Your participation is much appreciated.
.PP
.Vb 2
\&  bioperl\-l@bioperl.org                  \- General discussion
\&  http://bioperl.org/wiki/Mailing_lists  \- About the mailing lists
.Ve
.SS "Reporting Bugs"
.IX Subsection "Reporting Bugs"
Report bugs to the Bioperl bug tracking system to help us keep track
of the bugs and their resolution. Bug reports can be submitted via the
web:
.PP
.Vb 1
\&  http://redmine.open\-bio.org/projects/bioperl/
.Ve
.SH AUTHOR
.IX Header "AUTHOR"
Martin Senger (senger@ebi.ac.uk)
.SH COPYRIGHT
.IX Header "COPYRIGHT"
Copyright (c) 2003, Martin Senger and EMBL-EBI.
All Rights Reserved.
.PP
This script is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
.SH DISCLAIMER
.IX Header "DISCLAIMER"
This software is provided "as is" without warranty of any kind.
.SH "BUGS AND LIMITATIONS"
.IX Header "BUGS AND LIMITATIONS"
None known at the time of writing this.
