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 EFUNC and EDATA.
The most useful libraries for new developers are given in bold italics.
Notes
These are general data types for dates, booleans (true/false) and so on.
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.
See the links below.
See the links below.
See the links below.
See the links below.
Functions | Data types | Description |
---|---|---|
ajassem | ajassem | Assembly general handling |
ajassemdata | Assembly data types | |
ajassemread | ajassemread | Assembly reading |
ajassemwrite | ajassemwrite | Assembly writing |
ajassemdb | Assembly database access |
These functions control provide special handling of the "assert" function using AJAX message handling.
Exception handling follows the model in David Hanson's book "C Interfaces and Implementations"
See the links below.
See the links below.
See the links below.
See the links below.
See the links below.
Functions | Data types | Description |
---|---|---|
ajfeat | ajfeat | Feature table general handling |
ajfeatdata | Feature table data types | |
ajfeatread | ajfeatread | Feature table reading |
ajfeatwrite | ajfeatwrite | Feature table writing |
ajfeatdb | Feature table database access |
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.
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).
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.
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.
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.
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.
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.
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.
See the links below.
See the links below.
See the links below.
See the links below.
See the links below.
Functions | Data types | Description |
---|---|---|
ajobo | ajobo | Obo term general handling |
ajobodata | Obo term data types | |
ajoboread | ajoboread | Obo term reading |
ajobowrite | ajobowrite | Obo term writing |
ajobodb | Obo term database access |
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.
See the links below.
See the links below.
See the links below.
See the links below.
Functions | Data types | Description |
---|---|---|
ajresource | ajresource | Data resource general handling |
ajresourcedata | Data resource data types | |
ajresourceread | ajresourceread | Data resource reading |
ajresourcewrite | ajresourcewrite | Data resource writing |
ajresourcedb | Data resource database access |
See the links below.
See the links below.
See the links below.
See the links below.
Functions | Data types | Description |
---|---|---|
ajrefseq | ajrefseq | Reference sequence general handling |
ajrefseqdata | Reference sequence data types | |
ajrefseqread | ajrefseqread | Reference sequence reading |
ajrefseqwrite | ajrefseqwrite | Reference sequence writing |
ajrefseqdb | Reference sequence database access |
See the links below.
See the links below.
See the links below.
See the links below.
See the links below.
See the links below.
See the links below.
Functions | Data types | Description |
---|---|---|
ajseq | ajseq | Sequence general handling |
ajseqdata | Sequence data types | |
ajseqabi | Sequence ABI trace data | |
ajseqread | ajseqread | Sequence reading |
ajseqtype | Sequence types | |
ajseqwrite | ajseqwrite | Sequence writing |
ajseqdb | Sequence database access |
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.
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.
See the links below.
See the links below.
See the links below.
See the links below.
See the links below.
Functions | Data types | Description |
---|---|---|
ajtax | ajtax | Taxon general handling |
ajtaxdata | Taxon data types | |
ajtaxread | ajtaxread | Taxon reading |
ajtaxwrite | ajtaxwrite | Taxon writing |
ajtaxdb | Taxon database access |
See the links below.
See the links below.
See the links below.
See the links below.
See the links below.
Functions | Data types | Description |
---|---|---|
ajtext | ajtext | Text general handling |
ajtextdata | Text data types | |
ajtextread | ajtextread | Text reading |
ajtextwrite | ajtextwrite | Text writing |
ajtextdb | Text database access |
See the links below.
See the links below.
See the links below.
See the links below.
See the links below.
Functions | Data types | Description |
---|---|---|
ajurl | ajurl | Url general handling |
ajurldata | Url data types | |
ajurlread | ajurlread | Url reading |
ajurlwrite | ajurlwrite | Url writing |
ajurldb | Url database access |
Only a few utility functions are included so far. These cover aborting applications and testing for bigendian or littleendian machines.
See the links below.
See the links below.
See the links below.
See the links below.
See the links below.
Functions | Data types | Description |
---|---|---|
ajvar | ajvar | Variation general handling |
ajvardata | Variation data types | |
ajvarread | ajvarread | Variation reading |
ajvarwrite | ajvarwrite | Variation writing |
ajvardb | Variation database access |
See the links below.
See the links below.
See the links below.
See the links below.
See the links below.
Functions | Data types | Description |
---|---|---|
ajxml | ajxml | Xml general handling |
ajxmldata | Xml data types | |
ajxmlread | ajxmlread | Xml reading |
ajxmlwrite | ajxmlwrite | Xml writing |
ajxmldb | Xml database access |