| acdpretty

## Function

Correctly reformat an application ACD file

## Description

acdpretty will generate a correctly, fully formatted ACD file from one which is parsable but which is partly or incorrectly formatted.

acdpretty reads the ACD file and rewrites it with clean formatting to the file (`ApplicationName`).acdpretty which can be used to overwrite the original ACD file. The new file might contain many differences. For example, abbreviations will be expanded, all sections and attributes will be indented, all values will be quoted and lines will be wrapped at a reasonable width.

## Usage

Here is a sample session with acdpretty

    % acdpretty qatest

    Created qatest.acdpretty

Go to the output files for this example

## Command line arguments

The first parameter is the name of the program to pretty print.

All other command line parameters and qualifiers are essentially ignored as processing stops once the ACD file is printed. A few of the general qualifiers have the potential to conflict with the function of acdpretty..

## Input file format

The input file is the ACD file for the specified program

## Output file format

The output file is a pretty printed copy of the original ACD file.

All sections and attributed will be indented. All values will be quoted. Lines will be wrapped at a reasonable width.

The output file is intended as a standard format for parsers used by GUI and other interface wrappers, rather than using the original ACD file directly.

### Output files for usage example

### File: qatest.acdpretty

    # Example ACD file for QA testing
    #

    application: qatest [
      groups: "test"
      documentation: "ACD file for QA testing"
    ]

    sequence: asequence [
      parameter: "Y"
      features: "Y"
    ]

    sequence: bsequence [
      parameter: "Y"
    ]

    outfile: outfile [
      parameter: "Y"
    ]

    integer: aint [
      prompt: "first integer"
    ]

    integer: bint [
      prompt: "second integer, first was $(aint)"
      default: "57"
    ]

    string: testalen [
      standard: "Y"
      information: "asequence length
                    $(asequence.length)"
    ]

    string: testblen [
      standard: "Y"
      information: "bsequence length
                    $(bsequence.length)"
    ]

    string: outdir [
      information: "output directory"
    ]

    boolean: logic [
      information: "boolean value"
    ]

    outfile: outtest [
      parameter: "Y"
      odirectory: "$(outdir)"
    ]

    seqout: outseq [
      parameter: "Y"
      features: "Y"
      osdirectory: "$(outdir)"
      ofdirectory: "$(outdir)"
    ]

## Data files

None

## Notes

acdpretty does not have its own options, but takes a single parameter which is the name of the ACD file that is being processed. It is invoked by specifying the name of the ACD file after the name of the utility application itself:

`acdpretty ApplicationName`

Any command line parameters that would normally be specified for the application are essentially ignored as processing stops once the reformatted ACD file is printed.

The format generated by acdpretty is intended as a standard for parsers used by GUI and other interface developers. It is far easier writing a parser to cope with acdpretty output than one which can cope with the ACD sytax in general.

## References

## Warnings

A few of the global qualifiers have the potential to conflict with the function of acdpretty.

## Diagnostic Error Messages

## Exit status

It exits with status 0.

## Known bugs

None.

## See also

Program name | Description
--- | ---
acdc | Test an application ACD file
acdtable | Generate an HTML table of parameters from an application ACD file
acdtrace | Trace processing of an application ACD file (for testing)
acdvalid | Validate an application ACD file

## Author(s)

Peter Rice (pmr © ebi.ac.uk)
Informatics Division, European Bioinformatics Institute, Wellcome Trust Genome Campus, Hinxton, Cambridge CB10 1SD, UK

## History

Completed 9th March 1999

## Target users

This program is intended to be used by developers of applications and interfaces.

## Comments

None