EMBOSS: Project Meeting (Mon 5th October 09)


EBI: Peter Rice, Alan Bleasby, Mahmut Uludag
Apologies: Jon

1. Minutes of the last meeting

Minutes of the meeting of 28th September 2009 are here.

2. Maintenance etc.

2.1 Applications

Alan has checked the compilation of EMBASSY packages with the new libraries. There were problems where the packages used the new library structure and their own libraries. All now compile and build. HMMER and Vienna also build with shared libraries. Meme only build with static libraries. The CYGWIN gcc compiler regards everything marked as "export" as an external library, but no undefined variables are allowed in a DLL. A CYGWIN variant is needed in place of an "export" call.

Mahmut has fixed a memory allocation problem in supermatcher

Mahmut has corrected sequence output to copy only a range of quality scores. This corrected reported problems in fuzznuc

Mahmut reported a problem with gap scores in needle. This appears to be caused by calculating two gap penalties where the gap open penalty is lower than the gap extend penalty. Mahmut will investigate ways to disallow such consecutive gaps, while allowing gaps in alternate strands.

2.2 Libraries

Alan has reviewed the Ensembl and SQL code with the author (Michael Schuster). System includes have been tidied up (brackets rather than quotes)and unnecessary included have been removed in the Ensembl applications (emboss.h already includes ajax.h and other headers).

Peter has reviewed the code documentation for ajsql.c and the ensembl/ directory. The header files (EDATA datatypes) are clean. The source code files are missing @section definitions. Some method will be needed to generate most of the missing section blocks.

Peter has updated the pcre library code to PCRE 7.9. We were using a very old version. With the new library structure it has become much simpler to replace the PCRE specific files in their own directory. The PCRE configuration utility was run to generate missing header files. Internals are set to use 4-byte values for offsets to allow very large strings to be used (e.g. genome sequences). The default limit was only 64k. The config.h file is renamed to pcre_config.h. Future upgrades should be trivial.

Peter reported that the move of ajacd.c to a separate library has made the old graphics function registration code obsolete. This makes the ajGraphInit functions redundant as embInit can now configure everything.

Peter has moved ajseqdb.c to the new ajaxseq library. A callback mechanism was needed to register data access method functions so that they can be called from within core AJAX. These are the functions that will eventually make calls to ensembl and other data resource APIs.

Peter suggested that as the new library only had the ajseqdb code it should be renamed ajaxdb and can in future have code for access to non-sequence data resources. Alan will rename the directory and move the files in CVS.

2.3 Other

Alan has made a mEMBOSS windows build using the current CVS checkout code. This can be repeated with a new checkout when the library reorganization and file moves are completed.

Mahmut has problems with "make dist" possibly related to Eclipse project files in the same directory. Alan suggested using a fresh CVS checkout to avoid losing the CVS directories when "make dist" runs.

Alan has found a "feature" of the Microsoft C compiler which builds all non-integer floating point values as double precision and then issues warnings when used to initialize a flat value without a cast. One solution is to explicitly cast each value. An alternative is to add a suffix 'f' to each value, but this requires only ANSI-C compilers to be used. Peter has fixed the most significant code (quality score conversions) by making the values double precision.

Alan will replace the current uname call in configure.in with configure options. The results are used internally, for example in creating meaningful User-Agent strings for HTTP communications.

3. New developments

Alan is building the mEMBOSS Visual Studio project from scratch with the library reorganization. A few old embosswin features cannot yet be removed. Alan is checking through the compiler and linker options, and currently working through the AJAX libraries.

Alan will remove the VERSION defined in emboss.h for mEMBOSS builds. The VERSION comes from configure.in on Unix builds. It can be built into the Visual Studio project for Windows.

Peter noted that the EMBASSY package version numbers are now used internally. These may also need to be set.

Peter Cock of BioPython visited Hinxton last week and met with the EMBOSS team. We identified a number of useful areas for collaboration, including GFF3 feature format standards, phylogenetic tree data, and documentation for novice developers in both projects.

4. Administration

Alan has configured Jon's dual monitor system.

Peter will boot his old machine as XP and run through the updates. Alan warned that an NVIDIA hardware update may fail. The system disk (C:) should be kept clean, with other packages installed on another drive.

This machine runs the backups non alternate days so should be booted into Fedora at the appropriate times.

Alan has replaced the other backup disk.

Peter has started to populate the /shared/software directory on the old RAID server. BioPerl 1.6.0 is installed - and immediately superseded by version 1.61. The /shared/software/bin directory will include all applications wrapped by EMBOSS and EMBASSY and other useful tools such as Galaxy. Alan will test the "Sun Remote Desktop" utility for access to the new workstations.

Alan reported a problem with running firefox from emboss5 when not connected directly through his cable modem.

5. Documentation and Training

5.1 Books

Peter will remove the ajGraphInit references and graphics callback functions from the books as they are now obsolete.

5.2 Website


6. User queries and answers

Peter has reviewed the cases where a library function exits rather than returning an error status. All are serious problems with memory allocation or configuration and are unrecoverable.

7. AOB

Mahmut will take part in the BioCatalogue jamboree in late November.

8. Date Of Next Meeting

The next meeting will be on Monday 12th October.