Global attributes are available for all datatypes and can be defined in any ACD data definition as follows:
GlobalAttributeName
: "GlobalAttributeValue
"
Most global attributes have string or boolean values which are set explicitly in the ACD file. The booleans have a hard-coded default value which can be overridden by stating a value explicitly. Any of "Y"
, "Yes"
, "N"
or "No"
(the strings are case-insensitive) are acceptable.
The global attributes are described below and, for convenience, they are grouped by function as follows:
Parameters and qualifiers
User prompting
Datatype definition
Help information and documentation
Hints for GUIs
For use by SOAPLAB
In the descriptions of the attributes, the value type and default value are indicated as follows:
GlobalAttributeName
:Type
("Default
")
For example, the following indicates the parameter:
global attribute has a boolean value with a default value of "N"
:
parameter: Boolean
("N")
In contrast, this indicates the help:
global attribute has a string value with a default value of ""
(an empty string):
help: "String
" ("")
The global attributes are tabulated below:
Global Attribute | Description | |
---|---|---|
| Default value |
|
| Information for menus etc., and default prompt |
|
| Prompt (if information string is unclear) |
|
| Code name for information/prompt to be looked up in standard table |
|
| Text for help documentation |
|
| Command line parameter. Can be on the command line with no qualifier name. Implies 'standard' qualifier |
|
| Standard qualifier, value required. Interactive prompt if missing |
|
| Additional qualifier. Value required if -options is on the command line, or set by default |
|
| Allow with no value on the command line to set to '' |
|
| Help: String description of allowed values for -help output, used if the default help is nuclear |
|
| Help: String description of the expected value for -help output, used if the default help is nuclear |
|
| Include in GUI form, used to hide options if they are unclear in GUIs |
|
| Known standard type, used to define input and output types for workflows |
|
| Relationships between this ACD item and others, defined as specially formatted text |
|
| Modifies the output in ways that can break parsers |
|
| Style for SoapLab's ACD files |
|
| Qualifier name for SoapLab's ACD files |
|
| Commandline template for SoapLab's ACD files |
|
| Comment for SoapLab's ACD files |
|
Each ACD data definition can be defined to be one of the following:
Parameter
Standard Qualifier
Additional Qualifier
with the default being:
Advanced Qualifier
The attributes to use are as follows:
Parameter: "Y" Standard: "Y" Additional: "Y"
Only one of parameter: "Y"
, standard: "Y"
or additional: "Y"
should ever be given in a data definition. If more than one is used an error message will be generated during ACD processing.
You should never explicitly specify parameter: "N"
, standard: "N"
or additional: "N"
: an error will be generated during ACD processing if you do. The "Y"
in the previous definitions is given for consistency because every ACD attribute, being a label:value pair, has to have a value. In practice, calculated values of "N"
are in fact supported and can be used, in exceptional circumstances, to override the default behaviour of these attributes (see Section 4.5, “Controlling the Prompt”).
For more information, see Section A.1.5, “Parameters and Qualifiers”.
Defines the data definition as a parameter.
A value for a parameter can be given on the command line with or without a flag (parameter name). Any parameters that are specified without their flag must appear in the same order as they do in the ACD file. All parameters are required by the application and a value will be prompted for if one is not given on the command line.
For example:
application: acddemo [ documentation: "Test application" groups: "Test" ] sequence: asequence [ parameter: "Y" ]
The above application could be run with a command line flag:
acddemo -asequence |
or without it:
acddemo |
In both examples filename.seq
is the value of the parameter named asequence
for the EMBOSS program acddemo.
In the example below, two parameters are defined:
application: acddemo [ documentation: "Test appplication" groups: "Test" ] sequence: asequence [ parameter: Y ] outseq: outseq [ parameter: Y ]
Unless the command line flags are used, the order in which they appear on the command line must be the same as in the ACD file:
acddemo |
This will assign the name infilename.seq
to parameter asequence
, and outfilename.seq
to parameter outseq
.
If the flags are used however the values may be given in any order:
acddemo -outseq |
Certain ACD datatypes (see below) are typically a primary input or output and as such, should be defined as parameters. The first such datatype in an ACD file must be defined as a parameter (an error will be generated during ACD processing otherwise). It's recommended that subsequent definitions of that datatype are also parameters (a warning will be generated if they are not). The exception is if the default:
or nullok:
attributes are set, in which case no warning or error messages are generated as the application can run with a default or without any value for the definition.
The datatypes are as follows:
File input (infile
, filelist
, directory
or dirlist
)
Sequence inputs (sequence
, seqall
, seqsetall
or seqset
)
Sequence feature input (feature
)
Alignment output (align
)
Report output (report:
)
Sequence feature output (featout
)
File output (outdir
)
Defines the data definition as a standard qualifier.
The behaviour of standard qualifiers is identical to parameters except that the command line flag must always be used when values are given on the command line. All standard qualifiers are required by the application and a value will be prompted for if one is not given on the command line.
Any program is expected to have one or more required inputs. An ACD data definition that is defined as a parameter:
is automatically counted as required. All other required inputs should have the standard:
attribute set. When the program runs, the user will be prompted for any "required" values that are not already on the command line.
In the example below, two standard qualifiers are defined:
application: acddemo [ documentation: "Test appplication" groups: "Test" ] sequence: asequence [ standard: Y ] outseq: outseq [ standard: Y ]
The flags must be used on the command line and the values may be given in any order:
acddemo -asequence |
acddemo -outseq |
If either value had been omitted, the user would be prompted for it.
Defines the data definition as an additional qualifier.
The behaviour of additional qualifiers is identical to standard qualifiers except that the value will not not be prompted for if not given on the command line, unless the application is run with the -options
global qualifier, in which case all additional qualifiers are prompted for.
Additional qualifiers are taken to be not absolutely required by the application. The command line flag must be always be used when values are given on the command line.
In the example below, two additional qualifiers are defined:
application: acddemo [ documentation: "Test appplication" groups: "Test" ] sequence: asequence [ additional: Y ] outseq: outseq [ additional: Y ]
The flags must be used on the command line and the values may be given in any order:
acddemo -asequence |
acddemo -outseq |
If either value had been omitted, the user would not be prompted for it, unless the application was run with -options
:
acddemo -asequence |
In this example, a value is specified for asequence
but omitted for outseq
. The -options
flag is set which means the user will be prompted for a value for outseq
.
Very succinct description of the parameter.
The text is used in Web forms and other GUIs. It is also the text used to prompt the user for a value at the command line. Only one of code:
, prompt:
or information
should ever be defined. The use of information:
(with a standard name, see below) is preferred instead of code:
or prompt:
.
To provide standard prompts, a default value for the information:
string is defined for most common datatypes. The defaults are in the EMBOSS system file codes.english
in the application ACD file directory (see Section 4.3.5.2.1, “Standard Prompts File (codes.english
)”).
The standard practice is to use the default prompt where possible. A warning is generated during ACD processing if either the information:
attribute is missing or, if there is standard value available, the value is not the standard value.
If a non-standard prompt is used, the text given after the information:
attribute should conform to the following conventions (a warning will be generated during ACD processing otherwise):
The string should start with an uppercase, alphabetic character.
The string should not end with a fullstop.
A code word which is searched for in the EMBOSS system file codes.english
to give a standard prompt.
Standard prompts for common ACD datatypes are defined in codes.english
with the names DEF
where DatatypeName
is the name of the ACD datatype. The file also contains some additional standard prompts for specific instances of individual datatypes, identified by a code (not beginning with DatatypeName
DEF
.
For example, gap insertion and extension penalties may be defined as either integer or floating point values. The standard prompt for these is identified by the code GAP
or GAPEXT
in codes.english
. These prompts can be used with the code:
attribute, for example code: "GAP"
. The code word is not case-sensitive, so code: "gap"
is also acceptable.
In practice, GUI developers found the code:
attributes hard to use, so the information:
attribute tends to be used instead.
The string used to prompt the user for a value at the command line.
The use of prompt:
is now deprecated: information
is preferred. In rare cases where the information:
string is misleading, however, a prompt:
string can be defined.
The text given after the prompt:
attribute should conform to the following conventions (a warning will be generated during ACD processing otherwise):
The string should start with an uppercase, alphabetic character.
The string should not end with a full stop.
The known type of a data definition taken from a controlled vocabulary of known value types.
knowntype:
should be defined where the type is not already clear from the datatype itself. It is typically defined for string
, infile
, outfile
and outfileall
datatypes but not, for example, for a sequence:
.
A warning is generated for the string
, outfile
and outdir
ACD datatypes if it is not specified.
The standard values (known types) are listed in the EMBOSS system file knowntypes.standard
in the application ACD file directory.
A few other values not listed in knowntypes.standard
are accepted, for example "ApplicationName
output" for an outfile:
datatype. These are documented with the datatypes (Section A.5, “Datatype-specific Attributes”). If a value is given that is not a standard known type or other accepted value, a warning message will be generated during ACD processing. The acdvalid utility will check all knowntype
values in an ACD file, and report any missing values for data definitions that require a known type.
Default value for the parameter.
For many but not all data definitions it is appropriate to define a default value. For some datatypes, a default is hard-coded or generated by a naming scheme from datatype-specific attributes. See the datatypes descriptions (Section A.5, “Datatype-specific Attributes”) for further information.
The default value can be dependent on the values of parameters defined earlier; this is done using an ACD operation to set the value (see Section A.8, “Operations”).
Text to describe the relationship between this ACD data definition and others.
This is set to "True"
for data definitions which control the fields that are written in the application output.
In practice outputmodifier:
is used exclusively for boolean
and toggle
datatypes which modify the output in a way that might be problematic in parsing software.
Indicates whether a null value can be specific on the command line for the parameter. This is only ever required for output files for which there is a default file naming scheme available but a default value is also specified in the ACD file. In such cases, the default value in the ACD file can be overridden and the naming scheme used if a null value (""
) for the parameter is given on the command line.
Helpful information for the parameter which is displayed when the application is run with the -help
qualifier on the command line, and used in the application documentation.
help:
is usually only defined if a deeper explanation of an application parameter is needed. If help:
is not defined, the value of the information:
attribute (if available) or the default help string will be used instead. Default help strings are given for each datatype in the EMBOSS system file codes.english
file (Section 4.3.5.4.1, “Standard Help Strings File (codes.english
file)”).
The text given after the help:
attribute should conform to the following conventions (a warning will be generated during ACD processing otherwise):
The string should start with an uppercase, alphabetic character.
The string should not end with a full stop.
A description of the allowed values of the parameter.
Used in the "Allowed values" column of the command line syntax table of the application documentation. This table is automatically generated from the ACD file. In most cases a reasonable value is generated automatically but where there is no suitable value, this attribute should be used to provide one.
A description of the expected values of the parameter.
Used in the "Expected values" column of the command line syntax table of the application documentation. This table is automatically generated from the ACD file. In most cases a reasonable value is generated automatically but where there is no suitable value, this attribute should be used to provide one.
Indicates whether a parameter is expected to be included in a GUI form. This is a hint for use by GUI developers. Some parameters are available on the command line, but are not generally useful to users, or can cause confusion when presented in a GUI form with all other options.
Qualifier name for SoapLab's ACD files. It should not be used in standard EMBOSS application ACD files.
Command line template for SoapLab's ACD files. It should not be used in standard EMBOSS application ACD files.