From david.martin at biotek.uio.no Wed Sep 6 11:14:21 2000 From: david.martin at biotek.uio.no (David Martin) Date: Wed, 6 Sep 2000 16:14:21 +0100 Subject: New adminguide version Message-ID: The latest copy of the admin guide is available at ftp://ftp.no.embnet.org/pub/EMBOSS-extras This takes care of a few minor issues arising from the EMBOSS Workshop this week in Bergen. ..d --------------------------------------------------------------------- * Dr. David Martin Biotechnology Centre of Oslo * * Node Manager Gaustadalleen 21 * * The Norwegian EMBNet Node P.O. box 1125 Blindern * * tel +47 22 95 87 56 N-0317 Oslo * * fax +47 22 69 41 30 Norway * --------------------------------------------------------------------- From ableasby at hgmp.mrc.ac.uk Thu Sep 7 19:20:43 2000 From: ableasby at hgmp.mrc.ac.uk (ableasby at hgmp.mrc.ac.uk) Date: Fri, 8 Sep 2000 00:20:43 +0100 (BST) Subject: EMBOSS 1.5.0 Message-ID: <200009072320.AAA14562@tin.hgmp.mrc.ac.uk> Two new applications: BTWISTED: Calculates twisting statistics for B-DNA EMOWSE: (Documentation to follow) Given a one-per-line file of molecular weights this program will search a protein database for matches with the mass spectrometry data. Eight enzymes/reagents can be specified and an optional whole sequence molecular weight. Plus one or two minor bugfixes for bugs spotted at the EMBOSS workshop in Bergen. Alan PS: Plus some Makefile.am work from Nicolas Joly at Pasteur. From bauer at genprofile.com Fri Sep 8 06:05:23 2000 From: bauer at genprofile.com (David Bauer) Date: Fri, 08 Sep 2000 12:05:23 +0200 Subject: Pise EMBOSS updated Message-ID: <39B8B9E3.FCE18D43@genprofile.com> Updated version of EMBOSS under Pise on http://ubigcg.mdh4.mdc-berlin.de:8080 EMBOSS is version 1.5.0. New programs under Pise: diffseq, dotpath, megamerger, primersearch, silent and vectorstrip. -- Dr. David Bauer GenProfile AG, Max-Delbrueck-Center, Erwin-Negelein-Haus Robert-Roessle-Str. 10, D-13125 Berlin, Germany bauer at genprofile.com, Tel:49-30-94892165, FAX:49-30-94892151 From letondal at pasteur.fr Fri Sep 8 06:17:03 2000 From: letondal at pasteur.fr (Catherine Letondal) Date: Fri, 08 Sep 2000 12:17:03 +0200 Subject: Pise EMBOSS updated In-Reply-To: Your message of "Fri, 08 Sep 2000 12:05:23 +0200." <39B8B9E3.FCE18D43@genprofile.com> Message-ID: <200009081017.e88AH3B17596@nefertiti.pasteur.fr> David Bauer writes: > Updated version of EMBOSS under Pise on > > http://ubigcg.mdh4.mdc-berlin.de:8080 > > EMBOSS is version 1.5.0. > New programs under Pise: diffseq, dotpath, megamerger, primersearch, > silent and vectorstrip. > Thanks David! The new distribution (ftp://ftp.pasteur.fr/pub/GenSoft/unix/misc/Pise.tar.gz) contains also EMBOSS 1.5.0, with the 2 new programs: BTWISTED and EMOWSE. The Makefile.global file has been updated as well for the EMBOSS programs list. It also contains a bug fix: lists appeared in a different order from the original ACD files. -- Catherine Letondal -- Pasteur Institute Computing Center From david.martin at biotek.uio.no Fri Sep 8 06:20:59 2000 From: david.martin at biotek.uio.no (David Martin) Date: Fri, 8 Sep 2000 12:20:59 +0200 Subject: New admin guide: Message-ID: There are some minor updates to the admin guide. ftp://ftp.no.embnet.org/pub/EMBOSS-extras/ The TeX source is now available. Due to a bug with LaTeX2html the html tarball is not yet updated. mvh ..d --------------------------------------------------------------------- * Dr. David Martin Biotechnology Centre of Oslo * * Node Manager Gaustadalleen 21 * * The Norwegian EMBNet Node P.O. box 1125 Blindern * * tel +47 22 95 87 56 N-0317 Oslo * * fax +47 22 69 41 30 Norway * --------------------------------------------------------------------- From bauer at genprofile.com Fri Sep 8 07:51:43 2000 From: bauer at genprofile.com (David Bauer) Date: Fri, 08 Sep 2000 13:51:43 +0200 Subject: Pise EMBOSS updated References: <200009081017.e88AH3B17596@nefertiti.pasteur.fr> Message-ID: <39B8D2CF.2C086275@genprofile.com> Catherine Letondal wrote: > The new distribution (ftp://ftp.pasteur.fr/pub/GenSoft/unix/misc/Pise.tar.gz) > contains also EMBOSS 1.5.0, with the 2 new programs: BTWISTED and EMOWSE. http://ubigcg.mdh4.mdc-berlin.de:8080 is updated. Thanks,David. From johann at egenetics.com Fri Sep 8 08:16:35 2000 From: johann at egenetics.com (Johann Visagie) Date: Fri, 8 Sep 2000 14:16:35 +0200 Subject: Another update of EMBOSS FreeBSD port In-Reply-To: <20000810152945.H31126@fling.sanbi.ac.za>; from johann@egenetics.com on Thu, Aug 10, 2000 at 03:29:46PM +0200 References: <20000810152945.H31126@fling.sanbi.ac.za> Message-ID: <20000908141635.A87026@fling.sanbi.ac.za> Through a series of circumstances, the FreeBSD EMBOSS port got broken today: - I submitted an update to 1.4.0 about two weeks ago. - It was only committed yesterday. - The EMBOSS people removed the 1.4.0 distfile off the master FTP server. - The FreeBSD distfile mirrors had not yet had the chance to grab it. Ergo: broken port. I submitted an update of the port to 1.5.0, and pulled what strings I have available to get it chased through: http://www.freebsd.org/cgi/query-pr.cgi?pr=21108 The new update also adds David Martin's Norwegian ftp mirror - which keeps older versions - to MASTER_SITES, so the same problem is unlikely to occur again. EMBOSS people: Since EMBOSS uses GNU configure, can it maybe honour configure-time variables (datadir, sysconfdir, etc.) instead of having these hard-coded? I'm currently still patching the port also to look for emboss.default in ${PREFIX}/etc - it would be much easier to set this at configure time! Of a previous EMBOSS port update I wrote: > > Still do do: > > - Set some defaults in emboss.default.sample which are consistent with > FreeBSD diectory hierarchy before intstalling it. > > - Install the scripts (and other bits?) to /usr/local/share/examples/EMBOSS > > - Create necessary directory structure under /var/db for the user who wants > to host databases locally (I need to investigate & understand better what's > going on myself first! :-) FreeBSD-bio people: These are all _still_ on the to-do list. Any help or suggestions would be appreciated, esp. from people actually using EMBOSS on a more regular basis! -- Johann From stein at fmnh.org Fri Sep 8 10:28:19 2000 From: stein at fmnh.org (Jennifer Steinbachs) Date: Fri, 8 Sep 2000 09:28:19 -0500 (CDT) Subject: Another update of EMBOSS FreeBSD port In-Reply-To: <20000908141635.A87026@fling.sanbi.ac.za> Message-ID: On Fri, 8 Sep 2000, Johann Visagie wrote: > > EMBOSS people: Since EMBOSS uses GNU configure, can it maybe honour > configure-time variables (datadir, sysconfdir, etc.) instead of having these > hard-coded? I'm currently still patching the port also to look for > emboss.default in ${PREFIX}/etc - it would be much easier to set this at > configure time! > I would appreciate this also, particularly for setting the location of ACD_ROOT - I'd like to specify its location with configure when I also set PREFIX. -jennifer ----------------------------------- J. Steinbachs, Ph.D. Computational Biologist The Field Museum Chicago, IL 60605-2496 office: 312-665-7810 fax: 312-665-7158 http://cb.fmnh.org ----------------------------------- From ableasby at hgmp.mrc.ac.uk Fri Sep 8 13:15:05 2000 From: ableasby at hgmp.mrc.ac.uk (ableasby at hgmp.mrc.ac.uk) Date: Fri, 8 Sep 2000 18:15:05 +0100 (BST) Subject: Another update of EMBOSS FreeBSD port Message-ID: <200009081715.SAA28717@tin.hgmp.mrc.ac.uk> >- The EMBOSS people removed the 1.4.0 distfile off the master FTP server. Not entirely true... they get moved into the subdirectory "old" on the ftp server. I've added the datadir configure to the todo list. Alan From johann at egenetics.com Tue Sep 12 11:50:24 2000 From: johann at egenetics.com (Johann Visagie) Date: Tue, 12 Sep 2000 17:50:24 +0200 Subject: Another update of EMBOSS FreeBSD port In-Reply-To: <200009081715.SAA28717@tin.hgmp.mrc.ac.uk>; from ableasby@hgmp.mrc.ac.uk on Fri, Sep 08, 2000 at 06:15:05PM +0100 References: <200009081715.SAA28717@tin.hgmp.mrc.ac.uk> Message-ID: <20000912175024.A69183@fling.sanbi.ac.za> ableasby at hgmp.mrc.ac.uk on 2000-09-08 (Fri) at 18:15:05 +0100: > > >- The EMBOSS people removed the 1.4.0 distfile off the master FTP server. > > Not entirely true... they get moved into the subdirectory "old" on > the ftp server. Aha! Still broke the port, though. ;-) > I've added the datadir configure to the todo list. Thanks! -- Johann From ableasby at hgmp.mrc.ac.uk Sun Sep 17 16:10:39 2000 From: ableasby at hgmp.mrc.ac.uk (ableasby at hgmp.mrc.ac.uk) Date: Sun, 17 Sep 2000 21:10:39 +0100 (BST) Subject: EMBOSS 1.5.2 Message-ID: <200009172010.VAA06053@bromine.hgmp.mrc.ac.uk> This solves a problem with retrieving by accession number from EMBL reformatted by GCG software. You must reindex with dbigcg after compiling this version. This release also adds reading of split GCG entries (I'd assumed it was in there already, wrongly). Cheers Alan From schmitz at mail.biophys.uni-duesseldorf.de Mon Sep 18 14:21:54 2000 From: schmitz at mail.biophys.uni-duesseldorf.de (Michael Schmitz) Date: Mon, 18 Sep 2000 20:21:54 +0200 (CEST) Subject: Patch: Porting EMBOSS to LinuxPPC ... Message-ID: Hi list, the attached diff is what I came up with in order to get EMBOSS ported to the PowerPC architecture. It's not pretty, but I've not found a nice portable way of dealing with the problem, so I would appreciate suggestions on how else to address this problem. The current solution at least allows for running EMBOSS on PowerPC systems. Background information (as in: what exactly is the problem?, lengthy): Symptom of the problem is each EMBOSS application segfaulting early in embInit. The cause of this is variable argument list functions messing up their va_lists resulting in access to bogus memory addresses. It all happens because gcc on the PowerPC architecture uses a weird calling convention for variable argument lists, unlike most other architectures. va_list is declared from __gnuc_va_list: typedef __gnuc_va_list va_list; common for pretty much all architectures. The typical declaration for __gnuc_va_list would be: #if defined(__svr4__) || defined(_AIX) || defined(_M_UNIX) || defined(__NetBSD__) typedef char *__gnuc_va_list; #else typedef void *__gnuc_va_list; - essentially just a pointer. LinuxPPC uses the SysV.4 convention which declares typedef struct __va_list_tag { char gpr; /* index into the array of 8 GPRs stored in the register save area gpr=0 corresponds to r3, gpr=1 to r4, etc. */ char fpr; /* index into the array of 8 FPRs stored in the register save area fpr=0 corresponds to f1, fpr=1 to f2, etc. */ char *overflow_arg_area; /* location on stack that holds the next overflow argument */ char *reg_save_area; /* where r3:r10 and f1:f8, if saved are stored */ } __va_list[1], __gnuc_va_list[1]; - not a simple pointer, apparently. See the gcc include's stdarg.h and va-ppc.h headers for more details. The practical upshot of this is twofold: - pointers to va_list arguments must be passed on Intel and others if the va_list is expected to change by the called function. ajFmtVfmt() makes use of this to call the appropriate format conversion functions while parsing the format string. On PowerPC, pointers to va_list arguments must not be passed but the va_list itself must be passed (I don't quite see why but I've tried). - When passing va_list arguments around on PowerPC, keep in mind that the va_list will always change, regardless of passing it as a pointer or not. This is particularly nasty in ajFmtStr(), ajFmtPrintS(), ajFmtPrintAppS() where ajFmtVfmt() and friends are called within the error handler context, exhausting the argument list rapidly. The original va_list contents should be saved and restored in case the error handler trapped some recoverable error. Enough of the gory details, and please don't blame me for the broken PowerPC calling conventions. Please CC: me on replies as I'm not subscribed to the list. Michael Schmitz -------------- next part -------------- --- ajax/ajfmt.c.org Mon Sep 18 09:26:37 2000 +++ ajax/ajfmt.c Mon Sep 18 16:49:54 2000 @@ -69,7 +69,7 @@ ** As for C RTL but prints null if given a null pointer. ** ** @param [r] code [int] Format code specified (usually s) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] ap [va_list] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -79,11 +79,11 @@ ** @@ ******************************************************************************/ -static void cvt_s(int code, va_list* app, +static void cvt_s(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { - char *str = va_arg(*app, char *); + char *str = va_arg(VA_V(ap), char *); if (str) ajFmtPuts(str, strlen(str), put, cl, flags, @@ -100,7 +100,7 @@ ** Conversion for %d to print integer ** ** @param [r] code [int] Format code specified (usually d) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] ap [va_list*] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -110,7 +110,7 @@ ** @@ ******************************************************************************/ -static void cvt_d(int code, va_list* app, +static void cvt_d(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { @@ -120,13 +120,13 @@ char *p = buf + sizeof buf; if (flags['l']) { - val = (long) va_arg(*app, long); + val = (long) va_arg(VA_V(ap), long); } else if (flags['h']) { - val = (long) va_arg(*app, int); /* ANSI C converts short to int */ + val = (long) va_arg(VA_V(ap), int); /* ANSI C converts short to int */ } else { - val = (long) va_arg(*app, int); + val = (long) va_arg(VA_V(ap), int); } if (val == INT_MIN) @@ -154,7 +154,7 @@ ** Conversion for %u to print unsigned integer ** ** @param [r] code [int] Format code specified (usually u) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] app [va_list] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -164,7 +164,7 @@ ** @@ ******************************************************************************/ -static void cvt_u(int code, va_list* app, +static void cvt_u(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { @@ -174,11 +174,11 @@ char *p = buf + sizeof buf; if (flags['l']) - m = va_arg(*app, unsigned long); + m = va_arg(VA_V(ap), unsigned long); else if (flags['h']) - m = va_arg(*app, unsigned int); /* ANSI C converts short to int */ + m = va_arg(VA_V(ap), unsigned int); /* ANSI C converts short to int */ else - m = va_arg(*app, unsigned int); + m = va_arg(VA_V(ap), unsigned int); do *--p = ajSysItoC(m%10 + '0'); @@ -195,7 +195,7 @@ ** Conversion for %o to print unsigned integer as octal ** ** @param [r] code [int] Format code specified (usually o) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] ap [va_list] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -205,7 +205,7 @@ ** @@ ******************************************************************************/ -static void cvt_o(int code, va_list* app, +static void cvt_o(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { @@ -214,11 +214,11 @@ char *p = buf + sizeof buf; if (flags['l']) - m = va_arg(*app, unsigned long); + m = va_arg(VA_V(ap), unsigned long); if (flags['h']) - m = va_arg(*app, unsigned int); /* ANSI C converts short to int */ + m = va_arg(VA_V(ap), unsigned int); /* ANSI C converts short to int */ else - m = va_arg(*app, unsigned int); + m = va_arg(VA_V(ap), unsigned int); do *--p = ajSysItoC((m&0x7) + '0'); @@ -238,7 +238,7 @@ ** Conversion for %x to print unsigned integer as hexadecimal ** ** @param [r] code [int] Format code specified (usually x) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] ap [va_list] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -248,7 +248,7 @@ ** @@ ******************************************************************************/ -static void cvt_x(int code, va_list* app, +static void cvt_x(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { @@ -257,11 +257,11 @@ char *p = buf + sizeof buf; if (flags['l']) - m = va_arg(*app, unsigned long); + m = va_arg(VA_V(ap), unsigned long); else if (flags['h']) - m = va_arg(*app, unsigned int); /* ANSI C converts short to int */ + m = va_arg(VA_V(ap), unsigned int); /* ANSI C converts short to int */ else - m = va_arg(*app, unsigned int); + m = va_arg(VA_V(ap), unsigned int); if (code == 'X') { do @@ -293,7 +293,7 @@ ** Conversion for %p to print pointers of type void* as hexadecimal ** ** @param [r] code [int] Format code specified (usually p) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] ap [va_list] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -303,10 +303,10 @@ ** @@ ******************************************************************************/ -static void cvt_p(int code, va_list* app, +static void cvt_p(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { - unsigned long m = (unsigned long)va_arg(*app, void*); + unsigned long m = (unsigned long)va_arg(VA_V(ap), void*); char buf[43]; char *p = buf + sizeof buf; precision = INT_MIN; @@ -326,7 +326,7 @@ ** by default, so char is always promoted to int by the time it reaches here. ** ** @param [r] code [int] Format code specified (usually c) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] ap [va_list] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -336,7 +336,7 @@ ** @@ ******************************************************************************/ -static void cvt_c(int code, va_list* app, +static void cvt_c(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { if (width == INT_MIN) @@ -347,7 +347,7 @@ } if (!flags['-']) pad(width - 1, ' '); - (void) put(ajSysItoUC(va_arg(*app, int)), cl); + (void) put(ajSysItoUC(va_arg(VA_V(ap), int)), cl); if ( flags['-']) pad(width - 1, ' '); } @@ -364,7 +364,7 @@ ** of the format for sprintf. ** ** @param [r] code [int] Format code specified (usually f) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] ap [va_list] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -374,7 +374,7 @@ ** @@ ******************************************************************************/ -static void cvt_f(int code, va_list* app, +static void cvt_f(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { char buf[DBL_MAX_10_EXP+1+1+99+1]; @@ -397,7 +397,7 @@ fmt[i++] = ajSysItoC(code); fmt[i] = '\0'; - (void) sprintf(buf, fmt, va_arg(*app, double)); + (void) sprintf(buf, fmt, va_arg(VA_V(ap), double)); } /* now write string and support width */ @@ -412,7 +412,7 @@ ** Conversion for %S to print a string ** ** @param [r] code [int] Format code specified (usually S) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] ap [va_list] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -422,10 +422,10 @@ ** @@ ******************************************************************************/ -static void cvt_S(int code, va_list* app, +static void cvt_S(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { - AjPStr str1 = va_arg(*app, AjPStr); + AjPStr str1 = va_arg(VA_V(ap), AjPStr); if (str1) { ajFmtPuts(str1->Ptr, str1->Len, put, cl, flags, width, precision); @@ -441,7 +441,7 @@ ** Conversion for %b to print a boolean as a 1 letter code (Y or N) ** ** @param [r] code [int] Format code specified (usually b) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] ap [va_list] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -451,10 +451,10 @@ ** @@ ******************************************************************************/ -static void cvt_b(int code, va_list* app, +static void cvt_b(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { - AjBool bl = va_arg(*app, AjBool); + AjBool bl = va_arg(VA_V(ap), AjBool); if (bl) ajFmtPuts("Y", 1, put, cl, flags, width, precision); @@ -469,7 +469,7 @@ ** Conversion for %B to print a boolean as text (Yes or No) ** ** @param [r] code [int] Format code specified (usually B) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] ap [va_list] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -479,10 +479,10 @@ ** @@ ******************************************************************************/ -static void cvt_B(int code, va_list* app, +static void cvt_B(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { - AjBool bl = va_arg(*app, AjBool); + AjBool bl = va_arg(VA_V(ap), AjBool); if (bl) ajFmtPuts("Yes", 3, put, cl, flags, width, precision); @@ -497,7 +497,7 @@ ** Conversion for %D to print a datetime value ** ** @param [r] code [int] Format code specified (usually D) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] ap [va_list] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -507,10 +507,10 @@ ** @@ ******************************************************************************/ -static void cvt_D(int code, va_list* app, +static void cvt_D(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { - AJTIME *time = va_arg(*app, AJTIME *); + AJTIME *time = va_arg(VA_V(ap), AJTIME *); struct tm *mytime = time->time; char buf[280]; @@ -537,7 +537,7 @@ ** Conversion for %F to print a file object ** ** @param [r] code [int] Format code specified (usually F) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] ap [va_list] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -547,10 +547,10 @@ ** @@ ******************************************************************************/ -static void cvt_F(int code, va_list* app, +static void cvt_F(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { - AjPFile fil = va_arg(*app, AjPFile); + AjPFile fil = va_arg(VA_V(ap), AjPFile); if (fil && fil->Name) { ajFmtPuts(fil->Name->Ptr, fil->Name->Len, put, cl, flags, width, precision); @@ -895,7 +895,7 @@ ******************************************************************************/ AjPStr ajFmtStr (const char* fmt, ...) { - va_list ap; + va_list ap, save_ap; volatile AjBool okay=ajFalse; int len =20; AjPStr fnew; @@ -903,6 +903,8 @@ fnew = ajStrNewL (len); va_start(ap, fmt); + __va_copy(save_ap, ap); + while(!okay){ AJTRY len = ajFmtVfmtCL(fnew->Ptr, fnew->Res, fmt, ap); @@ -911,6 +913,7 @@ ELSE len = fnew->Res *2; /* double the memory and try again */ (void) ajStrModL(&fnew, len); + __va_copy(ap, save_ap); END_TRY; } va_end(ap); @@ -939,7 +942,7 @@ AjPStr ajFmtPrintS (AjPStr* pthis, const char* fmt, ...) { volatile AjPStr thys; - va_list ap; + va_list ap, save_ap; volatile AjBool okay = ajFalse; int len ; @@ -949,6 +952,8 @@ thys = *pthis; len = thys->Res; + __va_copy(save_ap, ap); + while(!okay){ AJTRY len = ajFmtVfmtCL(thys->Ptr, thys->Res, fmt, ap); @@ -960,6 +965,7 @@ /* create new one with twice the memory */ (void) ajStrModL(pthis, len); thys = *pthis; + __va_copy(ap, save_ap); } else{ thys= 0; @@ -995,7 +1001,7 @@ AjPStr ajFmtPrintAppS(AjPStr* pthis, const char* fmt, ...) { volatile AjPStr thys; - va_list ap; + va_list ap, save_ap; volatile AjBool okay = ajFalse; int len ; @@ -1005,6 +1011,8 @@ thys = *pthis; len = thys->Res; + __va_copy(save_ap, ap); + while(!okay){ AJTRY len = ajFmtVfmtCL(&thys->Ptr[thys->Len], thys->Res-thys->Len, @@ -1017,6 +1025,7 @@ /* create new one with twice the memory */ (void) ajStrModL(pthis, len); thys = *pthis; + __va_copy(ap, save_ap); } else{ thys= 0; @@ -1175,7 +1184,7 @@ } c = *fmt++; /* finally, next character is the code */ (void) assert(cvt[(int)c]); /* we need a defined routine */ - (*cvt[(int)c])(c, &ap, put, cl, (unsigned int *)flags, width, precision); + (*cvt[(int)c])(c, VA_P(ap), put, cl, (unsigned int *)flags, width, precision); } } } --- ajax/ajfmt.h.org Mon Jul 10 16:26:21 2000 +++ ajax/ajfmt.h Mon Sep 18 16:59:19 2000 @@ -9,7 +9,18 @@ #include #include #include "ajexcept.h" -typedef void (*Fmt_T)(int code, va_list *app, + +#if defined(__PPC__) && defined(_CALL_SYSV) +#define VALIST va_list +#define VA_P(x) (x) +#define VA_V(x) (x) +#else +#define VALIST va_list* +#define VA_P(x) (&x) +#define VA_V(x) (*x) +#endif + +typedef void (*Fmt_T)(int code, VALIST ap, int put(int c, void *cl), void *cl, unsigned int flags[256], int width, int precision); From ableasby at hgmp.mrc.ac.uk Mon Sep 18 18:47:23 2000 From: ableasby at hgmp.mrc.ac.uk (ableasby at hgmp.mrc.ac.uk) Date: Mon, 18 Sep 2000 23:47:23 +0100 (BST) Subject: EMBOSS 1.5.3 Message-ID: <200009182247.XAA29252@tin.hgmp.mrc.ac.uk> This incorporates the linuxppc modifications from Michael Schmitz. Alan From david.martin at biotek.uio.no Tue Sep 19 12:28:00 2000 From: david.martin at biotek.uio.no (David Martin) Date: Tue, 19 Sep 2000 17:28:00 +0100 Subject: Installing PISE - words for the wary.. Message-ID: A few extra notes for installing PISE in addition to those that come with the package.. If you have a new version of rxp you need to remove the -e flag in Makefile.in. If you have Perl with a funny name or in a funny place you should set PERL to the path to the Perl executable, and if the name is not 'perl' (ie 'perl5' or similar) then you will have to change all 'perl' to the correct name in Makefile.in. Then you can configure and make. regards ..d --------------------------------------------------------------------- * Dr. David Martin Biotechnology Centre of Oslo * * Node Manager Gaustadalleen 21 * * The Norwegian EMBNet Node P.O. box 1125 Blindern * * tel +47 22 95 87 56 N-0317 Oslo * * fax +47 22 69 41 30 Norway * --------------------------------------------------------------------- From letondal at pasteur.fr Tue Sep 19 13:28:02 2000 From: letondal at pasteur.fr (Catherine Letondal) Date: Tue, 19 Sep 2000 19:28:02 +0200 Subject: Installing PISE - words for the wary.. In-Reply-To: Your message of "Tue, 19 Sep 2000 17:28:00 BST." Message-ID: <200009191728.e8JHS2B30784@nefertiti.pasteur.fr> David Martin writes: > > A few extra notes for installing PISE in addition to those that come > with the package.. David: why don't you use the pise-users at pasteur.fr mailing list for discussions about Pise? (or the pise at pasteur.fr address) > > If you have a new version of rxp you need to remove the -e flag in > Makefile.in. > > If you have Perl with a funny name or in a funny place you should set PERL > to the path to the Perl executable, and if the name is not 'perl' (ie > 'perl5' or similar) then you will have to change all 'perl' to the correct > name in Makefile.in. The perl5 problem is now fixed: I have updated the aclocal.m4 configuration file. Now, if perl or perl5 is not in your current PATH, you can call configure this way: PERL=/path/to/perl ./configure --prefix=/path/to/Pise (thanks to Nicolas Joly for helping!) The rxp problem is more tricky. I think we will solve it by upgrading our local version! BTW, the last distribution contains a small fix for sequence format conversion and a new XML file for program rnaga (ftp://ftp.ncifcrf.gov/pub/users/chen/, Prediction of common secondary structures of RNAs by genetic algorithm). > > Then you can configure and make. > > regards > > ..d > > --------------------------------------------------------------------- > * Dr. David Martin Biotechnology Centre of Oslo * > * Node Manager Gaustadalleen 21 * > * The Norwegian EMBNet Node P.O. box 1125 Blindern * > * tel +47 22 95 87 56 N-0317 Oslo * > * fax +47 22 69 41 30 Norway * > --------------------------------------------------------------------- > > -- Catherine Letondal -- Pasteur Institute Computing Center From tsvikag at helix.nih.gov Tue Sep 19 20:45:31 2000 From: tsvikag at helix.nih.gov (Tsvika Greener) Date: Tue, 19 Sep 2000 20:45:31 -0400 Subject: CD with precompiled EMBOSS (binaries) Message-ID: <39C808AB.33B0AB64@helix.nih.gov> Hi all, 1. I would like to run EMBOOS on my caldera Linux box (eDesktop2.4) that support rpm packaging. I read in EMBOSS manual that a CD with a pre-compiled EMBOSS is available. I would like to know from where I can get this CD? I do not mind to use Red Hat or SuSe for that reason. 2. Also, I would like to know how much space EMBOSS takes after compilation not including the Data base files. Is there any hardware limitation regarding EMBOSS? I would like to know if 250 MB RAM and PII-400 MHZ are enough? 3. Finally, I would like to know if EMBOSS have or will have an X-windows interface like GCG (seqLab). I know that GCG are making Linux version for seqLab (it is alfa version now). Thanks in advance for your help, Tsvika. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.open-bio.org/pipermail/emboss/attachments/20000919/aa3976ac/attachment.html -------------- next part -------------- A non-text attachment was scrubbed... Name: tsvikag.vcf Type: text/x-vcard Size: 312 bytes Desc: Card for Tsvika Greener Url : http://lists.open-bio.org/pipermail/emboss/attachments/20000919/aa3976ac/attachment.vcf From bauer at genprofile.com Wed Sep 20 03:28:20 2000 From: bauer at genprofile.com (David Bauer) Date: Wed, 20 Sep 2000 09:28:20 +0200 Subject: CD with precompiled EMBOSS (binaries) References: <39C808AB.33B0AB64@helix.nih.gov> Message-ID: <39C86714.F11CF60E@genprofile.com> Tsvika Greener wrote: > > Hi all, > > 1. I would like to run EMBOOS on my caldera Linux box (eDesktop2.4) that support rpm packaging. I read in EMBOSS manual that a > CD with a pre-compiled EMBOSS is available. I would like to know from where I can get this CD? I do not mind to use Red Hat or > SuSe for that reason. Why do you want the binary version? I'm using EMBOSS on FreeBSD and as there is also no binary version. I just recompile it from source. I don't think it is more complicated then installing a rpm package. EMBOSS is updated frequently, so from the ftp server you can always get the latest version. > 2. Also, I would like to know how much space EMBOSS takes after compilation not including the Data base files. Is there any > hardware limitation regarding EMBOSS? I would like to know if 250 MB RAM and PII-400 MHZ are enough? The complete source tree (incl. docs) after compilation is about 35Mb. I have a copy on my PC at home and that is a Celeron 400 with 96Mb RAM so you should have no trouble with your configuration. (In fact I have EMBOSS also on my very ancient laptop which is a 486/66). > > 3. Finally, I would like to know if EMBOSS have or will have an X-windows interface like GCG (seqLab). I know that GCG are > making Linux version for seqLab (it is alfa version now). Same question from me to the EMBOSS team. -- David. From ableasby at hgmp.mrc.ac.uk Wed Sep 20 05:17:57 2000 From: ableasby at hgmp.mrc.ac.uk (ableasby at hgmp.mrc.ac.uk) Date: Wed, 20 Sep 2000 10:17:57 +0100 (BST) Subject: CD with precompiled EMBOSS (binaries) Message-ID: <200009200917.KAA25311@tin.hgmp.mrc.ac.uk> SuSE and RedHat have been contacted. It is up to them whether they wish to distribute EMBOSS. I will let this list know of any positive responses. The GUI from the STADEN group is nearing completion. Only BANANA, LINDNA, CIRDNA and PRETTYPLOT need conversion now and are being worked on. The gui will probably be released before they are done (first release). It would be more accurate to say that the gui is done but EMBOSS is still being incorporated into it. The gui is effectively the STADEN nip4/sip4 programs. As such you will have to ask them for it which, for academics, means signing a licence agreement and then you get the software free. Do not plague them with enquiries yet though. I'll inform this group when it is available and whom to contact. Alan From mlahtela at csc.fi Wed Sep 20 06:58:28 2000 From: mlahtela at csc.fi (Maija Lahtela) Date: Wed, 20 Sep 2000 13:58:28 +0300 Subject: How to configure database file in EMBOSS ? Message-ID: Dear EMBOSS users, I am novice using EMBOSS and I would like to ask few very simple question as setting emboss for use. I have problem how to configure database-files locally for EMBOSS. As we wanted indes gcg format databases we used dbigcg to do it. It ganerates files: acnum.hit, acnum.trg, division.lkp and entrynam.id. I was not sure where to place these files and in which directory I should have .embossrc. As I listed databases with showdb it only includes files from emboss.default-file. Yours, Maija Lahtela-Kakkonen ***************************************************** Maija Lahtela-Kakkonen, Researcher CSC-Scientific Computing Tekniikantie 15 a D, P.O.Box 405 FIN-02101 ESPOO FINLAND TEL 358-9-4572079 /050-3819506, FAX 358-9-4572302 E-MAIL mlahtela at csc.fi, Internet:www.csc.fi **************************************************** From tsvikag at helix.nih.gov Wed Sep 20 13:33:12 2000 From: tsvikag at helix.nih.gov (Tsvika) Date: Wed, 20 Sep 2000 13:33:12 -0400 Subject: Is any one from the NIH using EMBOOS? Message-ID: <39C8F4D8.21E1A4@helix.nih.gov> Hi, I would like to know if anyone at the NIH (Bethesda, Maryland) or in the immediateneighborhood (Maryland, Virginia or Washington DC) is currently using or intend to use EMBOOS? Tsvika. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.open-bio.org/pipermail/emboss/attachments/20000920/d035fb25/attachment.html -------------- next part -------------- A non-text attachment was scrubbed... Name: tsvikag.vcf Type: text/x-vcard Size: 306 bytes Desc: Card for Tsvika Url : http://lists.open-bio.org/pipermail/emboss/attachments/20000920/d035fb25/attachment.vcf From ableasby at hgmp.mrc.ac.uk Thu Sep 28 19:00:15 2000 From: ableasby at hgmp.mrc.ac.uk (ableasby at hgmp.mrc.ac.uk) Date: Fri, 29 Sep 2000 00:00:15 +0100 (BST) Subject: EMBOSS 1.5.5 Message-ID: <200009282300.AAA03638@bromine.hgmp.mrc.ac.uk> GenBank, formatted by GCG had its accession numbers ignored by dbigcg. Other dbigcg'd databases were unaffected. If you have a GCG'd GenBank then re-run dbigcg on it after installing this release. Terminating asterisk wildcard accession number queries are now implemented for indexed databases. E.g. seqret "embl-acc:v0030*" is now a valid query. A crackdown on unused variables and memory leaks i.e. general code spring-cleaning for new software/applications done. Alan From ableasby at hgmp.mrc.ac.uk Fri Sep 29 07:41:18 2000 From: ableasby at hgmp.mrc.ac.uk (ableasby at hgmp.mrc.ac.uk) Date: Fri, 29 Sep 2000 12:41:18 +0100 (BST) Subject: EMBOSS 1.5.5 again Message-ID: <200009291141.MAA24126@bromine.hgmp.mrc.ac.uk> A corrected version of 1.5.5 has been placed on the servers. This (only) fixes a problem with wildard retrieval from GenBank for indexed databases. No need to reinstall if you don't use GenBank at your site (for EMBOSS). Alan From david.martin at biotek.uio.no Wed Sep 6 15:14:21 2000 From: david.martin at biotek.uio.no (David Martin) Date: Wed, 6 Sep 2000 16:14:21 +0100 Subject: New adminguide version Message-ID: The latest copy of the admin guide is available at ftp://ftp.no.embnet.org/pub/EMBOSS-extras This takes care of a few minor issues arising from the EMBOSS Workshop this week in Bergen. ..d --------------------------------------------------------------------- * Dr. David Martin Biotechnology Centre of Oslo * * Node Manager Gaustadalleen 21 * * The Norwegian EMBNet Node P.O. box 1125 Blindern * * tel +47 22 95 87 56 N-0317 Oslo * * fax +47 22 69 41 30 Norway * --------------------------------------------------------------------- From ableasby at hgmp.mrc.ac.uk Thu Sep 7 23:20:43 2000 From: ableasby at hgmp.mrc.ac.uk (ableasby at hgmp.mrc.ac.uk) Date: Fri, 8 Sep 2000 00:20:43 +0100 (BST) Subject: EMBOSS 1.5.0 Message-ID: <200009072320.AAA14562@tin.hgmp.mrc.ac.uk> Two new applications: BTWISTED: Calculates twisting statistics for B-DNA EMOWSE: (Documentation to follow) Given a one-per-line file of molecular weights this program will search a protein database for matches with the mass spectrometry data. Eight enzymes/reagents can be specified and an optional whole sequence molecular weight. Plus one or two minor bugfixes for bugs spotted at the EMBOSS workshop in Bergen. Alan PS: Plus some Makefile.am work from Nicolas Joly at Pasteur. From bauer at genprofile.com Fri Sep 8 10:05:23 2000 From: bauer at genprofile.com (David Bauer) Date: Fri, 08 Sep 2000 12:05:23 +0200 Subject: Pise EMBOSS updated Message-ID: <39B8B9E3.FCE18D43@genprofile.com> Updated version of EMBOSS under Pise on http://ubigcg.mdh4.mdc-berlin.de:8080 EMBOSS is version 1.5.0. New programs under Pise: diffseq, dotpath, megamerger, primersearch, silent and vectorstrip. -- Dr. David Bauer GenProfile AG, Max-Delbrueck-Center, Erwin-Negelein-Haus Robert-Roessle-Str. 10, D-13125 Berlin, Germany bauer at genprofile.com, Tel:49-30-94892165, FAX:49-30-94892151 From letondal at pasteur.fr Fri Sep 8 10:17:03 2000 From: letondal at pasteur.fr (Catherine Letondal) Date: Fri, 08 Sep 2000 12:17:03 +0200 Subject: Pise EMBOSS updated In-Reply-To: Your message of "Fri, 08 Sep 2000 12:05:23 +0200." <39B8B9E3.FCE18D43@genprofile.com> Message-ID: <200009081017.e88AH3B17596@nefertiti.pasteur.fr> David Bauer writes: > Updated version of EMBOSS under Pise on > > http://ubigcg.mdh4.mdc-berlin.de:8080 > > EMBOSS is version 1.5.0. > New programs under Pise: diffseq, dotpath, megamerger, primersearch, > silent and vectorstrip. > Thanks David! The new distribution (ftp://ftp.pasteur.fr/pub/GenSoft/unix/misc/Pise.tar.gz) contains also EMBOSS 1.5.0, with the 2 new programs: BTWISTED and EMOWSE. The Makefile.global file has been updated as well for the EMBOSS programs list. It also contains a bug fix: lists appeared in a different order from the original ACD files. -- Catherine Letondal -- Pasteur Institute Computing Center From david.martin at biotek.uio.no Fri Sep 8 10:20:59 2000 From: david.martin at biotek.uio.no (David Martin) Date: Fri, 8 Sep 2000 12:20:59 +0200 Subject: New admin guide: Message-ID: There are some minor updates to the admin guide. ftp://ftp.no.embnet.org/pub/EMBOSS-extras/ The TeX source is now available. Due to a bug with LaTeX2html the html tarball is not yet updated. mvh ..d --------------------------------------------------------------------- * Dr. David Martin Biotechnology Centre of Oslo * * Node Manager Gaustadalleen 21 * * The Norwegian EMBNet Node P.O. box 1125 Blindern * * tel +47 22 95 87 56 N-0317 Oslo * * fax +47 22 69 41 30 Norway * --------------------------------------------------------------------- From bauer at genprofile.com Fri Sep 8 11:51:43 2000 From: bauer at genprofile.com (David Bauer) Date: Fri, 08 Sep 2000 13:51:43 +0200 Subject: Pise EMBOSS updated References: <200009081017.e88AH3B17596@nefertiti.pasteur.fr> Message-ID: <39B8D2CF.2C086275@genprofile.com> Catherine Letondal wrote: > The new distribution (ftp://ftp.pasteur.fr/pub/GenSoft/unix/misc/Pise.tar.gz) > contains also EMBOSS 1.5.0, with the 2 new programs: BTWISTED and EMOWSE. http://ubigcg.mdh4.mdc-berlin.de:8080 is updated. Thanks,David. From johann at egenetics.com Fri Sep 8 12:16:35 2000 From: johann at egenetics.com (Johann Visagie) Date: Fri, 8 Sep 2000 14:16:35 +0200 Subject: Another update of EMBOSS FreeBSD port In-Reply-To: <20000810152945.H31126@fling.sanbi.ac.za>; from johann@egenetics.com on Thu, Aug 10, 2000 at 03:29:46PM +0200 References: <20000810152945.H31126@fling.sanbi.ac.za> Message-ID: <20000908141635.A87026@fling.sanbi.ac.za> Through a series of circumstances, the FreeBSD EMBOSS port got broken today: - I submitted an update to 1.4.0 about two weeks ago. - It was only committed yesterday. - The EMBOSS people removed the 1.4.0 distfile off the master FTP server. - The FreeBSD distfile mirrors had not yet had the chance to grab it. Ergo: broken port. I submitted an update of the port to 1.5.0, and pulled what strings I have available to get it chased through: http://www.freebsd.org/cgi/query-pr.cgi?pr=21108 The new update also adds David Martin's Norwegian ftp mirror - which keeps older versions - to MASTER_SITES, so the same problem is unlikely to occur again. EMBOSS people: Since EMBOSS uses GNU configure, can it maybe honour configure-time variables (datadir, sysconfdir, etc.) instead of having these hard-coded? I'm currently still patching the port also to look for emboss.default in ${PREFIX}/etc - it would be much easier to set this at configure time! Of a previous EMBOSS port update I wrote: > > Still do do: > > - Set some defaults in emboss.default.sample which are consistent with > FreeBSD diectory hierarchy before intstalling it. > > - Install the scripts (and other bits?) to /usr/local/share/examples/EMBOSS > > - Create necessary directory structure under /var/db for the user who wants > to host databases locally (I need to investigate & understand better what's > going on myself first! :-) FreeBSD-bio people: These are all _still_ on the to-do list. Any help or suggestions would be appreciated, esp. from people actually using EMBOSS on a more regular basis! -- Johann From stein at fmnh.org Fri Sep 8 14:28:19 2000 From: stein at fmnh.org (Jennifer Steinbachs) Date: Fri, 8 Sep 2000 09:28:19 -0500 (CDT) Subject: Another update of EMBOSS FreeBSD port In-Reply-To: <20000908141635.A87026@fling.sanbi.ac.za> Message-ID: On Fri, 8 Sep 2000, Johann Visagie wrote: > > EMBOSS people: Since EMBOSS uses GNU configure, can it maybe honour > configure-time variables (datadir, sysconfdir, etc.) instead of having these > hard-coded? I'm currently still patching the port also to look for > emboss.default in ${PREFIX}/etc - it would be much easier to set this at > configure time! > I would appreciate this also, particularly for setting the location of ACD_ROOT - I'd like to specify its location with configure when I also set PREFIX. -jennifer ----------------------------------- J. Steinbachs, Ph.D. Computational Biologist The Field Museum Chicago, IL 60605-2496 office: 312-665-7810 fax: 312-665-7158 http://cb.fmnh.org ----------------------------------- From ableasby at hgmp.mrc.ac.uk Fri Sep 8 17:15:05 2000 From: ableasby at hgmp.mrc.ac.uk (ableasby at hgmp.mrc.ac.uk) Date: Fri, 8 Sep 2000 18:15:05 +0100 (BST) Subject: Another update of EMBOSS FreeBSD port Message-ID: <200009081715.SAA28717@tin.hgmp.mrc.ac.uk> >- The EMBOSS people removed the 1.4.0 distfile off the master FTP server. Not entirely true... they get moved into the subdirectory "old" on the ftp server. I've added the datadir configure to the todo list. Alan From johann at egenetics.com Tue Sep 12 15:50:24 2000 From: johann at egenetics.com (Johann Visagie) Date: Tue, 12 Sep 2000 17:50:24 +0200 Subject: Another update of EMBOSS FreeBSD port In-Reply-To: <200009081715.SAA28717@tin.hgmp.mrc.ac.uk>; from ableasby@hgmp.mrc.ac.uk on Fri, Sep 08, 2000 at 06:15:05PM +0100 References: <200009081715.SAA28717@tin.hgmp.mrc.ac.uk> Message-ID: <20000912175024.A69183@fling.sanbi.ac.za> ableasby at hgmp.mrc.ac.uk on 2000-09-08 (Fri) at 18:15:05 +0100: > > >- The EMBOSS people removed the 1.4.0 distfile off the master FTP server. > > Not entirely true... they get moved into the subdirectory "old" on > the ftp server. Aha! Still broke the port, though. ;-) > I've added the datadir configure to the todo list. Thanks! -- Johann From ableasby at hgmp.mrc.ac.uk Sun Sep 17 20:10:39 2000 From: ableasby at hgmp.mrc.ac.uk (ableasby at hgmp.mrc.ac.uk) Date: Sun, 17 Sep 2000 21:10:39 +0100 (BST) Subject: EMBOSS 1.5.2 Message-ID: <200009172010.VAA06053@bromine.hgmp.mrc.ac.uk> This solves a problem with retrieving by accession number from EMBL reformatted by GCG software. You must reindex with dbigcg after compiling this version. This release also adds reading of split GCG entries (I'd assumed it was in there already, wrongly). Cheers Alan From schmitz at mail.biophys.uni-duesseldorf.de Mon Sep 18 18:21:54 2000 From: schmitz at mail.biophys.uni-duesseldorf.de (Michael Schmitz) Date: Mon, 18 Sep 2000 20:21:54 +0200 (CEST) Subject: Patch: Porting EMBOSS to LinuxPPC ... Message-ID: Hi list, the attached diff is what I came up with in order to get EMBOSS ported to the PowerPC architecture. It's not pretty, but I've not found a nice portable way of dealing with the problem, so I would appreciate suggestions on how else to address this problem. The current solution at least allows for running EMBOSS on PowerPC systems. Background information (as in: what exactly is the problem?, lengthy): Symptom of the problem is each EMBOSS application segfaulting early in embInit. The cause of this is variable argument list functions messing up their va_lists resulting in access to bogus memory addresses. It all happens because gcc on the PowerPC architecture uses a weird calling convention for variable argument lists, unlike most other architectures. va_list is declared from __gnuc_va_list: typedef __gnuc_va_list va_list; common for pretty much all architectures. The typical declaration for __gnuc_va_list would be: #if defined(__svr4__) || defined(_AIX) || defined(_M_UNIX) || defined(__NetBSD__) typedef char *__gnuc_va_list; #else typedef void *__gnuc_va_list; - essentially just a pointer. LinuxPPC uses the SysV.4 convention which declares typedef struct __va_list_tag { char gpr; /* index into the array of 8 GPRs stored in the register save area gpr=0 corresponds to r3, gpr=1 to r4, etc. */ char fpr; /* index into the array of 8 FPRs stored in the register save area fpr=0 corresponds to f1, fpr=1 to f2, etc. */ char *overflow_arg_area; /* location on stack that holds the next overflow argument */ char *reg_save_area; /* where r3:r10 and f1:f8, if saved are stored */ } __va_list[1], __gnuc_va_list[1]; - not a simple pointer, apparently. See the gcc include's stdarg.h and va-ppc.h headers for more details. The practical upshot of this is twofold: - pointers to va_list arguments must be passed on Intel and others if the va_list is expected to change by the called function. ajFmtVfmt() makes use of this to call the appropriate format conversion functions while parsing the format string. On PowerPC, pointers to va_list arguments must not be passed but the va_list itself must be passed (I don't quite see why but I've tried). - When passing va_list arguments around on PowerPC, keep in mind that the va_list will always change, regardless of passing it as a pointer or not. This is particularly nasty in ajFmtStr(), ajFmtPrintS(), ajFmtPrintAppS() where ajFmtVfmt() and friends are called within the error handler context, exhausting the argument list rapidly. The original va_list contents should be saved and restored in case the error handler trapped some recoverable error. Enough of the gory details, and please don't blame me for the broken PowerPC calling conventions. Please CC: me on replies as I'm not subscribed to the list. Michael Schmitz -------------- next part -------------- --- ajax/ajfmt.c.org Mon Sep 18 09:26:37 2000 +++ ajax/ajfmt.c Mon Sep 18 16:49:54 2000 @@ -69,7 +69,7 @@ ** As for C RTL but prints null if given a null pointer. ** ** @param [r] code [int] Format code specified (usually s) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] ap [va_list] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -79,11 +79,11 @@ ** @@ ******************************************************************************/ -static void cvt_s(int code, va_list* app, +static void cvt_s(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { - char *str = va_arg(*app, char *); + char *str = va_arg(VA_V(ap), char *); if (str) ajFmtPuts(str, strlen(str), put, cl, flags, @@ -100,7 +100,7 @@ ** Conversion for %d to print integer ** ** @param [r] code [int] Format code specified (usually d) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] ap [va_list*] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -110,7 +110,7 @@ ** @@ ******************************************************************************/ -static void cvt_d(int code, va_list* app, +static void cvt_d(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { @@ -120,13 +120,13 @@ char *p = buf + sizeof buf; if (flags['l']) { - val = (long) va_arg(*app, long); + val = (long) va_arg(VA_V(ap), long); } else if (flags['h']) { - val = (long) va_arg(*app, int); /* ANSI C converts short to int */ + val = (long) va_arg(VA_V(ap), int); /* ANSI C converts short to int */ } else { - val = (long) va_arg(*app, int); + val = (long) va_arg(VA_V(ap), int); } if (val == INT_MIN) @@ -154,7 +154,7 @@ ** Conversion for %u to print unsigned integer ** ** @param [r] code [int] Format code specified (usually u) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] app [va_list] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -164,7 +164,7 @@ ** @@ ******************************************************************************/ -static void cvt_u(int code, va_list* app, +static void cvt_u(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { @@ -174,11 +174,11 @@ char *p = buf + sizeof buf; if (flags['l']) - m = va_arg(*app, unsigned long); + m = va_arg(VA_V(ap), unsigned long); else if (flags['h']) - m = va_arg(*app, unsigned int); /* ANSI C converts short to int */ + m = va_arg(VA_V(ap), unsigned int); /* ANSI C converts short to int */ else - m = va_arg(*app, unsigned int); + m = va_arg(VA_V(ap), unsigned int); do *--p = ajSysItoC(m%10 + '0'); @@ -195,7 +195,7 @@ ** Conversion for %o to print unsigned integer as octal ** ** @param [r] code [int] Format code specified (usually o) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] ap [va_list] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -205,7 +205,7 @@ ** @@ ******************************************************************************/ -static void cvt_o(int code, va_list* app, +static void cvt_o(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { @@ -214,11 +214,11 @@ char *p = buf + sizeof buf; if (flags['l']) - m = va_arg(*app, unsigned long); + m = va_arg(VA_V(ap), unsigned long); if (flags['h']) - m = va_arg(*app, unsigned int); /* ANSI C converts short to int */ + m = va_arg(VA_V(ap), unsigned int); /* ANSI C converts short to int */ else - m = va_arg(*app, unsigned int); + m = va_arg(VA_V(ap), unsigned int); do *--p = ajSysItoC((m&0x7) + '0'); @@ -238,7 +238,7 @@ ** Conversion for %x to print unsigned integer as hexadecimal ** ** @param [r] code [int] Format code specified (usually x) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] ap [va_list] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -248,7 +248,7 @@ ** @@ ******************************************************************************/ -static void cvt_x(int code, va_list* app, +static void cvt_x(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { @@ -257,11 +257,11 @@ char *p = buf + sizeof buf; if (flags['l']) - m = va_arg(*app, unsigned long); + m = va_arg(VA_V(ap), unsigned long); else if (flags['h']) - m = va_arg(*app, unsigned int); /* ANSI C converts short to int */ + m = va_arg(VA_V(ap), unsigned int); /* ANSI C converts short to int */ else - m = va_arg(*app, unsigned int); + m = va_arg(VA_V(ap), unsigned int); if (code == 'X') { do @@ -293,7 +293,7 @@ ** Conversion for %p to print pointers of type void* as hexadecimal ** ** @param [r] code [int] Format code specified (usually p) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] ap [va_list] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -303,10 +303,10 @@ ** @@ ******************************************************************************/ -static void cvt_p(int code, va_list* app, +static void cvt_p(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { - unsigned long m = (unsigned long)va_arg(*app, void*); + unsigned long m = (unsigned long)va_arg(VA_V(ap), void*); char buf[43]; char *p = buf + sizeof buf; precision = INT_MIN; @@ -326,7 +326,7 @@ ** by default, so char is always promoted to int by the time it reaches here. ** ** @param [r] code [int] Format code specified (usually c) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] ap [va_list] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -336,7 +336,7 @@ ** @@ ******************************************************************************/ -static void cvt_c(int code, va_list* app, +static void cvt_c(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { if (width == INT_MIN) @@ -347,7 +347,7 @@ } if (!flags['-']) pad(width - 1, ' '); - (void) put(ajSysItoUC(va_arg(*app, int)), cl); + (void) put(ajSysItoUC(va_arg(VA_V(ap), int)), cl); if ( flags['-']) pad(width - 1, ' '); } @@ -364,7 +364,7 @@ ** of the format for sprintf. ** ** @param [r] code [int] Format code specified (usually f) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] ap [va_list] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -374,7 +374,7 @@ ** @@ ******************************************************************************/ -static void cvt_f(int code, va_list* app, +static void cvt_f(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { char buf[DBL_MAX_10_EXP+1+1+99+1]; @@ -397,7 +397,7 @@ fmt[i++] = ajSysItoC(code); fmt[i] = '\0'; - (void) sprintf(buf, fmt, va_arg(*app, double)); + (void) sprintf(buf, fmt, va_arg(VA_V(ap), double)); } /* now write string and support width */ @@ -412,7 +412,7 @@ ** Conversion for %S to print a string ** ** @param [r] code [int] Format code specified (usually S) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] ap [va_list] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -422,10 +422,10 @@ ** @@ ******************************************************************************/ -static void cvt_S(int code, va_list* app, +static void cvt_S(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { - AjPStr str1 = va_arg(*app, AjPStr); + AjPStr str1 = va_arg(VA_V(ap), AjPStr); if (str1) { ajFmtPuts(str1->Ptr, str1->Len, put, cl, flags, width, precision); @@ -441,7 +441,7 @@ ** Conversion for %b to print a boolean as a 1 letter code (Y or N) ** ** @param [r] code [int] Format code specified (usually b) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] ap [va_list] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -451,10 +451,10 @@ ** @@ ******************************************************************************/ -static void cvt_b(int code, va_list* app, +static void cvt_b(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { - AjBool bl = va_arg(*app, AjBool); + AjBool bl = va_arg(VA_V(ap), AjBool); if (bl) ajFmtPuts("Y", 1, put, cl, flags, width, precision); @@ -469,7 +469,7 @@ ** Conversion for %B to print a boolean as text (Yes or No) ** ** @param [r] code [int] Format code specified (usually B) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] ap [va_list] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -479,10 +479,10 @@ ** @@ ******************************************************************************/ -static void cvt_B(int code, va_list* app, +static void cvt_B(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { - AjBool bl = va_arg(*app, AjBool); + AjBool bl = va_arg(VA_V(ap), AjBool); if (bl) ajFmtPuts("Yes", 3, put, cl, flags, width, precision); @@ -497,7 +497,7 @@ ** Conversion for %D to print a datetime value ** ** @param [r] code [int] Format code specified (usually D) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] ap [va_list] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -507,10 +507,10 @@ ** @@ ******************************************************************************/ -static void cvt_D(int code, va_list* app, +static void cvt_D(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { - AJTIME *time = va_arg(*app, AJTIME *); + AJTIME *time = va_arg(VA_V(ap), AJTIME *); struct tm *mytime = time->time; char buf[280]; @@ -537,7 +537,7 @@ ** Conversion for %F to print a file object ** ** @param [r] code [int] Format code specified (usually F) -** @param [r] app [va_list*] Original arguments at current position +** @param [r] ap [va_list] Original arguments at current position ** @param [r] put [int function] Standard function ** @param [r] cl [void*] Standard ** @param [r] flags [unsigned int*] Flags (after the %) @@ -547,10 +547,10 @@ ** @@ ******************************************************************************/ -static void cvt_F(int code, va_list* app, +static void cvt_F(int code, VALIST ap, int put(int c, void* cl), void* cl, unsigned int* flags, int width, int precision) { - AjPFile fil = va_arg(*app, AjPFile); + AjPFile fil = va_arg(VA_V(ap), AjPFile); if (fil && fil->Name) { ajFmtPuts(fil->Name->Ptr, fil->Name->Len, put, cl, flags, width, precision); @@ -895,7 +895,7 @@ ******************************************************************************/ AjPStr ajFmtStr (const char* fmt, ...) { - va_list ap; + va_list ap, save_ap; volatile AjBool okay=ajFalse; int len =20; AjPStr fnew; @@ -903,6 +903,8 @@ fnew = ajStrNewL (len); va_start(ap, fmt); + __va_copy(save_ap, ap); + while(!okay){ AJTRY len = ajFmtVfmtCL(fnew->Ptr, fnew->Res, fmt, ap); @@ -911,6 +913,7 @@ ELSE len = fnew->Res *2; /* double the memory and try again */ (void) ajStrModL(&fnew, len); + __va_copy(ap, save_ap); END_TRY; } va_end(ap); @@ -939,7 +942,7 @@ AjPStr ajFmtPrintS (AjPStr* pthis, const char* fmt, ...) { volatile AjPStr thys; - va_list ap; + va_list ap, save_ap; volatile AjBool okay = ajFalse; int len ; @@ -949,6 +952,8 @@ thys = *pthis; len = thys->Res; + __va_copy(save_ap, ap); + while(!okay){ AJTRY len = ajFmtVfmtCL(thys->Ptr, thys->Res, fmt, ap); @@ -960,6 +965,7 @@ /* create new one with twice the memory */ (void) ajStrModL(pthis, len); thys = *pthis; + __va_copy(ap, save_ap); } else{ thys= 0; @@ -995,7 +1001,7 @@ AjPStr ajFmtPrintAppS(AjPStr* pthis, const char* fmt, ...) { volatile AjPStr thys; - va_list ap; + va_list ap, save_ap; volatile AjBool okay = ajFalse; int len ; @@ -1005,6 +1011,8 @@ thys = *pthis; len = thys->Res; + __va_copy(save_ap, ap); + while(!okay){ AJTRY len = ajFmtVfmtCL(&thys->Ptr[thys->Len], thys->Res-thys->Len, @@ -1017,6 +1025,7 @@ /* create new one with twice the memory */ (void) ajStrModL(pthis, len); thys = *pthis; + __va_copy(ap, save_ap); } else{ thys= 0; @@ -1175,7 +1184,7 @@ } c = *fmt++; /* finally, next character is the code */ (void) assert(cvt[(int)c]); /* we need a defined routine */ - (*cvt[(int)c])(c, &ap, put, cl, (unsigned int *)flags, width, precision); + (*cvt[(int)c])(c, VA_P(ap), put, cl, (unsigned int *)flags, width, precision); } } } --- ajax/ajfmt.h.org Mon Jul 10 16:26:21 2000 +++ ajax/ajfmt.h Mon Sep 18 16:59:19 2000 @@ -9,7 +9,18 @@ #include #include #include "ajexcept.h" -typedef void (*Fmt_T)(int code, va_list *app, + +#if defined(__PPC__) && defined(_CALL_SYSV) +#define VALIST va_list +#define VA_P(x) (x) +#define VA_V(x) (x) +#else +#define VALIST va_list* +#define VA_P(x) (&x) +#define VA_V(x) (*x) +#endif + +typedef void (*Fmt_T)(int code, VALIST ap, int put(int c, void *cl), void *cl, unsigned int flags[256], int width, int precision); From ableasby at hgmp.mrc.ac.uk Mon Sep 18 22:47:23 2000 From: ableasby at hgmp.mrc.ac.uk (ableasby at hgmp.mrc.ac.uk) Date: Mon, 18 Sep 2000 23:47:23 +0100 (BST) Subject: EMBOSS 1.5.3 Message-ID: <200009182247.XAA29252@tin.hgmp.mrc.ac.uk> This incorporates the linuxppc modifications from Michael Schmitz. Alan From david.martin at biotek.uio.no Tue Sep 19 16:28:00 2000 From: david.martin at biotek.uio.no (David Martin) Date: Tue, 19 Sep 2000 17:28:00 +0100 Subject: Installing PISE - words for the wary.. Message-ID: A few extra notes for installing PISE in addition to those that come with the package.. If you have a new version of rxp you need to remove the -e flag in Makefile.in. If you have Perl with a funny name or in a funny place you should set PERL to the path to the Perl executable, and if the name is not 'perl' (ie 'perl5' or similar) then you will have to change all 'perl' to the correct name in Makefile.in. Then you can configure and make. regards ..d --------------------------------------------------------------------- * Dr. David Martin Biotechnology Centre of Oslo * * Node Manager Gaustadalleen 21 * * The Norwegian EMBNet Node P.O. box 1125 Blindern * * tel +47 22 95 87 56 N-0317 Oslo * * fax +47 22 69 41 30 Norway * --------------------------------------------------------------------- From letondal at pasteur.fr Tue Sep 19 17:28:02 2000 From: letondal at pasteur.fr (Catherine Letondal) Date: Tue, 19 Sep 2000 19:28:02 +0200 Subject: Installing PISE - words for the wary.. In-Reply-To: Your message of "Tue, 19 Sep 2000 17:28:00 BST." Message-ID: <200009191728.e8JHS2B30784@nefertiti.pasteur.fr> David Martin writes: > > A few extra notes for installing PISE in addition to those that come > with the package.. David: why don't you use the pise-users at pasteur.fr mailing list for discussions about Pise? (or the pise at pasteur.fr address) > > If you have a new version of rxp you need to remove the -e flag in > Makefile.in. > > If you have Perl with a funny name or in a funny place you should set PERL > to the path to the Perl executable, and if the name is not 'perl' (ie > 'perl5' or similar) then you will have to change all 'perl' to the correct > name in Makefile.in. The perl5 problem is now fixed: I have updated the aclocal.m4 configuration file. Now, if perl or perl5 is not in your current PATH, you can call configure this way: PERL=/path/to/perl ./configure --prefix=/path/to/Pise (thanks to Nicolas Joly for helping!) The rxp problem is more tricky. I think we will solve it by upgrading our local version! BTW, the last distribution contains a small fix for sequence format conversion and a new XML file for program rnaga (ftp://ftp.ncifcrf.gov/pub/users/chen/, Prediction of common secondary structures of RNAs by genetic algorithm). > > Then you can configure and make. > > regards > > ..d > > --------------------------------------------------------------------- > * Dr. David Martin Biotechnology Centre of Oslo * > * Node Manager Gaustadalleen 21 * > * The Norwegian EMBNet Node P.O. box 1125 Blindern * > * tel +47 22 95 87 56 N-0317 Oslo * > * fax +47 22 69 41 30 Norway * > --------------------------------------------------------------------- > > -- Catherine Letondal -- Pasteur Institute Computing Center From tsvikag at helix.nih.gov Wed Sep 20 00:45:31 2000 From: tsvikag at helix.nih.gov (Tsvika Greener) Date: Tue, 19 Sep 2000 20:45:31 -0400 Subject: CD with precompiled EMBOSS (binaries) Message-ID: <39C808AB.33B0AB64@helix.nih.gov> Hi all, 1. I would like to run EMBOOS on my caldera Linux box (eDesktop2.4) that support rpm packaging. I read in EMBOSS manual that a CD with a pre-compiled EMBOSS is available. I would like to know from where I can get this CD? I do not mind to use Red Hat or SuSe for that reason. 2. Also, I would like to know how much space EMBOSS takes after compilation not including the Data base files. Is there any hardware limitation regarding EMBOSS? I would like to know if 250 MB RAM and PII-400 MHZ are enough? 3. Finally, I would like to know if EMBOSS have or will have an X-windows interface like GCG (seqLab). I know that GCG are making Linux version for seqLab (it is alfa version now). Thanks in advance for your help, Tsvika. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: tsvikag.vcf Type: text/x-vcard Size: 312 bytes Desc: Card for Tsvika Greener URL: From bauer at genprofile.com Wed Sep 20 07:28:20 2000 From: bauer at genprofile.com (David Bauer) Date: Wed, 20 Sep 2000 09:28:20 +0200 Subject: CD with precompiled EMBOSS (binaries) References: <39C808AB.33B0AB64@helix.nih.gov> Message-ID: <39C86714.F11CF60E@genprofile.com> Tsvika Greener wrote: > > Hi all, > > 1. I would like to run EMBOOS on my caldera Linux box (eDesktop2.4) that support rpm packaging. I read in EMBOSS manual that a > CD with a pre-compiled EMBOSS is available. I would like to know from where I can get this CD? I do not mind to use Red Hat or > SuSe for that reason. Why do you want the binary version? I'm using EMBOSS on FreeBSD and as there is also no binary version. I just recompile it from source. I don't think it is more complicated then installing a rpm package. EMBOSS is updated frequently, so from the ftp server you can always get the latest version. > 2. Also, I would like to know how much space EMBOSS takes after compilation not including the Data base files. Is there any > hardware limitation regarding EMBOSS? I would like to know if 250 MB RAM and PII-400 MHZ are enough? The complete source tree (incl. docs) after compilation is about 35Mb. I have a copy on my PC at home and that is a Celeron 400 with 96Mb RAM so you should have no trouble with your configuration. (In fact I have EMBOSS also on my very ancient laptop which is a 486/66). > > 3. Finally, I would like to know if EMBOSS have or will have an X-windows interface like GCG (seqLab). I know that GCG are > making Linux version for seqLab (it is alfa version now). Same question from me to the EMBOSS team. -- David. From ableasby at hgmp.mrc.ac.uk Wed Sep 20 09:17:57 2000 From: ableasby at hgmp.mrc.ac.uk (ableasby at hgmp.mrc.ac.uk) Date: Wed, 20 Sep 2000 10:17:57 +0100 (BST) Subject: CD with precompiled EMBOSS (binaries) Message-ID: <200009200917.KAA25311@tin.hgmp.mrc.ac.uk> SuSE and RedHat have been contacted. It is up to them whether they wish to distribute EMBOSS. I will let this list know of any positive responses. The GUI from the STADEN group is nearing completion. Only BANANA, LINDNA, CIRDNA and PRETTYPLOT need conversion now and are being worked on. The gui will probably be released before they are done (first release). It would be more accurate to say that the gui is done but EMBOSS is still being incorporated into it. The gui is effectively the STADEN nip4/sip4 programs. As such you will have to ask them for it which, for academics, means signing a licence agreement and then you get the software free. Do not plague them with enquiries yet though. I'll inform this group when it is available and whom to contact. Alan From mlahtela at csc.fi Wed Sep 20 10:58:28 2000 From: mlahtela at csc.fi (Maija Lahtela) Date: Wed, 20 Sep 2000 13:58:28 +0300 Subject: How to configure database file in EMBOSS ? Message-ID: Dear EMBOSS users, I am novice using EMBOSS and I would like to ask few very simple question as setting emboss for use. I have problem how to configure database-files locally for EMBOSS. As we wanted indes gcg format databases we used dbigcg to do it. It ganerates files: acnum.hit, acnum.trg, division.lkp and entrynam.id. I was not sure where to place these files and in which directory I should have .embossrc. As I listed databases with showdb it only includes files from emboss.default-file. Yours, Maija Lahtela-Kakkonen ***************************************************** Maija Lahtela-Kakkonen, Researcher CSC-Scientific Computing Tekniikantie 15 a D, P.O.Box 405 FIN-02101 ESPOO FINLAND TEL 358-9-4572079 /050-3819506, FAX 358-9-4572302 E-MAIL mlahtela at csc.fi, Internet:www.csc.fi **************************************************** From tsvikag at helix.nih.gov Wed Sep 20 17:33:12 2000 From: tsvikag at helix.nih.gov (Tsvika) Date: Wed, 20 Sep 2000 13:33:12 -0400 Subject: Is any one from the NIH using EMBOOS? Message-ID: <39C8F4D8.21E1A4@helix.nih.gov> Hi, I would like to know if anyone at the NIH (Bethesda, Maryland) or in the immediateneighborhood (Maryland, Virginia or Washington DC) is currently using or intend to use EMBOOS? Tsvika. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: tsvikag.vcf Type: text/x-vcard Size: 306 bytes Desc: Card for Tsvika URL: From ableasby at hgmp.mrc.ac.uk Thu Sep 28 23:00:15 2000 From: ableasby at hgmp.mrc.ac.uk (ableasby at hgmp.mrc.ac.uk) Date: Fri, 29 Sep 2000 00:00:15 +0100 (BST) Subject: EMBOSS 1.5.5 Message-ID: <200009282300.AAA03638@bromine.hgmp.mrc.ac.uk> GenBank, formatted by GCG had its accession numbers ignored by dbigcg. Other dbigcg'd databases were unaffected. If you have a GCG'd GenBank then re-run dbigcg on it after installing this release. Terminating asterisk wildcard accession number queries are now implemented for indexed databases. E.g. seqret "embl-acc:v0030*" is now a valid query. A crackdown on unused variables and memory leaks i.e. general code spring-cleaning for new software/applications done. Alan From ableasby at hgmp.mrc.ac.uk Fri Sep 29 11:41:18 2000 From: ableasby at hgmp.mrc.ac.uk (ableasby at hgmp.mrc.ac.uk) Date: Fri, 29 Sep 2000 12:41:18 +0100 (BST) Subject: EMBOSS 1.5.5 again Message-ID: <200009291141.MAA24126@bromine.hgmp.mrc.ac.uk> A corrected version of 1.5.5 has been placed on the servers. This (only) fixes a problem with wildard retrieval from GenBank for indexed databases. No need to reinstall if you don't use GenBank at your site (for EMBOSS). Alan