The AJAX Library Documentation: CVS (developers) release
This documentation is automatically derived from the comments in the
source file function headers. Function documentation and the source
code are also indexed in SRS as
databases EFUNCREL
and EDATAREL.
The most useful libraries for new developers are given in bold
italics.
Notes
- This table is automatically generated.
- "Notes" link to library file-specific documentation (bottom of
this page). This documentation will be added as part of the general
AJAX make-over.
General data definitions
General Type Definitions
These are general data types for dates, booleans (true/false) and so on.
Master AJAX Include File
System-Specific Type Definitions
AJAX Command Definitions
All EMBOSS applications depend on a complete user interface definition
in an ACD (AJAX Command Definition) file. The ACD file specifies all
the information the application needs. A single library call parses
the definition, checks the command line, and prompts the user for any
values still needed.
The ACD specification covers all the
major data types read and written by EMBOSS applications and the
internal functions needed to manage ACD file parsing, help text and
conversions for other projects.
Alignments
Array handling
Assembly handling
See the links below.
Assembly data definitions
See the links below.
Assembly term reading
See the links below.
Assembly writing
See the links below.
Assembly database reading
See the links below.
Assert function
These functions control provide special handling of the "assert" function
using AJAX message handling.
Base Code Functions
Call Registration Functions
Codon Analysis Functions
DNA Melting Functions
Domainatrix Functions
DOM XML Parser Functions
Domain Functions
Exception handling
Exception handling follows the model in David Hanson's book
"C Interfaces and
Implementations"
Feature table functions
See the links below.
Feature table data definitions
See the links below.
Feature table reading
See the links below.
Feature table writing
See the links below.
Feature table database reading
See the links below.
File object handling
AJAX provides input and output file data types with features such
as lists of files to be processed and buffering of lines so
that files can be read again from memory, useful for files which
cannot be rewound like stdin.
Data File handling
File input/output handling
Formatted output
AJAX formatting is a superset of ANSI C, with additional types for
strings, booleans and dates. Output can be to a string with automatic
adjustment of memory allocation. Null pointers are checked for and
reported rather than causing failures (for example with %s).
Graphical output
Graphical Data Types
See descriptions of
functions and
data types
Graphics in the current version use the PLplot graphics library. We
continue to look for other graphics libraries available under the
Library GPL and may change or allow alternatives in future.
Histogram Graphical Functions
Indexing Functions
Java Functions
Lists
Lists are tricky to handle because of the ownership of the data items.
Data items are mostly of "any" data type (void* in ANSI C) which means that
the list will not know how to free them.
Some lists assume the user will delete data when it is removed form the list.
Others can automatically delete. See the function documentation for
more information.
Separate string functions are provided because lists of strings can
be very useful.
Maths utilities
Only a few utility functions are included so far. They cover rounding.
Functions for sorting are planned as soon as they are needed by
applications or by other library code.
Comparison Matrix Functions
Memory allocation
Only a few utility functions are included so far. They are basically
malloc and friends with error messages on failure. There are also ANSI C
macros to make life easier.
Message handling
The message functions names are rather confusing. There are a set of macros
to make them easier to use, and typical applications will only use
these and avoid the direct function calls.
Names: Variables and database definitions
AJAX checks variable names first as environment variables (on Unix) and
then as definitions in either the user's ~/.embossrc file or in
the site wide emboss.defaults file.
Sequence databases are defined in the same files, and handled by a
related set of functions. Database definitions are very flexible, and
are summarised in the database definition guide.
Nexus Data Functions
Obo term handling
See the links below.
Obo term data definitions
See the links below.
Obo term reading
See the links below.
Obo term writing
See the links below.
Obo term database reading
See the links below.
Pattern matching functions
Protein Databank Data Functions
Protein Databank Data I/O Functions
Phylogenetic Data Functions
Sequence Range Functions
Regular expressions
Internal functions are documented in the following categories:
Internal data structures are documented in the PCRE Internals and PCRE Posix
AJAX regular expressions are based on the PCRE (Perl Compatible
Regular Expressions) library.
Feature Report Functions
Data resource handling
See the links below.
Data resource data definitions
See the links below.
Data resource reading
See the links below.
Data resource writing
See the links below.
Data resource database reading
See the links below.
Sequence data definitions
See the links below.
Sequence handling
See the links below.
Sequence ABI Trace handling
See the links below.
Sequence reading
See the links below.
Management of Sequence Types
See the links below.
Sequence writing
See the links below.
Sequence database reading
See the links below.
Sort Utility Functions
SQL Database Access
String manipulation
String handling is the most extensive part of the library so far.
String data structures are fundamental to many of the internal
routines and are the internal representation of sequence data.
System Utility Functions
Tables
Table handling was initially based on David Hanson's book
"C Interfaces and
Implementations".
The hash functions and comparison functions have been revised to
work better with strings. Further changes will be made in future.
Taxon handling
See the links below.
Taxon data definitions
See the links below.
Taxon reading
See the links below.
Taxon writing
See the links below.
Taxon database reading
See the links below.
Text handling
See the links below.
Text data definitions
See the links below.
Text reading
See the links below.
Text writing
See the links below.
Text database reading
See the links below.
Time Functions
Sequence Translation Functions
Phylogenetic Tree Functions
Url handling
See the links below.
Url data definitions
See the links below.
Url reading
See the links below.
Url writing
See the links below.
Url database reading
See the links below.
Utilities
Only a few utility functions are included so far. These cover aborting
applications and testing for bigendian or littleendian machines.
Variation handling
See the links below.
Variation data definitions
See the links below.
Variation reading
See the links below.
Variation writing
See the links below.
Variation database reading
See the links below.
Cloning Vector Functions