remarks about ACD syntax

Peter Rice peter.rice at
Tue Aug 27 09:21:29 UTC 2002

Guy Bottu wrote:
> - the return value of a "list" or "select" cannot be used in computations for 
> other fields. Yet, this would be veru useful. E.g. for integrating BLAST under 
> EMBOSS you could first have a select with blastn/blastp/blastx/tblastn/tblastx 
> that would control the default values of all the other parameters.

You can use the value.

The easy way to test what the values are is to write a new ACD file, with 
the value in the prompt for another ACD option (so you can see it). For 

% cat guy.acd
appl: guy [ doc: "Test" group: "Testing" ]

select: program [
	value: "blastn/blastp/blastx/tblastn/tblastx"
	delim: "/"
	required: "Y"
         info: "Blast program name"

string: testa [
	info: "program '$(program)'"
	required: "Y"

string: testb [
	info: "comparison type"
	required: "Y"
	default: "@($(program) = blastn: N/N blastp: P/P blastx: X/P
		  tblastn: P/X tblastx: X/X)"

% acdc guy
       1 : blastn
       2 : blastp
       3 : blastx
       4 : tblastn
       5 : tblastx
Blast program name: 3
program 'blastx':
comparison type [X/P]:

If you need other information, for example with multiple selected values, 
we could add new "calculated" attributes for list or select.

One problem with these ACD values, of course, is that they are hard to use 
when generating GUI interfaces to EMBOSS programs.

> - some parameters can be "required" or not, depending on other parameters. When 
> a parameter is sometimes required however, it is necessary to provide a default 
> value, otherwise an error message will appear when you run the program via 
> selections that do not involve that parameter. The ACD documentation mentions a 
> "missing" attribute, but this seems not to work.

Can you give an example? Usually this problem is programs that fail to call 
"ajAcdGetXxxx" for a parameter so it gives a "never used" warning message. 
These cases should be fixed.

> - a parameter of the type "outfile" leads always to the creation of a file, even 
> when the outfile is optional. An example : when you run dan -plot, an empty file
> xxx.dan is created.

The report file (report, align or outfile) is created by ACD processing 
before the program runs. Maybe we need an attribute to say the file is not 
needed, calculated from $(graph). Does this sound reasonable?


Peter Rice

Peter Rice, LION Bioscience Ltd, Cambridge, UK
peter.rice at +44 1223 224723

More information about the emboss-dev mailing list