[emboss-dev] EMBOSS Code Changes
pmr at ebi.ac.uk
Fri Dec 9 17:33:57 UTC 2005
Important for all users of the current CVS code.
We are reviewing the AJX and NUCLEUS libraries, and making changes to the
function names to standardise the documentation.
We are starting with the string functions in ajax/ajstr.c - because they are
the oldest and need the most changes.
The latest ajstr.c and ajstr.h are now committed to CVS.
The old function names will continue to work, but you may see a large number
of warning messages when you compile with gcc. We have added a "__deprecated"
attribute to all the old function names. Non-gcc compilers will ignore this
A script will be added in the next few days to automatically update the
function names in your own code. Renamed functions are easy. A few functions
now have 2 or more replacements which we plan to automate. For example:
ajStrToken can be called with a NULL argument or a string; ajStrChar had
special functions with a position of 0 (first character) or -1 (last character).
New function names have a standard pattern which we can validate using new
@namrule tags in the function headers, and function parameters will also have
standard names and types with @argrule tags and for return values @valrule tags.
We also have enforced sections for groups of functions, where we keep the
naming and parameter rules.
In each section, functions are in strict alphabetical order (but note that
suffixes - C for char*, S for string - do not count as part of the name)
We will have the changes complete for the most important AJAX files (ajseq*,
ajacd, ajfile) before the next developers course in January 2006.
The SRS EFUNC and EDATA source code databases will be updated early next week
on srs.ebi.ac.uk. We will keep EFUNCREL and EDATAREL as databases for the last
release, and updated EFUNC and EDATA nightly when the CVS code base changes.
The sourceforge website pages for the AJAX and NUCLEUS libraries will be
improved in the next few months as we work through all the documentation.
Please mail emboss-dev with comments - or emboss-bug with anything that breaks
your own code.
More information about the emboss-dev