[med-svn] [SCM] emboss branch, master, updated. debian/6.3.1-6-30-g653784d
Andreas Tille
tille at debian.org
Tue Jun 19 12:02:53 UTC 2012
The following commit has been merged in the master branch:
commit 45e0ccd29d19dba423b6093e1cbc3f45c3b72c6a
Author: Andreas Tille <tille at debian.org>
Date: Tue Jun 19 11:52:10 2012 +0200
General updates: Standards-Version; source/format 3.0 (quilt); remove article from short description; updated patches using quilt push; quilt refresh
diff --git a/debian/changelog b/debian/changelog
index eb735a6..0d96beb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -10,6 +10,12 @@ emboss (6.4.0-1) UNRELEASED; urgency=low
* debian/rules:
- Make sure every binary package has a changelog file
- enable hardening
+ * debian/control:
+ - remove article from description
+ - Standards-Version: 3.9.3 (no changes needed)
+ * debian/source/format: 3.0 (quilt)
+ * debian/{control,rules}: No point to explicitely mention quilt when
+ using debian/source format 3.0 (quilt)
-- Charles Plessy <plessy at debian.org> Wed, 20 Jul 2011 13:22:15 +0900
diff --git a/debian/control b/debian/control
index b5eca32..e0cc851 100644
--- a/debian/control
+++ b/debian/control
@@ -3,14 +3,16 @@ Section: science
Priority: optional
Maintainer: Debian Med Packaging Team <debian-med-packaging at lists.alioth.debian.org>
DM-Upload-Allowed: yes
-Uploaders: Charles Plessy <plessy at debian.org>, Nelson A. de Oliveira <naoliv at debian.org>
-Build-Depends: debhelper (>= 9), quilt, libx11-dev, x11proto-core-dev, libgdchart-gd2-xpm-dev, zlib1g-dev, libpng-dev, libexpat1-dev, libhpdf-dev, libmysqlclient-dev, libpq-dev, antiword, sharutils, autotools-dev, tcsh | csh | c-shell,
+Uploaders: Charles Plessy <plessy at debian.org>,
+ Nelson A. de Oliveira <naoliv at debian.org>,
+ Andreas Tille <tille at debian.org>
+Build-Depends: debhelper (>= 9), libx11-dev, x11proto-core-dev, libgdchart-gd2-xpm-dev, zlib1g-dev, libpng-dev, libexpat1-dev, libhpdf-dev, libmysqlclient-dev, libpq-dev, antiword, sharutils, autotools-dev, tcsh | csh | c-shell,
# Needed until the following is solved: https://sourceforge.net/tracker/?func=detail&aid=3033326&group_id=93650&atid=605031
default-jdk
#Build-Depends-Indep: default-jdk
Vcs-Browser: http://git.debian.org/?p=debian-med/emboss.git
Vcs-Git: git://git.debian.org/git/debian-med/emboss.git
-Standards-Version: 3.9.2
+Standards-Version: 3.9.3
Homepage: http://emboss.sourceforge.net
Package: emboss
@@ -18,7 +20,7 @@ Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, emboss-lib (= ${binary:Version}), emboss-data (= ${source:Version})
Recommends: primer3, dialign
Suggests: emboss-doc, emboss-test, embassy, clustalw
-Description: the european molecular biology open software suite
+Description: european molecular biology open software suite
EMBOSS is a free Open Source software analysis package specially developed for
the needs of the molecular biology (e.g. EMBnet) user community. The software
automatically copes with data in a variety of formats and even allows
diff --git a/debian/patches/official-upstream-patch.patch b/debian/patches/official-upstream-patch.patch
index 47154dd..71f9945 100644
--- a/debian/patches/official-upstream-patch.patch
+++ b/debian/patches/official-upstream-patch.patch
@@ -164,7235 +164,5763 @@ Description: Official upstream patch.
for data resource internals. Without -debug there was no problem.
Origin: ftp://emboss.open-bio.org/pub/EMBOSS/fixes/patches/patch-1-21.gz
Forwarded: not-needed
-diff -c -N --recursive -a EMBOSS-6.4.0old/ajax/ajaxdb/ajtextdb.c EMBOSS-6.4.0/ajax/ajaxdb/ajtextdb.c
-*** EMBOSS-6.4.0old/ajax/ajaxdb/ajtextdb.c 2011-07-06 17:09:36.000000000 +0100
---- EMBOSS-6.4.0/ajax/ajaxdb/ajtextdb.c 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 2580,2588 ****
- {
- field = ajListIterGet(iter);
-
-! if(!nfields)
-! ajStrAppendK(&textin->Filename, '+');
-! else
- {
- switch(field->Link)
- {
---- 2580,2586 ----
- {
- field = ajListIterGet(iter);
-
-! if(nfields)
- {
- switch(field->Link)
- {
-***************
-*** 2684,2692 ****
- {
- field = ajListIterGet(iter);
-
-! if(!nfields)
-! ajStrAppendK(&textin->Filename, '+');
-! else
- {
- switch(field->Link)
- {
---- 2682,2688 ----
- {
- field = ajListIterGet(iter);
-
-! if(nfields)
- {
- switch(field->Link)
- {
-diff -c -N --recursive -a EMBOSS-6.4.0old/ajax/core/ajarch.h EMBOSS-6.4.0/ajax/core/ajarch.h
-*** EMBOSS-6.4.0old/ajax/core/ajarch.h 2011-06-08 11:35:28.000000000 +0100
---- EMBOSS-6.4.0/ajax/core/ajarch.h 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 137,143 ****
-
- #ifdef WIN32
- typedef int ajint;
-! typedef long ajlong; /* May need to make this long long. */
- typedef unsigned int ajuint;
- typedef short ajshort;
- typedef unsigned short ajushort;
---- 137,143 ----
-
- #ifdef WIN32
- typedef int ajint;
-! typedef long long ajlong;
- typedef unsigned int ajuint;
- typedef short ajshort;
- typedef unsigned short ajushort;
-***************
-*** 159,162 ****
- AJ_END_DECLS
-
- #endif
--
---- 159,161 ----
-diff -c -N --recursive -a EMBOSS-6.4.0old/ajax/core/ajfeatread.c EMBOSS-6.4.0/ajax/core/ajfeatread.c
-*** EMBOSS-6.4.0old/ajax/core/ajfeatread.c 2011-07-07 17:37:21.000000000 +0100
---- EMBOSS-6.4.0/ajax/core/ajfeatread.c 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 3035,3041 ****
- AjPStr TvString = NULL;
- AjPStr tmptag = NULL;
- AjBool grpset = ajFalse;
-!
- /*ajDebug("featGff3oldProcessTagval '%S'\n",
- groupfield); */
-
---- 3035,3042 ----
- AjPStr TvString = NULL;
- AjPStr tmptag = NULL;
- AjBool grpset = ajFalse;
-! AjBool escapedquote = ajFalse;
-!
- /*ajDebug("featGff3oldProcessTagval '%S'\n",
- groupfield); */
-
-***************
-*** 3050,3061 ****
---- 3051,3069 ----
- */
-
- ajStrAssignS(&TvString, groupfield);
-+ if(ajStrFindC(TvString, "\\\"") >= 0)
-+ {
-+ escapedquote = ajTrue;
-+ ajStrExchangeCC(&TvString, "\\\"", "\001");
-+ }
-+
- while(ajStrGetLen(TvString))
- {
- if(ajRegExec(Gff3oldRegexTvTagval, TvString))
- {
- ajRegSubI(Gff3oldRegexTvTagval, 1, &tmptag);
- ajRegSubI(Gff3oldRegexTvTagval, 2, &featinValTmp);
-+
- ajStrTrimWhite(&featinValTmp);
- /*ajDebug("Gff3Tv '%S' '%S'\n", tmptag, featinValTmp);*/
- ajRegPost(Gff3oldRegexTvTagval, &TvString);
-***************
-*** 3076,3081 ****
---- 3084,3091 ----
- featFlagSet(gf, featinValTmp);
- else
- {
-+ if(escapedquote)
-+ ajStrExchangeCC(&featinValTmp, "\001", "\"");
- /*ajDebug("GFF3 before QuoteStrip: '%S'\n", featinValTmp);*/
- ajStrQuoteStrip(&featinValTmp);
- /*ajDebug(" GFF3 after QuoteStrip: '%S'\n", featinValTmp);*/
-***************
-*** 5896,5903 ****
- Gff3Regexdirective = ajRegCompC("^##(.*)");
- Gff3Regexcomment = ajRegCompC("^#(.*)");
- Gff3RegexTvTagval = ajRegCompC(" *([^ =]+)[ =]([^;]+)*(;|$)"); /* "tag name */
-! Gff3oldRegexTvTagval = ajRegCompC(" *([^ =]+)[ =]((\"(\\.|[^\\\"])*\"|"
-! "[^;]+)*)(;|$)"); /* "tag name */
-
- FeatInitGff3 = ajTrue;
-
---- 5906,5913 ----
- Gff3Regexdirective = ajRegCompC("^##(.*)");
- Gff3Regexcomment = ajRegCompC("^#(.*)");
- Gff3RegexTvTagval = ajRegCompC(" *([^ =]+)[ =]([^;]+)*(;|$)"); /* "tag name */
-! Gff3oldRegexTvTagval = ajRegCompC(" *([^ =]+)[ =](\"[^\"]*\"|"
-! "[^;]+)(;|$)"); /* "tag name */
-
- FeatInitGff3 = ajTrue;
-
-diff -c -N --recursive -a EMBOSS-6.4.0old/ajax/core/ajfeatwrite.c EMBOSS-6.4.0/ajax/core/ajfeatwrite.c
-*** EMBOSS-6.4.0old/ajax/core/ajfeatwrite.c 2011-06-23 11:56:06.000000000 +0100
---- EMBOSS-6.4.0/ajax/core/ajfeatwrite.c 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 4134,4140 ****
- tmpid = owner->Seqid;
-
- if(thys->Score)
-! ajFmtPrintF(file, "%S\t%S\t%S\t%d\t%d\t%.3f\t%c\t%c\t",
- tmpid,
- thys->Source,
- outtyp,
---- 4134,4140 ----
- tmpid = owner->Seqid;
-
- if(thys->Score)
-! ajFmtPrintF(file, "%S\t%S\t%S\t%d\t%d\t%.3g\t%c\t%c\t",
- tmpid,
- thys->Source,
- outtyp,
-***************
-*** 4215,4220 ****
---- 4215,4221 ----
- while(!ajListIterDone(iter))
- {
- tv = ajListIterGet(iter);
-+ ajStrFmtLower(&tv->Tag);
- outtag = tv->Tag;
-
- if(!outtag)
-diff -c -N --recursive -a EMBOSS-6.4.0old/ajax/core/ajfmt.c EMBOSS-6.4.0/ajax/core/ajfmt.c
-*** EMBOSS-6.4.0old/ajax/core/ajfmt.c 2011-05-16 11:31:26.000000000 +0100
---- EMBOSS-6.4.0/ajax/core/ajfmt.c 2011-09-05 12:24:01.000000000 +0100
-***************
-*** 50,55 ****
---- 50,65 ----
- #include "ajax.h"
-
-
-+ #define EVF_PERCENT 1
-+ #define EVF_NOCON 2
-+ #define EVF_LONG 4
-+ #define EVF_AJLONG 8
-+ #define EVF_UNSIGNED 16
-+ #define EVF_NEGATE 32
-+
-+ #define EVF_BUF 128
-+
-+
- typedef void (*Fmt_T) (ajint code, VALIST ap,
- int put(int c, void *cl), void *cl,
- const ajuint* flags, ajint width, ajint precision);
-***************
-*** 148,153 ****
---- 158,165 ----
- static void cvt_u(ajint code, VALIST ap, int put(int c, void* cl), void* cl,
- const ajuint* flags, ajint width, ajint precision);
-
-+ static ajint evfscanf(FILE *stream, const char *fmt, va_list ap);
-+
-
-
-
-***************
-*** 2290,2296 ****
- __va_copy(save_ap,ap);
- #endif
-
-! n = fscanf(file,fmt,ap);
-
- #if defined(__amd64__) || defined(__EM64T__) || \
- defined(__PPC__) && defined(_CALL_SYSV)
---- 2302,2308 ----
- __va_copy(save_ap,ap);
- #endif
-
-! n = evfscanf(file,fmt,ap);
-
- #if defined(__amd64__) || defined(__EM64T__) || \
- defined(__PPC__) && defined(_CALL_SYSV)
-***************
-*** 2306,2311 ****
---- 2318,2836 ----
-
-
-
-+ /* @funcstatic evfscanf *******************************************************
-+ **
-+ ** EMBOSS version of C99 vfscanf() including %S conversion
-+ **
-+ ** @param [r] stream [FILE*] file pointer.
-+ ** @param [r] fmt [const char*] Format string.
-+ ** @param [v] ap [va_list] Variable length argument list
-+ ** @return [ajint] number of successful conversions
-+ **
-+ ** @release 6.4.0
-+ ** @@
-+ ******************************************************************************/
-+
-+ static ajint evfscanf(FILE *stream, const char *fmt, va_list ap)
-+ {
-+ char fch = '\0';
-+ int ipc = 0;
-+ int tpc = 0;
-+
-+ ajuint uflags = 0;
-+ ajint nconv = 0;
-+ ajint width = 0;
-+ AjBool fin = ajFalse;
-+ AjBool idone = ajFalse;
-+
-+ ajulong sum = 0L;
-+
-+ ajuint nread = 0;
-+ ajint ret = EOF;
-+ ajint base = 10;
-+
-+ char *p = NULL;
-+ char fchars[] = "0123456789Ee.";
-+
-+ char buf[EVF_BUF];
-+
-+ AjPStr *str = NULL;
-+
-+ union
-+ {
-+ ajlong L;
-+ long l;
-+ unsigned long ul;
-+ ajulong uL;
-+ ajint i;
-+ ajuint u;
-+ char *c;
-+ double d;
-+ } val;
-+
-+
-+ if(feof(stream))
-+ return EOF;
-+
-+ val.ul = 0L;
-+
-+ while((fch = *fmt))
-+ {
-+ ++fmt;
-+
-+
-+ if(uflags & EVF_PERCENT)
-+ {
-+ /* If %% has been given then do a simple match */
-+ if(fch == '%')
-+ {
-+ uflags &= ~EVF_PERCENT;
-+
-+ if((ipc = getc(stream)) == EOF)
-+ break;
-+
-+ ++sum;
-+
-+ if(ipc != (int) fch)
-+ break;
-+
-+ continue;
-+ }
-+
-+ /* Now in the realm of format specifiers */
-+ /* First test for any width */
-+
-+ if(fch >= '0' && fch <= '0')
-+ {
-+ fch -= '0';
-+
-+ if(width == INT_MAX)
-+ width = 0;
-+ else
-+ width *= 10;
-+
-+ width += (ajint) fch;
-+
-+ continue;
-+ }
-+
-+ if((char) fch != 'S')
-+ fch = tolower(fch);
-+
-+ switch(fch)
-+ {
-+ case '*':
-+ uflags |= EVF_NOCON;
-+ continue;
-+
-+ case 'n':
-+ if(!(uflags & EVF_NOCON))
-+ *(va_arg(ap, ajint *)) = (ajint) sum;
-+
-+ break;
-+
-+ case 'c':
-+ if(!(uflags & EVF_NOCON))
-+ val.c = va_arg(ap, char *);
-+
-+ if(width == INT_MAX)
-+ width = 1;
-+
-+ while(width-- > 0)
-+ {
-+ if((ipc = getc(stream)) == EOF)
-+ {
-+ fin = ajTrue;
-+ break;
-+ }
-+
-+ ++nread;
-+
-+ if(!(uflags & EVF_NOCON))
-+ *val.c++ = (char) ipc;
-+ }
-+
-+ break;
-+
-+ case 'h': /* ANSI C converts shorts to ints */
-+ continue;
-+
-+ case 'l':
-+ uflags |= EVF_LONG;
-+ continue;
-+
-+ case 'L':
-+ uflags |= EVF_AJLONG;
-+ continue;
-+
-+ case 's':
-+ if(!(uflags & EVF_NOCON))
-+ val.c = va_arg(ap, char *);
-+
-+ do
-+ {
-+ ipc = getc(stream);
-+ ++sum;
-+ } while(isspace(ipc));
-+
-+ if(ipc == EOF)
-+ {
-+ fin = ajTrue;
-+ break;
-+ }
-+
-+ while(width-- > 0)
-+ {
-+ if(isspace(ipc))
-+ {
-+ ungetc(ipc, stream);
-+ --sum;
-+ break;
-+ }
-+
-+ if(!(uflags & EVF_NOCON))
-+ *val.c++ = (char) ipc;
-+
-+ if((ipc = getc(stream)) == EOF)
-+ break;
-+
-+ ++nread;
-+ }
-+
-+ if(!(uflags & EVF_NOCON))
-+ *val.c = '\0';
-+
-+ break;
-+
-+ case 'S':
-+ if(!(uflags & EVF_NOCON))
-+ {
-+ str = (AjPStr *) va_arg(ap, AjPStr *);
-+ ajStrAssignC(str,"");
-+ }
-+
-+ do
-+ {
-+ ipc = getc(stream);
-+ ++sum;
-+ } while(isspace(ipc));
-+
-+ if(ipc == EOF)
-+ {
-+ fin = ajTrue;
-+ break;
-+ }
-+
-+ while(width-- > 0)
-+ {
-+ if(isspace(ipc))
-+ {
-+ ungetc(ipc, stream);
-+ --sum;
-+ break;
-+ }
-+
-+ if(!(uflags & EVF_NOCON))
-+ ajStrAppendK(str, (char) ipc);
-+
-+ if((ipc = getc(stream)) == EOF)
-+ break;
-+
-+ ++nread;
-+ }
-+
-+ break;
-+
-+ case 'o':
-+ base = 8;
-+ /* Fallthrough */
-+ case 'x':
-+ if(base == 10) /* To protect fallthrough from octal */
-+ base = 16;
-+ /* Fallthrough */
-+ case 'u':
-+ uflags |= EVF_UNSIGNED;
-+ /* Fallthrough */
-+ case 'd':
-+ case 'i':
-+ do
-+ {
-+ ipc = getc(stream);
-+ ++sum;
-+ } while(isspace(ipc));
-+
-+ if(ipc == EOF)
-+ {
-+ fin = ajTrue;
-+ break;
-+ }
-+
-+ if((char) ipc == '+' || (char) ipc == '-')
-+ {
-+ if(--width <= 0)
-+ {
-+ fin = ajTrue;
-+ break;
-+ }
-+
-+ if((char) ipc == '-')
-+ uflags |= EVF_NEGATE;
-+
-+ if((ipc = getc(stream)) == EOF)
-+ {
-+ fin = ajTrue;
-+ break;
-+ }
-+
-+ ++sum;
-+ }
-+
-+ idone = ajFalse;
-+ val.uL = 0;
-+
-+ if((char) ipc == '0')
-+ {
-+ if(--width <= 0)
-+ idone = ajTrue;
-+
-+ if(!idone)
-+ if((ipc = getc(stream)) == EOF)
-+ idone = ajTrue;
-+
-+ if((char) tolower(ipc) == 'x' && !idone)
-+ {
-+ if(fch == 'o' || fch == 'd' || fch == 'u')
-+ {
-+ /* Invalid 0x */
-+ ungetc(ipc, stream);
-+ idone = ajTrue;
-+ }
-+
-+ if(!idone)
-+ base = 16;
-+
-+ if(!idone)
-+ {
-+ if((ipc = getc(stream)) == EOF)
-+ idone = ajTrue;
-+ else
-+ ++sum;
-+ }
-+ }
-+ else if(fch == 'i' && !idone)
-+ base = 8;
-+ }
-+
-+ ++nread;
-+
-+ for(;!idone;)
-+ {
-+ tpc = tolower(ipc);
-+
-+ tpc -= '0';
-+
-+ if(tpc > 9)
-+ {
-+ tpc += '0';
-+ tpc -= 'a';
-+
-+ if(tpc >= 0)
-+ tpc += 10;
-+ }
-+
-+ if(tpc < 0 || tpc >= base)
-+ {
-+ ungetc(ipc, stream);
-+ --nread;
-+ break;
-+ }
-+
-+ val.uL *= base;
-+ val.uL += tpc;
-+
-+ if(--width <= 0)
-+ break;
-+
-+ if((ipc = getc(stream)) == EOF)
-+ break;
-+
-+ ++nread;
-+ }
-+
-+ if((uflags & EVF_NEGATE) && !idone)
-+ val.L = -val.L;
-+
-+ if(!(uflags & EVF_NOCON))
-+ {
-+ if((uflags & (EVF_UNSIGNED | EVF_AJLONG)) ==
-+ (EVF_UNSIGNED | EVF_AJLONG))
-+ *(va_arg(ap, ajulong *)) = val.uL;
-+ else if(uflags & (EVF_AJLONG))
-+ *(va_arg(ap, ajlong *)) = val.L;
-+ else if((uflags & (EVF_UNSIGNED | EVF_LONG)) ==
-+ (EVF_UNSIGNED | EVF_LONG))
-+ *(va_arg(ap, unsigned long *)) = val.ul;
-+ else if(uflags & (EVF_LONG))
-+ *(va_arg(ap, long *)) = val.l;
-+ else if(uflags & (EVF_UNSIGNED))
-+ *(va_arg(ap, ajuint *)) = val.u;
-+ else
-+ *(va_arg(ap, ajint *)) = val.i;
-+ }
-+
-+ break;
-+
-+ case 'e':
-+ case 'f':
-+ case 'g':
-+ do
-+ {
-+ ipc = getc(stream);
-+ ++sum;
-+ } while(isspace(ipc));
-+
-+ if(ipc == EOF)
-+ {
-+ --sum;
-+ fin = ajTrue;
-+ break;
-+ }
-+
-+ if((char) ipc == '+' || (char) ipc == '-')
-+ {
-+ if((char) ipc == '-')
-+ uflags |= EVF_NEGATE;
-+
-+ if((ipc = getc(stream)) == EOF)
-+ {
-+ fin = ajTrue;
-+ break;
-+ }
-+
-+ ++sum;
-+ }
-+
-+ val.d = 0.0;
-+
-+ ++nread;
-+
-+ for(p = buf; p < buf + EVF_BUF - 1 && width >0; --width)
-+ {
-+ if(!strchr(fchars, ipc))
-+ {
-+ ungetc(ipc, stream);
-+ --nread;
-+ break;
-+ }
-+
-+ if((char) ipc == 'e' || (char) ipc == 'E')
-+ {
-+ fchars[10] = '\0';
-+ *p++ = (char) ipc;
-+
-+ if((ipc = getc(stream)) == EOF)
-+ break;
-+
-+ ++nread;
-+
-+ if((char) ipc != '+' && (char) ipc != '-')
-+ continue;
-+ }
-+ else if((char) ipc == '.')
-+ fchars[12] = '\0';
-+
-+ *p++ = (char) ipc;
-+
-+ if((ipc = getc(stream)) == EOF)
-+ break;
-+
-+ ++nread;
-+ }
-+
-+ *p++ = '\0';
-+
-+ val.d = strtod(buf, 0);
-+
-+ if(uflags & EVF_NEGATE)
-+ val.d = -val.d;
-+
-+ fchars[10] = 'E';
-+ fchars[12] = '.';
-+
-+ *(va_arg(ap, double *)) = val.d;
-+
-+ break;
-+ }
-+
-+ if(fin)
-+ break;
-+
-+ if(nread)
-+ {
-+ if(!(uflags & EVF_NOCON))
-+ ++nconv;
-+
-+ ret = 0;
-+ sum += nread;
-+ }
-+ else if(fch != 'n' || ipc == EOF)
-+ break;
-+
-+ uflags = 0;
-+ }
-+ else if(fch == '%')
-+ {
-+ uflags = EVF_PERCENT;
-+ base = 10;
-+ nread = 0;
-+ width = INT_MAX;
-+ }
-+ else if(isspace(fch))
-+ {
-+ do
-+ {
-+ ipc = getc(stream);
-+ ++sum;
-+ } while(isspace(ipc));
-+
-+ --sum;
-+
-+ if(ipc == EOF)
-+ break;
-+
-+ ungetc(ipc, stream);
-+ }
-+ else
-+ {
-+ if((ipc = getc(stream)) == EOF)
-+ break;
-+
-+ ++sum;
-+
-+ if(ipc != (int) fch)
-+ break;
-+ }
-+
-+ }
-+
-+ if((uflags & EVF_PERCENT) && nread)
-+ {
-+ if(!(uflags & EVF_NOCON))
-+ ++nconv;
-+
-+ ret = 0;
-+ }
-+
-+ if(ipc == EOF && nconv == 0)
-+ return ret;
-+
-+
-+ return nconv;
-+ }
-+
-+
-+
-+
- /* @funcstatic fmtVscan *******************************************************
- **
- ** Scan a string according to fmt and load the va_list variable pointers
-diff -c -N --recursive -a EMBOSS-6.4.0old/ajax/core/ajnam.c EMBOSS-6.4.0/ajax/core/ajnam.c
-*** EMBOSS-6.4.0old/ajax/core/ajnam.c 2011-07-15 08:15:37.000000000 +0100
---- EMBOSS-6.4.0/ajax/core/ajnam.c 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 8172,8177 ****
---- 8172,8181 ----
- AjBool hasmethod = ajFalse;
- AjBool hastype = ajFalse;
- AjPStr name = NULL;
-+ AjPStr token = NULL;
-+ AjPStr typetoken = NULL;
-+ AjPStrTok handle = NULL;
-+ AjPStrTok typehandle = NULL;
- const AjPStr value = NULL;
- const AjPStr dbtype = NULL;
-
-***************
-*** 8202,8210 ****
- {
- hasformat=ajTrue;
-
-! if(!namInformatTest(value, dbtype)) /* test: dbunknowns.rc */
-! namError("Database '%S' %S: '%S' unknown",
-! entry->name, name, value);
- }
-
- if(ajStrPrefixC(name, "method"))
---- 8206,8227 ----
- {
- hasformat=ajTrue;
-
-! ok = ajFalse;
-! ajStrTokenAssignC(&typehandle, dbtype, " ,;");
-! ajStrTokenAssignC(&handle, value, " ,;");
-!
-! while(ajStrTokenNextParse(&typehandle, &typetoken))
-! {
-! while(ajStrTokenNextParse(&handle, &token))
-! {
-! if(namInformatTest(token, typetoken))
-! ok = ajTrue;
-! }
-! }
-!
-! if(!ok) /* test: dbunknowns.rc */
-! namError("Database '%S' %S: '%S' unknown",
-! entry->name, name, value);
- }
-
- if(ajStrPrefixC(name, "method"))
-***************
-*** 8221,8229 ****
- hastype=ajTrue;
- oktype = ajFalse;
-
-! for(k=0; namDbTypes[k].Name; k++)
-! if(ajStrMatchCaseC(value, namDbTypes[k].Name))
-! oktype = ajTrue;
-
- if(!oktype) /* test: dbunknowns.rc */
- namError("Database '%S' %S: '%S' unknown",
---- 8238,8250 ----
- hastype=ajTrue;
- oktype = ajFalse;
-
-! ajStrTokenAssignC(&typehandle, value, " ,;");
-! while(ajStrTokenNextParse(&typehandle, &typetoken))
-! {
-! for(k=0; namDbTypes[k].Name; k++)
-! if(ajStrMatchCaseC(typetoken, namDbTypes[k].Name))
-! oktype = ajTrue;
-! }
-
- if(!oktype) /* test: dbunknowns.rc */
- namError("Database '%S' %S: '%S' unknown",
-***************
-*** 8260,8265 ****
---- 8281,8290 ----
- }
-
- ajStrDel(&name);
-+ ajStrTokenDel(&handle);
-+ ajStrTokenDel(&typehandle);
-+ ajStrDel(&token);
-+ ajStrDel(&typetoken);
-
- return ok;
- }
-diff -c -N --recursive -a EMBOSS-6.4.0old/ajax/core/ajnexus.c EMBOSS-6.4.0/ajax/core/ajnexus.c
-*** EMBOSS-6.4.0old/ajax/core/ajnexus.c 2011-03-16 17:14:10.000000000 +0000
---- EMBOSS-6.4.0/ajax/core/ajnexus.c 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 2,24 ****
- ** @source AJAX nexus file parsing functions
- **
- ** @author Copyright (C) 2003 Peter Rice
-! ** @version 1.0
- ** @@
- **
- ** This library is free software; you can redistribute it and/or
-! ** modify it under the terms of the GNU Library General Public
- ** License as published by the Free Software Foundation; either
-! ** version 2 of the License, or (at your option) any later version.
- **
- ** This library is distributed in the hope that it will be useful,
- ** but WITHOUT ANY WARRANTY; without even the implied warranty of
- ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! ** Library General Public License for more details.
- **
-- ** You should have received a copy of the GNU Library General Public
-- ** License along with this library; if not, write to the
-- ** Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-- ** Boston, MA 02111-1307, USA.
- ******************************************************************************/
-
- #include "ajax.h"
---- 2,26 ----
- ** @source AJAX nexus file parsing functions
- **
- ** @author Copyright (C) 2003 Peter Rice
-! ** @version $Revision: 1.20 $
-! ** @modified $Date: 2011/08/09 12:03:22 $ by $Author: rice $
- ** @@
- **
- ** This library is free software; you can redistribute it and/or
-! ** modify it under the terms of the GNU Lesser General Public
- ** License as published by the Free Software Foundation; either
-! ** version 2.1 of the License, or (at your option) any later version.
- **
- ** This library is distributed in the hope that it will be useful,
- ** but WITHOUT ANY WARRANTY; without even the implied warranty of
- ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! ** Lesser General Public License for more details.
-! **
-! ** You should have received a copy of the GNU Lesser General Public
-! ** License along with this library; if not, write to the Free Software
-! ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-! ** MA 02110-1301, USA.
- **
- ******************************************************************************/
-
- #include "ajax.h"
-***************
-*** 152,157 ****
---- 154,161 ----
- **
- ** @param [u] buff [AjPFilebuff] Input buffered file
- ** @return [AjPNexus] Nexus data object
-+ **
-+ ** @release 2.8.0
- ** @@
- ******************************************************************************/
-
-***************
-*** 197,202 ****
---- 201,207 ----
- if(!ajStrPrefixCaseC(rdline, "#NEXUS"))
- { /* first line test */
- ajFilebuffReset(buff);
-+ ajStrDel(&rdline);
-
- return NULL;
- }
-***************
-*** 205,211 ****
---- 210,219 ----
-
- ok = ajBuffreadLine(buff, &rdline);
- if(!ok)
-+ {
-+ ajStrDel(&rdline);
- return NULL;
-+ }
-
- block = ajFalse;
- commentlevel = 0;
-***************
-*** 254,260 ****
---- 262,272 ----
- else if (block && ajRegExec(endexp, rdline)) /* end line */
- {
- if (!nexusBlockSave(ret, blocklist, blockname))
-+ {
-+ ajStrDel(&rdline);
-+ ajStrDel(&blockname);
- return NULL;
-+ }
-
- ajStrAssignClear(&blockname);
- block = ajFalse;
-***************
-*** 266,274 ****
- if (ajStrGetLen(rdline))
- {
- ajListstrPushAppend(blocklist, rdline);
- }
--
-- rdline = NULL;
- }
-
- ok = ajBuffreadLine(buff, &rdline);
---- 278,285 ----
- if (ajStrGetLen(rdline))
- {
- ajListstrPushAppend(blocklist, rdline);
-+ rdline = NULL;
- }
- }
-
- ok = ajBuffreadLine(buff, &rdline);
-***************
-*** 277,287 ****
- if (block)
- {
- ajDebug("ajNexusParse unclosed block '%S'\n", blockname);
-!
- return NULL;
- }
-
- ajNexusTrace(ret);
-
- return ret;
- }
---- 288,303 ----
- if (block)
- {
- ajDebug("ajNexusParse unclosed block '%S'\n", blockname);
-! ajStrDel(&rdline);
-! ajStrDel(&blockname);
- return NULL;
- }
-
- ajNexusTrace(ret);
-+ ajStrDel(&rdline);
-+ ajStrDel(&blockname);
-+
-+ ajListFree(&blocklist);
-
- return ret;
- }
-***************
-*** 295,300 ****
---- 311,318 ----
- **
- ** @return [AjPNexus] New AjPNexus object
- ** @category new [AjPNexus] Default constructor
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- AjPNexus ajNexusNew(void)
-***************
-*** 309,320 ****
-
-
-
-! /* @funcstatic nexusTaxaNew ***********************************************
- **
- ** Constructor for AjPNexusTaxa
- **
- ** @return [AjPNexusTaxa] New AjPNexusTaxa object
- ** @category new [AjPNexusTaxa] Default constructor
- ******************************************************************************/
-
- static AjPNexusTaxa nexusTaxaNew(void)
---- 327,340 ----
-
-
-
-! /* @funcstatic nexusTaxaNew ***************************************************
- **
- ** Constructor for AjPNexusTaxa
- **
- ** @return [AjPNexusTaxa] New AjPNexusTaxa object
- ** @category new [AjPNexusTaxa] Default constructor
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjPNexusTaxa nexusTaxaNew(void)
-***************
-*** 335,340 ****
---- 355,362 ----
- **
- ** @return [AjPNexusCharacters] New AjPNexusCharacters object
- ** @category new [AjPNexusCharacters] Default constructor
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjPNexusCharacters nexusCharactersNew(void)
-***************
-*** 363,368 ****
---- 385,392 ----
- **
- ** @return [AjPNexusUnaligned] New AjPNexusUnaligned object
- ** @category new [AjPNexusUnaligned] Default constructor
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjPNexusUnaligned nexusUnalignedNew(void)
-***************
-*** 389,394 ****
---- 413,420 ----
- **
- ** @return [AjPNexusDistances] New AjPNexusDistances object
- ** @category new [AjPNexusDistances] Default constructor
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjPNexusDistances nexusDistancesNew(void)
-***************
-*** 409,420 ****
-
-
-
-! /* @funcstatic nexusSetsNew ***********************************************
- **
- ** Constructor for AjPNexusSets
- **
- ** @return [AjPNexusSets] New AjPNexusSets object
- ** @category new [AjPNexusSets] Default constructor
- ******************************************************************************/
-
- static AjPNexusSets nexusSetsNew(void)
---- 435,448 ----
-
-
-
-! /* @funcstatic nexusSetsNew ***************************************************
- **
- ** Constructor for AjPNexusSets
- **
- ** @return [AjPNexusSets] New AjPNexusSets object
- ** @category new [AjPNexusSets] Default constructor
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjPNexusSets nexusSetsNew(void)
-***************
-*** 435,440 ****
---- 463,470 ----
- **
- ** @return [AjPNexusAssumptions] New AjPNexusAssumptions object
- ** @category new [AjPNexusAssumptions] Default constructor
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjPNexusAssumptions nexusAssumptionsNew(void)
-***************
-*** 452,463 ****
-
-
-
-! /* @funcstatic nexusCodonsNew ***********************************************
- **
- ** Constructor for AjPNexusCodons
- **
- ** @return [AjPNexusCodons] New AjPNexusCodons object
- ** @category new [AjPNexusCodons] Default constructor
- ******************************************************************************/
-
- static AjPNexusCodons nexusCodonsNew(void)
---- 482,495 ----
-
-
-
-! /* @funcstatic nexusCodonsNew *************************************************
- **
- ** Constructor for AjPNexusCodons
- **
- ** @return [AjPNexusCodons] New AjPNexusCodons object
- ** @category new [AjPNexusCodons] Default constructor
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjPNexusCodons nexusCodonsNew(void)
-***************
-*** 472,483 ****
-
-
-
-! /* @funcstatic nexusTreesNew ***********************************************
- **
- ** Constructor for AjPNexusTrees
- **
- ** @return [AjPNexusTrees] New AjPNexusTrees object
- ** @category new [AjPNexusTrees] Default constructor
- ******************************************************************************/
-
- static AjPNexusTrees nexusTreesNew(void)
---- 504,517 ----
-
-
-
-! /* @funcstatic nexusTreesNew **************************************************
- **
- ** Constructor for AjPNexusTrees
- **
- ** @return [AjPNexusTrees] New AjPNexusTrees object
- ** @category new [AjPNexusTrees] Default constructor
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjPNexusTrees nexusTreesNew(void)
-***************
-*** 492,503 ****
-
-
-
-! /* @funcstatic nexusNotesNew ***********************************************
- **
- ** Constructor for AjPNexusNotes
- **
- ** @return [AjPNexusNotes] New AjPNexusNotes object
- ** @category new [AjPNexusNotes] Default constructor
- ******************************************************************************/
-
- static AjPNexusNotes nexusNotesNew(void)
---- 526,539 ----
-
-
-
-! /* @funcstatic nexusNotesNew **************************************************
- **
- ** Constructor for AjPNexusNotes
- **
- ** @return [AjPNexusNotes] New AjPNexusNotes object
- ** @category new [AjPNexusNotes] Default constructor
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjPNexusNotes nexusNotesNew(void)
-***************
-*** 519,524 ****
---- 555,562 ----
- ** @param [d] pthys [AjPNexus*] AjPNexus object
- ** @return [void]
- ** @category delete [AjPNexus] Default destructor
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- void ajNexusDel(AjPNexus* pthys)
-***************
-*** 553,558 ****
---- 591,598 ----
- ** @param [d] pthys [AjPNexusTaxa*] AjPNexusTaxa object
- ** @return [void]
- ** @category delete [AjPNexusTaxa] Default destructor
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static void nexusTaxaDel(AjPNexusTaxa* pthys)
-***************
-*** 579,584 ****
---- 619,626 ----
- ** @param [d] pthys [AjPNexusCharacters*] AjPNexusCharacters object
- ** @return [void]
- ** @category delete [AjPNexusCharacters] Default destructor
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static void nexusCharactersDel(AjPNexusCharacters* pthys)
-***************
-*** 618,623 ****
---- 660,667 ----
- ** @param [d] pthys [AjPNexusUnaligned*] AjPNexusUnaligned object
- ** @return [void]
- ** @category delete [AjPNexusUnaligned] Default destructor
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static void nexusUnalignedDel(AjPNexusUnaligned* pthys)
-***************
-*** 650,655 ****
---- 694,701 ----
- ** @param [d] pthys [AjPNexusDistances*] AjPNexusDistances object
- ** @return [void]
- ** @category delete [AjPNexusDistances] Default destructor
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static void nexusDistancesDel(AjPNexusDistances* pthys)
-***************
-*** 680,685 ****
---- 726,733 ----
- ** @param [d] pthys [AjPNexusSets*] AjPNexusSets object
- ** @return [void]
- ** @category delete [AjPNexusSets] Default destructor
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static void nexusSetsDel(AjPNexusSets* pthys)
-***************
-*** 715,720 ****
---- 763,770 ----
- ** @param [d] pthys [AjPNexusAssumptions*] AjPNexuAssumptionss object
- ** @return [void]
- ** @category delete [AjPNexusAssumptions] Default destructor
-+ **
-+ ** @release 2.9.0
- ******************************************************************************/
-
- static void nexusAssumptionsDel(AjPNexusAssumptions* pthys)
-***************
-*** 750,755 ****
---- 800,807 ----
- ** @param [d] pthys [AjPNexusCodons*] AjPNexusCodons object
- ** @return [void]
- ** @category delete [AjPNexusCodons] Default destructor
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static void nexusCodonsDel(AjPNexusCodons* pthys)
-***************
-*** 780,785 ****
---- 832,839 ----
- ** @param [d] pthys [AjPNexusTrees*] AjPNexusTrees object
- ** @return [void]
- ** @category delete [AjPNexusTrees] Default destructor
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static void nexusTreesDel(AjPNexusTrees* pthys)
-***************
-*** 802,814 ****
-
-
-
-! /* @funcstatic nexusNotesDel ************************************************
- **
- ** Destructor for AjPNexusNotes
- **
- ** @param [d] pthys [AjPNexusNotes*] AjPNexusNotes object
- ** @return [void]
- ** @category delete [AjPNexusNotes] Default destructor
- ******************************************************************************/
-
- static void nexusNotesDel(AjPNexusNotes* pthys)
---- 856,870 ----
-
-
-
-! /* @funcstatic nexusNotesDel **************************************************
- **
- ** Destructor for AjPNexusNotes
- **
- ** @param [d] pthys [AjPNexusNotes*] AjPNexusNotes object
- ** @return [void]
- ** @category delete [AjPNexusNotes] Default destructor
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static void nexusNotesDel(AjPNexusNotes* pthys)
-***************
-*** 841,846 ****
---- 897,904 ----
- ** @param [w] list [AjPList] List of block records
- ** @param [r] blockname [const AjPStr] Block name
- ** @return [AjBool] ajTrue on success
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjBool nexusBlockSave(AjPNexus thys, AjPList list,
-***************
-*** 905,911 ****
-
-
-
-! /* @funcstatic nexusCommand ********************************************
- **
- ** Finds the next command and command string in a block
- **
---- 963,969 ----
-
-
-
-! /* @funcstatic nexusCommand ***************************************************
- **
- ** Finds the next command and command string in a block
- **
-***************
-*** 913,918 ****
---- 971,978 ----
- ** @param [w] command [AjPStr*] Command name
- ** @param [w] cmdstr [AjPStr*] Command string
- ** @return [AjBool] ajTrue on success
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjBool nexusCommand(AjPList list, AjPStr* command, AjPStr* cmdstr)
-***************
-*** 944,949 ****
---- 1004,1011 ----
- {
- ajRegPre(endcommand, &tmpstr);
- ajStrAssignS(cmdstr, tmpstr);
-+ ajStrDel(&tmpstr);
-+ ajStrDel(&rdline);
-
- return ajTrue;
- }
-***************
-*** 957,962 ****
---- 1019,1026 ----
- {
- ajRegPre(endcommand, &tmpstr);
- ajStrAppendS(cmdstr, tmpstr);
-+ ajStrDel(&tmpstr);
-+ ajStrDel(&rdline);
-
- return ajTrue;
- }
-***************
-*** 970,988 ****
- }
- }
-
- return ajFalse;
- }
-
-
-
-
-! /* @funcstatic nexusParseTaxa ********************************************
- **
- ** Parses Nexus commands for a Taxa block
- **
- ** @param [w] thys [AjPNexus] Nexus object
- ** @param [u] list [AjPList] List of block records
- ** @return [AjBool] ajTrue on success
- ******************************************************************************/
-
- static AjBool nexusParseTaxa(AjPNexus thys, AjPList list)
---- 1034,1056 ----
- }
- }
-
-+ ajStrDel(&rdline);
-+
- return ajFalse;
- }
-
-
-
-
-! /* @funcstatic nexusParseTaxa *************************************************
- **
- ** Parses Nexus commands for a Taxa block
- **
- ** @param [w] thys [AjPNexus] Nexus object
- ** @param [u] list [AjPList] List of block records
- ** @return [AjBool] ajTrue on success
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjBool nexusParseTaxa(AjPNexus thys, AjPList list)
-***************
-*** 1024,1029 ****
---- 1092,1099 ----
- if (!thys->Taxa->Ntax)
- {
- ajDebug("nexusParseTaxa failed: dimension Ntax not found\n");
-+ ajStrDel(&command);
-+ ajStrDel(&cmdstr);
-
- return ajFalse;
- }
-***************
-*** 1034,1045 ****
---- 1104,1120 ----
- {
- ajDebug("nexusParseTaxa failed: Ntax %d read %d TaxLabels\n",
- thys->Taxa->Ntax, i);
-+ ajStrDel(&command);
-+ ajStrDel(&cmdstr);
-
- return ajFalse;
- }
- }
- }
-
-+ ajStrDel(&command);
-+ ajStrDel(&cmdstr);
-+
- if (!thys->Taxa->Ntax)
- {
- ajDebug("nexusParseTaxa failed: taxa data not found\n");
-***************
-*** 1061,1066 ****
---- 1136,1143 ----
- ** @param [u] list [AjPList] List of block records
- ** @param [r] newtaxa [AjBool] If true, set NewTaxa
- ** @return [AjBool] ajTrue on success
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjBool nexusParseCharacters(AjPNexus thys, AjPList list, AjBool newtaxa)
-***************
-*** 1145,1150 ****
---- 1222,1229 ----
- if(!nexusGetInt(cmdstr, dimexp3, 1, &thys->Characters->Nchar))
- {
- ajDebug("nexusParseCharacters failed: nchar undefined\n");
-+ ajStrDel(&command);
-+ ajStrDel(&cmdstr);
- return ajFalse;
- }
- }
-***************
-*** 1197,1202 ****
---- 1276,1283 ----
- ajDebug("nexusParseCharacters "
- "failed: Ntax %d read %d TaxLabels\n",
- thys->Taxa->Ntax, i);
-+ ajStrDel(&command);
-+ ajStrDel(&cmdstr);
-
- return ajFalse;
- }
-***************
-*** 1238,1243 ****
---- 1319,1327 ----
- }
- }
-
-+ ajStrDel(&command);
-+ ajStrDel(&cmdstr);
-+
- if (!thys->Characters->Nchar)
- {
- ajDebug("nexusParseCharacters failed: dimension nchar undefined\n");
-***************
-*** 1258,1263 ****
---- 1342,1349 ----
- ** @param [w] thys [AjPNexus] Nexus object
- ** @param [u] list [AjPList] List of block records
- ** @return [AjBool] ajTrue on success
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjBool nexusParseUnaligned(AjPNexus thys, AjPList list)
-***************
-*** 1336,1341 ****
---- 1422,1430 ----
- }
- }
-
-+ ajStrDel(&command);
-+ ajStrDel(&cmdstr);
-+
- return ajTrue;
- }
-
-***************
-*** 1349,1354 ****
---- 1438,1445 ----
- ** @param [w] thys [AjPNexus] Nexus object
- ** @param [u] list [AjPList] List of block records
- ** @return [AjBool] ajTrue on success
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjBool nexusParseDistances(AjPNexus thys, AjPList list)
-***************
-*** 1447,1465 ****
- }
- }
-
- return ajTrue;
- }
-
-
-
-
-! /* @funcstatic nexusParseSets ********************************************
- **
- ** Parses Nexus commands for a Sets block
- **
- ** @param [w] thys [AjPNexus] Nexus object
- ** @param [u] list [AjPList] List of block records
- ** @return [AjBool] ajTrue on success
- ******************************************************************************/
-
- static AjBool nexusParseSets(AjPNexus thys, AjPList list)
---- 1538,1561 ----
- }
- }
-
-+ ajStrDel(&command);
-+ ajStrDel(&cmdstr);
-+
- return ajTrue;
- }
-
-
-
-
-! /* @funcstatic nexusParseSets *************************************************
- **
- ** Parses Nexus commands for a Sets block
- **
- ** @param [w] thys [AjPNexus] Nexus object
- ** @param [u] list [AjPList] List of block records
- ** @return [AjBool] ajTrue on success
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjBool nexusParseSets(AjPNexus thys, AjPList list)
-***************
-*** 1505,1510 ****
---- 1601,1609 ----
- }
- }
-
-+ ajStrDel(&command);
-+ ajStrDel(&cmdstr);
-+
- return ajTrue;
- }
-
-***************
-*** 1518,1523 ****
---- 1617,1624 ----
- ** @param [w] thys [AjPNexus] Nexus object
- ** @param [u] list [AjPList] List of block records
- ** @return [AjBool] ajTrue on success
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjBool nexusParseAssumptions(AjPNexus thys, AjPList list)
-***************
-*** 1594,1612 ****
- }
- }
-
- return ajTrue;
- }
-
-
-
-
-! /* @funcstatic nexusParseCodons ********************************************
- **
- ** Parses Nexus commands for a Codons block
- **
- ** @param [w] thys [AjPNexus] Nexus object
- ** @param [u] list [AjPList] List of block records
- ** @return [AjBool] ajTrue on success
- ******************************************************************************/
-
- static AjBool nexusParseCodons(AjPNexus thys, AjPList list)
---- 1695,1718 ----
- }
- }
-
-+ ajStrDel(&command);
-+ ajStrDel(&cmdstr);
-+
- return ajTrue;
- }
-
-
-
-
-! /* @funcstatic nexusParseCodons ***********************************************
- **
- ** Parses Nexus commands for a Codons block
- **
- ** @param [w] thys [AjPNexus] Nexus object
- ** @param [u] list [AjPList] List of block records
- ** @return [AjBool] ajTrue on success
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjBool nexusParseCodons(AjPNexus thys, AjPList list)
-***************
-*** 1640,1658 ****
- }
- }
-
- return ajTrue;
- }
-
-
-
-
-! /* @funcstatic nexusParseTrees ********************************************
- **
- ** Parses Nexus commands for a Trees block
- **
- ** @param [w] thys [AjPNexus] Nexus object
- ** @param [u] list [AjPList] List of block records
- ** @return [AjBool] ajTrue on success
- ******************************************************************************/
-
- static AjBool nexusParseTrees(AjPNexus thys, AjPList list)
---- 1746,1769 ----
- }
- }
-
-+ ajStrDel(&command);
-+ ajStrDel(&cmdstr);
-+
- return ajTrue;
- }
-
-
-
-
-! /* @funcstatic nexusParseTrees ************************************************
- **
- ** Parses Nexus commands for a Trees block
- **
- ** @param [w] thys [AjPNexus] Nexus object
- ** @param [u] list [AjPList] List of block records
- ** @return [AjBool] ajTrue on success
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjBool nexusParseTrees(AjPNexus thys, AjPList list)
-***************
-*** 1681,1699 ****
- }
- }
-
- return ajTrue;
- }
-
-
-
-
-! /* @funcstatic nexusParseNotes ********************************************
- **
- ** Parses Nexus commands for a Notes block
- **
- ** @param [w] thys [AjPNexus] Nexus object
- ** @param [u] list [AjPList] List of block records
- ** @return [AjBool] ajTrue on success
- ******************************************************************************/
-
- static AjBool nexusParseNotes(AjPNexus thys, AjPList list)
---- 1792,1815 ----
- }
- }
-
-+ ajStrDel(&command);
-+ ajStrDel(&cmdstr);
-+
- return ajTrue;
- }
-
-
-
-
-! /* @funcstatic nexusParseNotes ************************************************
- **
- ** Parses Nexus commands for a Notes block
- **
- ** @param [w] thys [AjPNexus] Nexus object
- ** @param [u] list [AjPList] List of block records
- ** @return [AjBool] ajTrue on success
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjBool nexusParseNotes(AjPNexus thys, AjPList list)
-***************
-*** 1722,1727 ****
---- 1838,1846 ----
- }
- }
-
-+ ajStrDel(&command);
-+ ajStrDel(&cmdstr);
-+
- return ajTrue;
- }
-
-***************
-*** 1737,1742 ****
---- 1856,1863 ----
- ** @param [u] exp [AjPRegexp] Compiled regular expression for parsing
- ** @param [w] dest [AjPStr**] Array generated
- ** @return [ajint] Number of strings returned
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static ajint nexusGetArray(AjPStr src, AjPRegexp exp,
-***************
-*** 1779,1784 ****
---- 1900,1907 ----
- ** @param [r] isub [ajint] Substring number to extract
- ** @param [w] dest [AjPStr*] String generated
- ** @return [AjBool] ajTrue on success
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjBool nexusGetStr(AjPStr src, AjPRegexp exp, ajint isub, AjPStr* dest)
-***************
-*** 1805,1810 ****
---- 1928,1935 ----
- ** @param [r] isub [ajint] Substring number to extract
- ** @param [w] dest [char*] String generated
- ** @return [AjBool] ajTrue on success
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjBool nexusGetChar(AjPStr src, AjPRegexp exp, ajint isub, char* dest)
-***************
-*** 1841,1846 ****
---- 1966,1973 ----
- ** @param [r] isub [ajint] Substring number to extract
- ** @param [w] dest [ajuint*] Integer generated
- ** @return [AjBool] ajTrue on success
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjBool nexusGetInt(AjPStr src, AjPRegexp exp, ajint isub, ajuint* dest)
-***************
-*** 1860,1866 ****
-
-
-
-! /* @funcstatic nexusGetBool **************************************************
- **
- ** Sets a nexus bool from a parsed nexus command in the form [no]name.
- ** We know name is found, we test for the "no" part.
---- 1987,1993 ----
-
-
-
-! /* @funcstatic nexusGetBool ***************************************************
- **
- ** Sets a nexus bool from a parsed nexus command in the form [no]name.
- ** We know name is found, we test for the "no" part.
-***************
-*** 1870,1875 ****
---- 1997,2004 ----
- ** @param [r] isub [ajint] Substring number to extract
- ** @param [w] dest [AjBool*] Boolean generated
- ** @return [AjBool] ajTrue on success
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjBool nexusGetBool(AjPStr src, AjPRegexp exp, ajint isub, AjBool* dest)
-***************
-*** 1893,1899 ****
-
-
-
-! /* @funcstatic nexusVocab ***************************************************
- **
- ** Tests a string against a controlled vocabulary
- **
---- 2022,2028 ----
-
-
-
-! /* @funcstatic nexusVocab *****************************************************
- **
- ** Tests a string against a controlled vocabulary
- **
-***************
-*** 1901,1906 ****
---- 2030,2037 ----
- ** @param [r] src [const AjPStr] String to be tested
- ** @param [r] vocab [const char* []] List of known values, ending in a NULL
- ** @return [AjBool] ajTrue on success
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjBool nexusVocab(const char* title, const AjPStr src,
-***************
-*** 1927,1932 ****
---- 2058,2065 ----
- **
- ** @param [r] thys [const AjPNexus] nexus object
- ** @return [void]
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- void ajNexusTrace(const AjPNexus thys)
-***************
-*** 2430,2435 ****
---- 2563,2570 ----
- **
- ** @param [r] thys [const AjPNexus] Nexus object
- ** @return [AjPStr*] taxa string array, NULL terminated, read only
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- AjPStr* ajNexusGetTaxa(const AjPNexus thys)
-***************
-*** 2452,2457 ****
---- 2587,2594 ----
- **
- ** @param [r] thys [const AjPNexus] Nexus object
- ** @return [ajuint] Number of taxa
-+ **
-+ ** @release 2.8.0
- ** @@
- ******************************************************************************/
-
-***************
-*** 2478,2483 ****
---- 2615,2622 ----
- **
- ** @param [u] thys [AjPNexus] Nexus object
- ** @return [AjPStr*] taxa string array, NULL terminated, read only
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- AjPStr* ajNexusGetSequences(AjPNexus thys)
-***************
-*** 2502,2507 ****
---- 2641,2648 ----
- **
- ** @param [u] thys [AjPNexus] Nexus object
- ** @return [AjBool] ajTrue on success
-+ **
-+ ** @release 2.8.0
- ******************************************************************************/
-
- static AjBool nexusSetSequences(AjPNexus thys)
-***************
-*** 2591,2597 ****
-
- for (i=0; thys->Taxa->TaxLabels[i]; i++)
- {
-! seqstr = ajStrNewRes(thys->Characters->Nchar+1);
- ajTablePut(seqtab, thys->Taxa->TaxLabels[i], seqstr);
- seqstr = NULL;
- }
---- 2732,2738 ----
-
- for (i=0; thys->Taxa->TaxLabels[i]; i++)
- {
-! seqstr = ajStrNewRes(thys->Characters->Nchar+1);
- ajTablePut(seqtab, thys->Taxa->TaxLabels[i], seqstr);
- seqstr = NULL;
- }
-***************
-*** 2599,2604 ****
---- 2740,2746 ----
- else
- {
- AJCNEW0(thys->Taxa->TaxLabels, (thys->Ntax+1));
-+ ajDebug("thys->Taxa->TaxLabels 0..%u\n", (thys->Ntax+1));
- }
-
- taxlabel = NULL;
-***************
-*** 2609,2614 ****
---- 2751,2757 ----
- ajStrAssignS(&rdline, thys->Characters->Matrix[i]);
- ajStrRemoveWhiteExcess(&rdline);
-
-+ ajDebug("rdline: '%S'\n", rdline);
- if (!taxlabel || thys->Characters->Interleave ||
- (ajStrGetLen(seqstr) >= thys->Characters->Nchar))
- { /* next tax label */
-***************
-*** 2617,2629 ****
---- 2760,2782 ----
-
- ajRegSubI(word, 0, &taxlabel);
- ajRegPost(word, &tmpstr);
-+ ajDebug("taxlabel '%S' rest '%S'\n", taxlabel, tmpstr);
- ajStrAssignS(&rdline, tmpstr);
- ajStrQuoteStripAll(&taxlabel);
-+ ajDebug("unquoted taxlabel %p '%S'\n", taxlabel, taxlabel);
-
- if (!havetaxa)
- {
-+ ajDebug("ajTablePut itax.%u label %p '%S'\n",
-+ itax,
-+ thys->Taxa->TaxLabels[itax],
-+ thys->Taxa->TaxLabels[itax]);
- ajStrAssignS(&thys->Taxa->TaxLabels[itax], taxlabel);
- seqstr = ajStrNewRes(thys->Characters->Nchar+1);
-+ ajDebug("ajTablePut itax %u label %p '%S'\n",
-+ itax,
-+ thys->Taxa->TaxLabels[itax],
-+ thys->Taxa->TaxLabels[itax]);
- ajTablePut(seqtab, thys->Taxa->TaxLabels[itax], seqstr);
- seqstr = NULL;
- itax++;
-***************
-*** 2631,2638 ****
---- 2784,2793 ----
- havetaxa = ajTrue;
- }
-
-+ ajDebug("havetaxa: %B taxlabel '%S'\n", havetaxa, taxlabel);
- seqstr = ajTableFetchmodS(seqtab, taxlabel);
-
-+ ajDebug("seqstr '%S'\n", seqstr);
- if (!seqstr)
- {
- ajErr("Unknown taxon '%S' in nexus data", taxlabel);
-***************
-*** 2650,2661 ****
- {
- ajRegSubI(word, 0, &tmpstr);
- ajStrAppendS(&seqstr, tmpstr);
-- ajTablePut(seqtab, taxlabel, seqstr); /* just to make sure */
- ajRegPost(word, &tmpstr);
- ajStrAssignS(&rdline, tmpstr);
- }
-
- ajStrExchangeKK(&seqstr, gapch, '-');
- }
-
- ajRegFree(&word);
---- 2805,2816 ----
- {
- ajRegSubI(word, 0, &tmpstr);
- ajStrAppendS(&seqstr, tmpstr);
- ajRegPost(word, &tmpstr);
- ajStrAssignS(&rdline, tmpstr);
- }
-
- ajStrExchangeKK(&seqstr, gapch, '-');
-+ ajDebug("seqstr updated '%S'\n", seqstr);
- }
-
- ajRegFree(&word);
-***************
-*** 2683,2688 ****
---- 2838,2845 ----
- }
-
- ajTableFree(&seqtab);
-+ ajStrDel(&firstseq);
-+ ajStrDel(&taxlabel);
-
- return ajTrue;
- }
-***************
-*** 2700,2705 ****
---- 2857,2864 ----
- ** @param [d] pthis [AjPStr**] Pointer to the string array to be deleted.
- ** The pointer is always deleted.
- ** @return [void]
-+ **
-+ ** @release 4.0.0
- ** @@
- ******************************************************************************/
-
-diff -c -N --recursive -a EMBOSS-6.4.0old/ajax/core/ajpat.c EMBOSS-6.4.0/ajax/core/ajpat.c
-*** EMBOSS-6.4.0old/ajax/core/ajpat.c 2010-04-14 09:04:16.000000000 +0100
---- EMBOSS-6.4.0/ajax/core/ajpat.c 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 752,757 ****
---- 752,759 ----
- default:
- mismreg = ajRegCompC("<mismatch=(\\d+)>");
-
-+ mismatch=mismatches; /* set for first pattern */
-+
- while (ajBuffreadLineTrim(infile,&line))
- {
- if (ajStrGetCharFirst(line) == '>')
-***************
-*** 762,768 ****
- mismatch);
- ajStrSetClear(&name);
- ajStrSetClear(&pat);
-! mismatch=mismatches;
- }
-
- ajStrCutStart(&line,1);
---- 764,770 ----
- mismatch);
- ajStrSetClear(&name);
- ajStrSetClear(&pat);
-! mismatch=mismatches; /* reset for next pattern */
- }
-
- ajStrCutStart(&line,1);
-diff -c -N --recursive -a EMBOSS-6.4.0old/ajax/core/ajquery.c EMBOSS-6.4.0/ajax/core/ajquery.c
-*** EMBOSS-6.4.0old/ajax/core/ajquery.c 2011-07-03 12:39:13.000000000 +0100
---- EMBOSS-6.4.0/ajax/core/ajquery.c 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 1609,1615 ****
---- 1609,1622 ----
- fmtstat = ajRegExec(queryRegFmt, *Pqry);
-
- if(!fmtstat)
-+ {
-+ if(ajStrGetLen(textin->Formatstr))
-+ {
-+ if(findformat(textin->Formatstr, &textin->Format))
-+ ajStrAssignS(&qry->Formatstr, textin->Formatstr);
-+ }
- return NULL;
-+ }
-
- ajRegSubI(queryRegFmt, 1, &queryFormat);
- ajRegSubI(queryRegFmt, 2, Pqry);
-***************
-*** 2716,2730 ****
- ajDebug("ajQueryAddFieldOrC.i '%s' '%S'\n",
- "id", qrystring);
-
-! ajQueryAddFieldElseC(qry, "acc",
-! MAJSTRGETPTR(qrystring));
-! ajDebug("ajQueryAddFieldElseC.i '%s' '%S'\n",
-! "acc", qrystring);
-
-! ajQueryAddFieldElseC(qry, "sv",
-! MAJSTRGETPTR(qrystring));
-! ajDebug("ajQueryAddFieldElseC.i '%s' '%S'\n",
-! "sv", qrystring);
- }
- ajStrAssignS(&lastoper, operstr);
- ajStrTrimWhite(&lastoper);
---- 2723,2743 ----
- ajDebug("ajQueryAddFieldOrC.i '%s' '%S'\n",
- "id", qrystring);
-
-! if(qry->HasAcc && ajQueryKnownFieldC(qry, "acc"))
-! {
-! ajQueryAddFieldElseC(qry, "acc",
-! MAJSTRGETPTR(qrystring));
-! ajDebug("ajQueryAddFieldElseC.i '%s' '%S'\n",
-! "acc", qrystring);
-! }
-
-! if(ajQueryKnownFieldC(qry, "sv"))
-! {
-! ajQueryAddFieldElseC(qry, "sv",
-! MAJSTRGETPTR(qrystring));
-! ajDebug("ajQueryAddFieldElseC.i '%s' '%S'\n",
-! "sv", qrystring);
-! }
- }
- ajStrAssignS(&lastoper, operstr);
- ajStrTrimWhite(&lastoper);
-diff -c -N --recursive -a EMBOSS-6.4.0old/ajax/core/ajrange.c EMBOSS-6.4.0/ajax/core/ajrange.c
-*** EMBOSS-6.4.0old/ajax/core/ajrange.c 2010-05-21 11:54:40.000000000 +0100
---- EMBOSS-6.4.0/ajax/core/ajrange.c 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 179,185 ****
- ajuint minsize, ajuint size)
- {
- AjPRange ret = NULL;
-! AjPFile infile;
- AjPStr line = NULL;
- char whiteSpace[] = " \t\n\r";
- char notSpace[] = "\n\r";
---- 179,185 ----
- ajuint minsize, ajuint size)
- {
- AjPRange ret = NULL;
-! AjPFile infile = NULL;
- AjPStr line = NULL;
- char whiteSpace[] = " \t\n\r";
- char notSpace[] = "\n\r";
-***************
-*** 189,197 ****
- ajuint numone;
- ajuint numtwo;
-
-! AjPStr one;
-! AjPStr two;
-! AjPStr text;
-
- AjPList onelist;
- AjPList twolist;
---- 189,197 ----
- ajuint numone;
- ajuint numtwo;
-
-! AjPStr one = NULL;
-! AjPStr two = NULL;
-! AjPStr text = NULL;
-
- AjPList onelist;
- AjPList twolist;
-***************
-*** 229,241 ****
- one = ajStrNew();
- ajStrTokenNextParse(&tokens, &one);
- ajListstrPushAppend(onelist, one);
-
- two = ajStrNew();
- ajStrTokenNextParse(&tokens, &two);
-
- if(ajStrGetLen(two))
-! ajListstrPushAppend(twolist, two);
-! else
- {
- ajWarn("Odd integer(s) in range specification:\n%S\n", line);
-
---- 229,245 ----
- one = ajStrNew();
- ajStrTokenNextParse(&tokens, &one);
- ajListstrPushAppend(onelist, one);
-+ one = NULL;
-
- two = ajStrNew();
- ajStrTokenNextParse(&tokens, &two);
-
- if(ajStrGetLen(two))
-! {
-! ajListstrPushAppend(twolist, two);
-! two = NULL;
-! }
-! else
- {
- ajWarn("Odd integer(s) in range specification:\n%S\n", line);
-
-***************
-*** 247,256 ****
---- 251,264 ----
- ajStrTokenNextParseC(&tokens, notSpace, &text);
- ajStrTrimWhite(&text);
- ajListstrPushAppend(textlist, text);
-+ text = NULL;
-
- ajStrTokenDel( &tokens);
- }
-
-+ ajFileClose(&infile);
-+ ajStrDel(&line);
-+
- /* now we know how many pairs of numbers to store, create ajRange object */
- n = ajListstrGetLength(onelist);
- if(size)
-***************
-*** 331,336 ****
---- 339,345 ----
- /* do the text */
- ajListstrPop(textlist, &text);
- ret->text[k] = text;
-+ text = NULL;
- }
-
-
-diff -c -N --recursive -a EMBOSS-6.4.0old/ajax/core/ajseqabi.c EMBOSS-6.4.0/ajax/core/ajseqabi.c
-*** EMBOSS-6.4.0old/ajax/core/ajseqabi.c 2011-05-19 11:28:09.000000000 +0100
---- EMBOSS-6.4.0/ajax/core/ajseqabi.c 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 181,186 ****
---- 181,187 ----
- *machine = ajStrNewRes(l+1);
- ajReadbinBinary(fp,1,l,(void*)ajStrGetuniquePtr(machine));
- *(ajStrGetuniquePtr(machine)+l)='\0';
-+ ajStrSetValid(machine);
- }
- else
- return ajFalse;
-***************
-*** 961,966 ****
---- 962,968 ----
- *sample = ajStrNewRes(l+1);
- ajReadbinBinary(fp,1,l,(void*)ajStrGetuniquePtr(sample));
- *(ajStrGetuniquePtr(sample)+l)='\0';
-+ ajStrSetValid(sample);
- }
-
- return ajTrue;
-diff -c -N --recursive -a EMBOSS-6.4.0old/ajax/core/ajseqread.c EMBOSS-6.4.0/ajax/core/ajseqread.c
-*** EMBOSS-6.4.0old/ajax/core/ajseqread.c 2011-06-27 08:38:44.000000000 +0100
---- EMBOSS-6.4.0/ajax/core/ajseqread.c 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 5497,5502 ****
---- 5497,5503 ----
- static AjBool seqReadRaw(AjPSeq thys, AjPSeqin seqin)
- {
- AjPFilebuff buff;
-+ const char* cp;
- AjPFile fp;
- AjBool ok = ajFalse;
- ajulong filestat = 0L;
-***************
-*** 5506,5588 ****
- AjPStr buf = NULL;
- char *cbuf;
- AjPStr tmpseq = NULL;
-!
-! if(!seqRegRawNonseq)
-! seqRegRawNonseq = ajRegCompC("[^A-Za-z0-9 \t\n\r*-]");
-
- buff = seqin->Input->Filebuff;
- fp = ajFilebuffGetFile(buff);
-
-! ajDebug("seqReadRaw\n");
-
- if(ajFilebuffIsEnded(buff))
- return ajFalse;
-
-! buf = ajStrNewRes(4096);
-! ajStrSetValidLen(&buf, inc);
-! cbuf = ajStrGetuniquePtr(&buf);
-!
-! filestat = ajFileSeek(fp, 0L, SEEK_END);
-! filesize = ajFileResetPos(fp);
-! filestat = ajFileSeek(fp, (ajlong) filestat, 0);
-
-! ok = ajTrue;
-
-! for(i=0; i < filesize; i += inc)
- {
-! if((i+inc) > filesize)
- {
-! inc = (ajuint) (filesize - i);
-! ajStrSetValidLen(&buf, inc);
- }
-
-! ajReadbinBinary(fp, inc, 1, cbuf);
-! cbuf[inc] = '\0';
-
-! if(strlen(cbuf) != inc)
- {
-! ajDebug("seqReadRaw: Null character found in line: %s\n",
-! cbuf);
-! ok = ajFalse;
-! break;
- }
-
-! if(ajRegExec(seqRegRawNonseq, buf))
-! {
-! ajDebug("seqReadRaw: Bad character found in line: %s\n",
-! cbuf);
-! ok = ajFalse;
-! break;
-! }
-
-! ajStrAssignC(&tmpseq, cbuf);
-
-! if(seqin->Input->Text)
-! ajStrAppendS(&thys->TextPtr, tmpseq);
-
-! seqAppend(&thys->Seq, tmpseq);
-! seqin->Input->Records++;
-! ajDebug("read %d lines\n", seqin->Input->Records);
-! }
-
-! ajStrDel(&buf);
-! ajStrDel(&tmpseq);
-
-! if(!ok)
-! {
-! ajFileSeek(fp,(ajlong) filestat,0);
-
-! if(seqin->Input->Text)
-! ajStrAssignC(&thys->TextPtr, "");
-
-- ajFilebuffResetPos(buff);
-
-- return ajFalse;
- }
-
- ajFilebuffClear(buff, -1);
- buff->File->End=ajTrue;
-
- return ajTrue;
- }
-
---- 5507,5645 ----
- AjPStr buf = NULL;
- char *cbuf;
- AjPStr tmpseq = NULL;
-! size_t iread;
-!
-! ajDebug("seqReadRaw\n");
-
- buff = seqin->Input->Filebuff;
- fp = ajFilebuffGetFile(buff);
-
-! if(!seqRegRawNonseq)
-! seqRegRawNonseq = ajRegCompC("[^A-Za-z0-9 \t\n\r*-]");
-
- if(ajFilebuffIsEnded(buff))
- return ajFalse;
-
-! filestat = ajFileSeek(fp, 0L, SEEK_CUR);
-
-! if(filestat)
-! {
-! /* not a file - cannot use binary, so we can only read the buffer */
-! while(ajBuffreadLineStore(buff, &seqReadLine,
-! seqin->Input->Text, &thys->TextPtr))
-! {
-! ajDebug("read '%S'\n", seqReadLine);
-!
-! cp = ajStrGetPtr(seqReadLine);
-! if(strlen(cp) != ajStrGetLen(seqReadLine))
-! {
-! ajDebug("seqReadRaw: Null character found in line: %S\n",
-! seqReadLine);
-! ajFilebuffResetStore(buff, seqin->Input->Text, &thys->TextPtr);
-! ajStrAssignClear(&thys->Seq);
-!
-! return ajFalse;
-! }
-!
-! if(ajRegExec(seqRegRawNonseq, seqReadLine))
-! {
-! ajDebug("seqReadRaw: Bad character found in line: %S\n",
-! seqReadLine);
-! ajFilebuffResetStore(buff, seqin->Input->Text, &thys->TextPtr);
-! ajStrAssignClear(&thys->Seq);
-
-! return ajFalse;
-! }
-! seqAppend(&thys->Seq, seqReadLine);
-! seqin->Input->Records++;
-! ajDebug("read %d lines\n", seqin->Input->Records);
-! }
-! }
-! else
- {
-! if(ajFilebuffIsEnded(buff))
- {
-! ajFileSeek(fp, 0L, SEEK_END);
-! return ajFalse;
- }
-
-! buf = ajStrNewRes(4096);
-! ajStrSetValidLen(&buf, inc);
-! cbuf = ajStrGetuniquePtr(&buf);
-
-! filestat = ajFileSeek(fp, 0L, SEEK_END);
-! filesize = ajFileResetPos(fp);
-! filestat = ajFileSeek(fp, 0L, SEEK_SET);
-!
-! if(!filesize)
- {
-! ajFileSeek(fp,(ajlong) filesize, SEEK_SET);
-! return ajFalse;
- }
-+
-+ ok = ajTrue;
-
-! for(i=0; i < filesize; i += inc)
-! {
-! if((i+inc) > filesize)
-! {
-! inc = (ajuint) (filesize - i);
-! ajStrSetValidLen(&buf, inc);
-! }
-!
-! iread = ajReadbinBinary(fp, inc, 1, cbuf);
-! cbuf[inc] = '\0';
-
-! if(strlen(cbuf) != iread)
-! {
-! ajDebug("seqReadRaw: Null character found in line: %s\n",
-! cbuf);
-! ok = ajFalse;
-! break;
-! }
-
-! if(ajRegExec(seqRegRawNonseq, buf))
-! {
-! ajDebug("seqReadRaw: Bad character found in line: %S\n",
-! seqReadLine);
-! ok = ajFalse;
-! break;
-! }
-
-! ajStrAssignC(&tmpseq, cbuf);
-
-! if(seqin->Input->Text)
-! ajStrAppendS(&thys->TextPtr, tmpseq);
-
-! seqAppend(&thys->Seq, tmpseq);
-! seqin->Input->Records++;
-! ajDebug("read %d lines\n", seqin->Input->Records);
-! }
-
-! ajStrDel(&buf);
-! ajStrDel(&tmpseq);
-!
-! if(!ok)
-! {
-! ajFileSeek(fp,(ajlong) filestat,0);
-!
-! if(seqin->Input->Text)
-! ajStrAssignC(&thys->TextPtr, "");
-!
-! ajFilebuffResetPos(buff);
-!
-! return ajFalse;
-! }
-
-
- }
-
- ajFilebuffClear(buff, -1);
- buff->File->End=ajTrue;
-
-+ if(!seqin->Input->Records)
-+ return ajFalse;
-+
- return ajTrue;
- }
-
-***************
-*** 7898,7903 ****
---- 7955,7961 ----
- ajuint j;
- AjPFilebuff buff;
- AjPStr* seqs = NULL;
-+ AjPStr* names = NULL;
- AjPNexus nexus = NULL;
-
- SeqPMsfData phydata = NULL;
-***************
-*** 7953,7960 ****
- seqs = ajNexusGetTaxa(phydata->Nexus);
- phydata->Names = AJCALLOC(phydata->Nseq, sizeof(*phydata->Names));
-
-! for(j=0;j<phydata->Nseq;j++)
-! ajStrAssignS(&phydata->Names[j], seqs[j]);
-
- seqin->SeqData = phydata;
- ajDebug("Nexus parsed %d sequences\n", phydata->Nseq);
---- 8011,8021 ----
- seqs = ajNexusGetTaxa(phydata->Nexus);
- phydata->Names = AJCALLOC(phydata->Nseq, sizeof(*phydata->Names));
-
-! if(seqs)
-! {
-! for(j=0;j<phydata->Nseq;j++)
-! ajStrAssignS(&phydata->Names[j], seqs[j]);
-! }
-
- seqin->SeqData = phydata;
- ajDebug("Nexus parsed %d sequences\n", phydata->Nseq);
-***************
-*** 7974,7995 ****
- return ajFalse;
- }
-
-! if (!phydata->Names) /* finally set from the sequences */
-! {
-! seqs = ajNexusGetTaxa(phydata->Nexus);
- phydata->Names = AJCALLOC(phydata->Nseq, sizeof(*phydata->Names));
-
- for(j=0;j<phydata->Nseq;j++)
-! ajStrAssignS(&phydata->Names[j], seqs[j]);
- }
-
- ajDebug("returning [%d] '%S'\n", i, phydata->Names[i]);
-
- ajStrAssignS(&thys->Name, phydata->Names[i]);
-
-- thys->Weight = 1.0;
-- ajStrAssignS(&thys->Seq, seqs[i]);
--
- phydata->Count++;
-
- if(phydata->Count >= phydata->Nseq)
---- 8035,8057 ----
- return ajFalse;
- }
-
-! thys->Weight = 1.0;
-! ajStrAssignS(&thys->Seq, seqs[i]);
-!
-! if (!phydata->Names)
- phydata->Names = AJCALLOC(phydata->Nseq, sizeof(*phydata->Names));
-
-+ if (!phydata->Names[0]) /* finally set from the sequences */
-+ {
-+ names = ajNexusGetTaxa(phydata->Nexus);
- for(j=0;j<phydata->Nseq;j++)
-! ajStrAssignS(&phydata->Names[j], names[j]);
- }
-
- ajDebug("returning [%d] '%S'\n", i, phydata->Names[i]);
-
- ajStrAssignS(&thys->Name, phydata->Names[i]);
-
- phydata->Count++;
-
- if(phydata->Count >= phydata->Nseq)
-***************
-*** 13827,13833 ****
- ajStrAssignC(&seqFtFmtGff, "gff3");
-
- if(!seqRegGff3Typ)
-! seqRegGff3Typ = ajRegCompC("^#!(.*)");
-
- ok = ajBuffreadLineStore(buff, &seqReadLine,
- seqin->Input->Text, &thys->TextPtr);
---- 13889,13895 ----
- ajStrAssignC(&seqFtFmtGff, "gff3");
-
- if(!seqRegGff3Typ)
-! seqRegGff3Typ = ajRegCompC("^#!Type (.*)");
-
- ok = ajBuffreadLineStore(buff, &seqReadLine,
- seqin->Input->Text, &thys->TextPtr);
-***************
-*** 13885,13891 ****
-
- if(ajRegExec(seqRegGff3Typ, seqReadLine))
- {
-! ajFmtPrintS(&outstr, "%S\n", seqReadLine);
- }
-
- ok = ajBuffreadLineStore(buff, &seqReadLine,
---- 13947,13954 ----
-
- if(ajRegExec(seqRegGff3Typ, seqReadLine))
- {
-! ajRegSubI(seqRegGff3Typ, 1, &typstr);
-! ajFmtPrintS(&outstr, "#!Type %S", typstr);
- }
-
- ok = ajBuffreadLineStore(buff, &seqReadLine,
-***************
-*** 13966,13972 ****
- ajFeattabinDel(&seqin->Ftquery);
- seqin->Ftquery = ajFeattabinNewSSF(seqFtFmtGff, thys->Name,
- ajStrGetPtr(seqin->Type), ftfile);
-! ajDebug("GFF FEAT TabIn %x\n", seqin->Ftquery);
- ftfile = NULL;
- ajFeattableDel(&seqin->Fttable);
- ajFeattableDel(&thys->Fttable);
---- 14029,14035 ----
- ajFeattabinDel(&seqin->Ftquery);
- seqin->Ftquery = ajFeattabinNewSSF(seqFtFmtGff, thys->Name,
- ajStrGetPtr(seqin->Type), ftfile);
-! ajDebug("GFF3 FEAT TabIn %x\n", seqin->Ftquery);
- ftfile = NULL;
- ajFeattableDel(&seqin->Fttable);
- ajFeattableDel(&thys->Fttable);
-diff -c -N --recursive -a EMBOSS-6.4.0old/ajax/ensembl/ensdatabaseadaptor.c EMBOSS-6.4.0/ajax/ensembl/ensdatabaseadaptor.c
-*** EMBOSS-6.4.0old/ajax/ensembl/ensdatabaseadaptor.c 2011-07-06 22:50:28.000000000 +0100
---- EMBOSS-6.4.0/ajax/ensembl/ensdatabaseadaptor.c 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 156,163 ****
- ** @argrule Ini dbc [EnsPDatabaseconnection] Ensembl Database Connection
- ** @argrule Ini database [AjPStr] Database name
- ** @argrule Ini species [AjPStr] Species
-! ** @argrule Ini dbag [EnsEDatabaseadaptorGroup] Ensembl Database Adaptor Group
-! ** enumeration
- ** @argrule Ini multi [AjBool] Multiple species
- ** @argrule Ini identifier [ajuint] Species identifier
- ** @argrule Url url [const AjPStr] Uniform Resource Locator
---- 156,163 ----
- ** @argrule Ini dbc [EnsPDatabaseconnection] Ensembl Database Connection
- ** @argrule Ini database [AjPStr] Database name
- ** @argrule Ini species [AjPStr] Species
-! ** @argrule Ini dbag [EnsEDatabaseadaptorGroup]
-! ** Ensembl Database Adaptor Group enumeration
- ** @argrule Ini multi [AjBool] Multiple species
- ** @argrule Ini identifier [ajuint] Species identifier
- ** @argrule Url url [const AjPStr] Uniform Resource Locator
-***************
-*** 239,245 ****
- return NULL;
-
- collectionre =
-! ajRegCompC("^\\w+_collection_([a-z]+)(?:_\\d+)?_(\\d+)_\\w+");
-
- multire =
- ajRegCompC("^ensembl_([a-z]+)(_\\w+?)*?(?:_\\d+)?_(\\d+)$");
---- 239,245 ----
- return NULL;
-
- collectionre =
-! ajRegCompC("^(\\w+)_collection_([a-z]+)(?:_\\d+)?_(\\d+)_\\w+");
-
- multire =
- ajRegCompC("^ensembl_([a-z]+)(_\\w+?)*?(?:_\\d+)?_(\\d+)$");
-***************
-*** 254,263 ****
- /* Ensembl Collection databases have to be matched first. */
-
- group = ajStrNew();
- swversion = ajStrNew();
-
-! ajRegSubI(collectionre, 1, &group);
-! ajRegSubI(collectionre, 2, &swversion);
-
- if(ajStrMatchCaseC(swversion, ensSoftwareVersion))
- {
---- 254,265 ----
- /* Ensembl Collection databases have to be matched first. */
-
- group = ajStrNew();
-+ prefix = ajStrNew();
- swversion = ajStrNew();
-
-! ajRegSubI(collectionre, 1, &prefix);
-! ajRegSubI(collectionre, 2, &group);
-! ajRegSubI(collectionre, 3, &swversion);
-
- if(ajStrMatchCaseC(swversion, ensSoftwareVersion))
- {
-***************
-*** 290,295 ****
---- 292,298 ----
- }
-
- ajStrDel(&group);
-+ ajStrDel(&prefix);
- ajStrDel(&swversion);
- }
- else if(ajRegExec(multire, database))
-***************
-*** 417,422 ****
---- 420,428 ----
- **
- ** Constructor for an Ensembl Database Adaptor with initial values.
- **
-+ ** If a database name has not been provided, the database name of the
-+ ** Ensembl Database Connection will be used.
-+ **
- ** Ensembl Database Adaptors are singleton objects in the sense that a single
- ** instance of an Ensembl Database Adaptor connected to a particular database
- ** is sufficient to instantiate any number of Ensembl Object Adaptors from the
-***************
-*** 430,441 ****
- **
- ** @cc Bio::EnsEMBL::DBSQL::DBAdaptor::new
- ** @param [u] dbc [EnsPDatabaseconnection] Ensembl Database Connection
-! ** @param [u] database [AjPStr] Database name (optional). If not provided, the
-! ** database name in the Database Connection will
-! ** be used.
- ** @param [u] species [AjPStr] Species
-! ** @param [u] dbag [EnsEDatabaseadaptorGroup] Ensembl Database Adaptor Group
-! ** enumeration
- ** @param [r] multi [AjBool] Multiple species
- ** @param [r] identifier [ajuint] Species identifier
- **
---- 436,445 ----
- **
- ** @cc Bio::EnsEMBL::DBSQL::DBAdaptor::new
- ** @param [u] dbc [EnsPDatabaseconnection] Ensembl Database Connection
-! ** @param [uN] database [AjPStr] Database name
- ** @param [u] species [AjPStr] Species
-! ** @param [u] dbag [EnsEDatabaseadaptorGroup]
-! ** Ensembl Database Adaptor Group enumeration
- ** @param [r] multi [AjBool] Multiple species
- ** @param [r] identifier [ajuint] Species identifier
- **
-***************
-*** 555,569 ****
-
- /* @section destructors *******************************************************
- **
-! ** Destruction destroys all internal data structures and frees the
-! ** memory allocated for an Ensembl Database Adaptor object.
- **
- ** @fdata [EnsPDatabaseadaptor]
- **
-! ** @nam3rule Del Destroy (free) an Ensembl Database Adaptor object
- **
-! ** @argrule * Pdba [EnsPDatabaseadaptor*] Ensembl Database Adaptor
-! ** object address
- **
- ** @valrule * [void]
- **
---- 559,573 ----
-
- /* @section destructors *******************************************************
- **
-! ** Destruction destroys all internal data structures and frees the memory
-! ** allocated for an Ensembl Database Adaptor object.
- **
- ** @fdata [EnsPDatabaseadaptor]
- **
-! ** @nam3rule Del Destroy (free) an Ensembl Database Adaptor
- **
-! ** @argrule * Pdba [EnsPDatabaseadaptor*]
-! ** Ensembl Database Adaptor address
- **
- ** @valrule * [void]
- **
-***************
-*** 586,593 ****
- ** @see ensExit
- ** @see ensRegistryExit
- **
-! ** @param [d] Pdba [EnsPDatabaseadaptor*] Ensembl Database Adaptor
-! ** object address
- **
- ** @return [void]
- ** @@
---- 590,596 ----
- ** @see ensExit
- ** @see ensRegistryExit
- **
-! ** @param [d] Pdba [EnsPDatabaseadaptor*] Ensembl Database Adaptor address
- **
- ** @return [void]
- ** @@
-***************
-*** 652,659 ****
- ** @valrule Databaseconnection [EnsPDatabaseconnection]
- ** Ensembl Database Connection or NULL
- ** @valrule Species [AjPStr] Species or NULL
-! ** @valrule Group [EnsEDatabaseadaptorGroup] Ensembl Database Adaptor Group
-! ** enumeration or ensEDatabaseadaptorGroupNULL
- ** @valrule Multispecies [AjBool] Multiple species or ajFalse
- ** @valrule Identifier [ajuint] Species identifier or 0
- **
---- 655,662 ----
- ** @valrule Databaseconnection [EnsPDatabaseconnection]
- ** Ensembl Database Connection or NULL
- ** @valrule Species [AjPStr] Species or NULL
-! ** @valrule Group [EnsEDatabaseadaptorGroup]
-! ** Ensembl Database Adaptor Group enumeration or ensEDatabaseadaptorGroupNULL
- ** @valrule Multispecies [AjBool] Multiple species or ajFalse
- ** @valrule Identifier [ajuint] Species identifier or 0
- **
-***************
-*** 693,700 ****
- ** @cc Bio::EnsEMBL::DBSQL::DBAdaptor::group
- ** @param [r] dba [const EnsPDatabaseadaptor] Ensembl Database Adaptor
- **
-! ** @return [EnsEDatabaseadaptorGroup] Ensembl Database Adaptor Group
-! ** enumeration or ensEDatabaseadaptorGroupNULL
- ** @@
- ******************************************************************************/
-
---- 696,703 ----
- ** @cc Bio::EnsEMBL::DBSQL::DBAdaptor::group
- ** @param [r] dba [const EnsPDatabaseadaptor] Ensembl Database Adaptor
- **
-! ** @return [EnsEDatabaseadaptorGroup]
-! ** Ensembl Database Adaptor Group enumeration or ensEDatabaseadaptorGroupNULL
- ** @@
- ******************************************************************************/
-
-***************
-*** 793,802 ****
- ** @nam4rule Species Set the species
- **
- ** @argrule * dba [EnsPDatabaseadaptor] Ensembl Database Adaptor object
-! ** @argrule Databaseconnection dbc [EnsPDatabaseconnection] Ensembl Database
-! ** Connection
-! ** @argrule Group dbag [EnsEDatabaseadaptorGroup] Ensembl Database Adaptor
-! ** Group enumeration
- ** @argrule Identifier identifier [ajuint] Species identifier
- ** @argrule Multispecies multi [AjBool] Multi-species attribute
- ** @argrule Species species [AjPStr] Species
---- 796,805 ----
- ** @nam4rule Species Set the species
- **
- ** @argrule * dba [EnsPDatabaseadaptor] Ensembl Database Adaptor object
-! ** @argrule Databaseconnection dbc [EnsPDatabaseconnection]
-! ** Ensembl Database Connection
-! ** @argrule Group dbag [EnsEDatabaseadaptorGroup]
-! ** Ensembl Database Adaptor Group enumeration
- ** @argrule Identifier identifier [ajuint] Species identifier
- ** @argrule Multispecies multi [AjBool] Multi-species attribute
- ** @argrule Species species [AjPStr] Species
-diff -c -N --recursive -a EMBOSS-6.4.0old/ajax/ensembl/ensdatabaseadaptor.h EMBOSS-6.4.0/ajax/ensembl/ensdatabaseadaptor.h
-*** EMBOSS-6.4.0old/ajax/ensembl/ensdatabaseadaptor.h 2011-07-06 22:50:28.000000000 +0100
---- EMBOSS-6.4.0/ajax/ensembl/ensdatabaseadaptor.h 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 121,127 ****
-
- EnsPDatabaseadaptor ensRegistryGetDatabaseadaptor(
- EnsEDatabaseadaptorGroup dbag,
-! const AjPStr alias);
-
- EnsPDatabaseadaptor ensRegistryGetReferenceadaptor(EnsPDatabaseadaptor dba);
-
---- 121,127 ----
-
- EnsPDatabaseadaptor ensRegistryGetDatabaseadaptor(
- EnsEDatabaseadaptorGroup dbag,
-! AjPStr alias);
-
- EnsPDatabaseadaptor ensRegistryGetReferenceadaptor(EnsPDatabaseadaptor dba);
-
-diff -c -N --recursive -a EMBOSS-6.4.0old/ajax/ensembl/ensregistry.c EMBOSS-6.4.0/ajax/ensembl/ensregistry.c
-*** EMBOSS-6.4.0old/ajax/ensembl/ensregistry.c 2011-07-08 12:43:41.000000000 +0100
---- EMBOSS-6.4.0/ajax/ensembl/ensregistry.c 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 569,576 ****
- const RegistryPQualityCheck rqc,
- ajuint level);
-
-- static AjPStr registryAliasRegister(const AjPStr alias);
--
- static AjBool registryAliasLoadDatabaseconnection(
- EnsPDatabaseconnection dbc,
- EnsPDatabaseadaptor dba);
---- 569,574 ----
-***************
-*** 2029,2034 ****
---- 2027,2034 ----
-
- AjBool ensRegistryLoadServername(AjPStr servername)
- {
-+ ajuint dbid = 0;
-+
- AjBool debug = AJFALSE;
- AjBool registered = AJFALSE;
-
-***************
-*** 2037,2042 ****
---- 2037,2045 ----
- AjPList svrnames = NULL;
- AjPList dbnames = NULL;
-
-+ AjPRegexp dbidre = NULL;
-+
-+ AjPStr dbidstr = NULL;
- AjPStr dbname = NULL;
- AjPStr source = NULL;
- AjPStr svrname = NULL;
-***************
-*** 2059,2064 ****
---- 2062,2069 ----
- ** List objects must be re-created and freed for each server.
+--- emboss-6.4.0.orig/ajax/ajaxdb/ajtextdb.c
++++ emboss-6.4.0/ajax/ajaxdb/ajtextdb.c
+@@ -2580,9 +2580,7 @@
+ {
+ field = ajListIterGet(iter);
+
+- if(!nfields)
+- ajStrAppendK(&textin->Filename, '+');
+- else
++ if(nfields)
+ {
+ switch(field->Link)
+ {
+@@ -2684,9 +2682,7 @@
+ {
+ field = ajListIterGet(iter);
+
+- if(!nfields)
+- ajStrAppendK(&textin->Filename, '+');
+- else
++ if(nfields)
+ {
+ switch(field->Link)
+ {
+--- emboss-6.4.0.orig/ajax/core/ajarch.h
++++ emboss-6.4.0/ajax/core/ajarch.h
+@@ -137,7 +137,7 @@
+
+ #ifdef WIN32
+ typedef int ajint;
+-typedef long ajlong; /* May need to make this long long. */
++typedef long long ajlong;
+ typedef unsigned int ajuint;
+ typedef short ajshort;
+ typedef unsigned short ajushort;
+@@ -159,4 +159,3 @@
+ AJ_END_DECLS
+
+ #endif
+-
+--- emboss-6.4.0.orig/ajax/core/ajfeatread.c
++++ emboss-6.4.0/ajax/core/ajfeatread.c
+@@ -3035,7 +3035,8 @@
+ AjPStr TvString = NULL;
+ AjPStr tmptag = NULL;
+ AjBool grpset = ajFalse;
+-
++ AjBool escapedquote = ajFalse;
++
+ /*ajDebug("featGff3oldProcessTagval '%S'\n",
+ groupfield); */
+
+@@ -3050,12 +3051,19 @@
*/
-
-+ dbidre = ajRegCompC("SpeciesIdentifier=(\\d+)");
-+
- value = ajStrNew();
-
- svrnames = ajListstrNew();
-***************
-*** 2103,2119 ****
-
- registrySourceRegister(source, ®istered);
-
- ajStrDel(&source);
-
- if(registered == ajTrue)
-- {
-- if(debug)
-- ajDebug("ensRegistryLoadServername '%S' already "
-- "registered.\n",
-- svrname);
--
- continue;
-- }
-
- /*
- ** Create an Ensembl Database Connection to the AJAX Server for
---- 2108,2122 ----
-
- registrySourceRegister(source, ®istered);
-
-+ if((debug == ajTrue) && (registered == ajTrue))
-+ ajDebug("ensRegistryLoadServername '%S' already "
-+ "registered via source '%S'.\n",
-+ svrname, source);
-+
- ajStrDel(&source);
-
- if(registered == ajTrue)
- continue;
-
- /*
- ** Create an Ensembl Database Connection to the AJAX Server for
-***************
-*** 2150,2189 ****
-
- dba = ensDatabaseadaptorNewUrl(value);
-
-! if((ensDatabaseadaptorGetMultispecies(dba) == ajTrue) &&
-! (ensDatabaseadaptorGetIdentifier(dba) == 0))
- {
- /*
-! ** Expand an Ensembl Database Adaptor representing a
-! ** collection database into species-specific
-! ** Ensembl Database Adaptor objects before registering.
-! ** Delete the Ensembl Database Adaptor for the collection.
- */
-
-! registryEntryLoadCollection(
-! dbc,
-! ensDatabaseconnectionGetDatabasename(
-! ensDatabaseadaptorGetDatabaseconnection(dba)),
-! ensDatabaseadaptorGetGroup(dba));
-
-! ensDatabaseadaptorDel(&dba);
-! }
-! else
-! {
-! /*
-! ** Register Ensembl Database Adaptor objects for
-! ** multi-species and species-specific databases.
-! ** Add the species as alias if registered or delete the
-! ** Ensembl Database Adaptor if not registered,
-! ** successfully.
-! */
-
-! if(ensRegistryAddDatabaseadaptor(dba))
-! ensRegistryAliasAdd(ensDatabaseadaptorGetSpecies(dba),
-! ensDatabaseadaptorGetSpecies(dba));
- else
- ensDatabaseadaptorDel(&dba);
- }
- }
-
- ajListIterDel(&dbniter);
---- 2153,2216 ----
-
- dba = ensDatabaseadaptorNewUrl(value);
-
-! if(ensDatabaseadaptorGetMultispecies(dba) == ajTrue)
- {
- /*
-! ** For Ensembl Database Adaptors representing collection
-! ** databases, the species name needs resetting to the AJAX
-! ** database name and the species identifier needs parsing
-! ** from the comment field of the AJAX database definition.
- */
-
-! ensDatabaseadaptorSetSpecies(dba, dbname);
-
-! ajNamSvrGetdbAttrC(svrname, dbname, "comment", &value);
-
-! if(ajRegExec(dbidre, value))
-! {
-! dbid = 0;
-! dbidstr = ajStrNew();
-!
-! ajRegSubI(dbidre, 1, &dbidstr);
-!
-! if(ajStrToUint(dbidstr, &dbid))
-! {
-! ensDatabaseadaptorSetIdentifier(dba, dbid);
-!
-! ajStrDel(&dbidstr);
-! }
-! else
-! {
-! ajDebug("ensRegistryLoadServer could not parse a "
-! "valid unsigned integer from the "
-! "'SpeciesIdentifer=INTEGER' expression in "
-! "the comment field of AJAX database "
-! "definition for Ensembl collection "
-! "database '%S'.\n", dbname);
-!
-! ajStrDel(&dbidstr);
-!
-! ensDatabaseadaptorDel(&dba);
-!
-! continue;
-! }
-! }
- else
-+ {
-+ ajDebug("ensRegistryLoadServer could not find a "
-+ "'SpeciesIdentifer=INTEGER' entry in the "
-+ "comment field of AJAX database "
-+ "definition for Ensembl collection "
-+ "database '%S'.\n", dbname);
-+
- ensDatabaseadaptorDel(&dba);
-+
-+ continue;
-+ }
- }
-+
-+ if(ensRegistryAddDatabaseadaptor(dba) == ajFalse)
-+ ensDatabaseadaptorDel(&dba);
- }
-
- ajListIterDel(&dbniter);
-***************
-*** 2196,2201 ****
---- 2223,2230 ----
- ajListIterDel(&svriter);
- ajListstrFree(&svrnames);
-
-+ ajRegFree(&dbidre);
-+
- ajStrDel(&value);
-
- if(debug)
-***************
-*** 2370,2439 ****
-
-
-
-- /* @funcstatic registryAliasRegister ******************************************
-- **
-- ** Check, whether an alias name can be resolved directly or after replacing
-- ** underscore characters into a species name. If not, register the alias
-- ** without underscore characters and set the alias with underscores as alias.
-- **
-- ** @param [r] alias [const AjPStr] Alias name
-- **
-- ** @return [AjPStr] Species name or NULL
-- ** @@
-- ******************************************************************************/
--
-- static AjPStr registryAliasRegister(const AjPStr alias)
-- {
-- AjPStr species = NULL;
-- AjPStr unalias = NULL;
--
-- if(!(alias && ajStrGetLen(alias)))
-- return NULL;
--
-- /* Resolve an eventual alias to the species name. */
--
-- ensRegistryAliasResolve(alias, &species);
--
-- if(!species)
-- {
-- /*
-- ** If this alias has not been registered before, test if it has been
-- ** registered without underscores.
-- */
--
-- unalias = ajStrNewS(alias);
--
-- /*
-- ** FIXME: Since EMBOSS DBNAMES cannot cope with spaces species names
-- ** must include underscores.
-- ajStrExchangeCC(&unalias, "_", " ");
-- */
--
-- ensRegistryAliasResolve(unalias, &species);
--
-- if(!species)
-- {
-- /*
-- ** If the alias without underscores has also not been registered
-- ** before, register it as species before registering the one
-- ** with underscores as alias.
-- */
--
-- ensRegistryAliasAdd(unalias, unalias);
-- ensRegistryAliasAdd(unalias, alias);
--
-- ensRegistryAliasResolve(alias, &species);
-- }
--
-- ajStrDel(&unalias);
-- }
--
-- return species;
-- }
--
--
--
--
- /* @func ensRegistryAliasAdd **************************************************
- **
- ** Add a Registry Alias entry to the Ensembl Registry.
---- 2399,2404 ----
-***************
-*** 2861,2868 ****
-
- ajStrAssignS(&species, line);
-
-- ensRegistryAliasAdd(species, species);
--
- block = ajTrue;
- }
- }
---- 2826,2831 ----
-***************
-*** 3387,3394 ****
- ajSqlcolumnToUint(sqlr, &identifier);
- ajSqlcolumnToStr(sqlr, &species);
-
-- ensRegistryAliasAdd(species, species);
--
- dba = ensRegistryNewDatabaseadaptor(dbc,
- dbname,
- species,
---- 3350,3355 ----
-***************
-*** 3699,3705 ****
- if(!alias)
- return NULL;
-
-! species = registryAliasRegister(alias);
-
- dba = ensDatabaseadaptorNewIni(dbc,
- database,
---- 3660,3669 ----
- if(!alias)
- return NULL;
-
-! ensRegistryAliasResolve(alias, &species);
-!
-! if(species == NULL)
-! species = alias;
-
- dba = ensDatabaseadaptorNewIni(dbc,
- database,
-***************
-*** 3801,3807 ****
- if(!alias)
- return NULL;
-
-! species = registryAliasRegister(alias);
-
- rsa = ensDatabaseadaptorNewIni(dbc,
- database,
---- 3765,3774 ----
- if(!alias)
- return NULL;
-
-! ensRegistryAliasResolve(alias, &species);
-!
-! if(species == NULL)
-! species = alias;
-
- rsa = ensDatabaseadaptorNewIni(dbc,
- database,
-***************
-*** 4517,4529 ****
- **
- ** @argrule AllDatabaseadaptors dbag [EnsEDatabaseadaptorGroup]
- ** Ensembl Database Adaptor Group enumeration
-! ** @argrule AllDatabaseadaptors alias [const AjPStr]
- ** Ensembl Database Adaptor alias name or species name
- ** @argrule AllDatabaseadaptors dbas [AjPList] AJAX List of
- ** Ensembl Database Adaptor objects
- ** @argrule Databaseadaptor dbag [EnsEDatabaseadaptorGroup]
- ** Ensembl Database Adaptor Group enumeration
-! ** @argrule Databaseadaptor alias [const AjPStr]
- ** Ensembl Database Adaptor alias name or species name
- ** @argrule Referenceadaptor dba [EnsPDatabaseadaptor] Ensembl Database Adaptor
- **
---- 4484,4496 ----
- **
- ** @argrule AllDatabaseadaptors dbag [EnsEDatabaseadaptorGroup]
- ** Ensembl Database Adaptor Group enumeration
-! ** @argrule AllDatabaseadaptors alias [AjPStr]
- ** Ensembl Database Adaptor alias name or species name
- ** @argrule AllDatabaseadaptors dbas [AjPList] AJAX List of
- ** Ensembl Database Adaptor objects
- ** @argrule Databaseadaptor dbag [EnsEDatabaseadaptorGroup]
- ** Ensembl Database Adaptor Group enumeration
-! ** @argrule Databaseadaptor alias [AjPStr]
- ** Ensembl Database Adaptor alias name or species name
- ** @argrule Referenceadaptor dba [EnsPDatabaseadaptor] Ensembl Database Adaptor
- **
-***************
-*** 4549,4555 ****
- **
- ** @param [uN] dbag [EnsEDatabaseadaptorGroup] Ensembl Database Adaptor Group
- ** enumeration
-! ** @param [rN] alias [const AjPStr] Ensembl Database Adaptor alias name or
- ** species name
- ** @param [u] dbas [AjPList] AJAX List of Ensembl Database Adaptor objects
- **
---- 4516,4522 ----
- **
- ** @param [uN] dbag [EnsEDatabaseadaptorGroup] Ensembl Database Adaptor Group
- ** enumeration
-! ** @param [rN] alias [AjPStr] Ensembl Database Adaptor alias name or
- ** species name
- ** @param [u] dbas [AjPList] AJAX List of Ensembl Database Adaptor objects
- **
-***************
-*** 4558,4564 ****
- ******************************************************************************/
-
- AjBool ensRegistryGetAllDatabaseadaptors(EnsEDatabaseadaptorGroup dbag,
-! const AjPStr alias,
- AjPList dbas)
- {
- void** keyarray = NULL;
---- 4525,4531 ----
- ******************************************************************************/
-
- AjBool ensRegistryGetAllDatabaseadaptors(EnsEDatabaseadaptorGroup dbag,
-! AjPStr alias,
- AjPList dbas)
- {
- void** keyarray = NULL;
-***************
-*** 4593,4600 ****
---- 4560,4576 ----
- if(!dbas)
- return ajFalse;
-
-+ /*
-+ ** Resolve an alias name into a valid species name. If the alias did not
-+ ** resolve into a species name, use the alias directly. If an alias was
-+ ** not passed in, it is still NULL, implying all species.
-+ */
-+
- ensRegistryAliasResolve(alias, &species);
-
-+ if(species == NULL)
-+ species = alias;
-+
- ajTableToarrayKeysValues(registryEntry, &keyarray, &valarray);
-
- for(i = 0; keyarray[i]; i++)
-***************
-*** 4761,4767 ****
- ** @cc Bio::EnsEMBL::Registry::get_DBAdaptor
- ** @param [u] dbag [EnsEDatabaseadaptorGroup] Ensembl Database Adaptor Group
- ** enumeration
-! ** @param [r] alias [const AjPStr] Scientific species name or alias name
- **
- ** @return [EnsPDatabaseadaptor] Ensembl Database Adaptor or NULL
- ** @@
---- 4737,4743 ----
- ** @cc Bio::EnsEMBL::Registry::get_DBAdaptor
- ** @param [u] dbag [EnsEDatabaseadaptorGroup] Ensembl Database Adaptor Group
- ** enumeration
-! ** @param [r] alias [AjPStr] Scientific species name or alias name
- **
- ** @return [EnsPDatabaseadaptor] Ensembl Database Adaptor or NULL
- ** @@
-***************
-*** 4769,4775 ****
-
- EnsPDatabaseadaptor ensRegistryGetDatabaseadaptor(
- EnsEDatabaseadaptorGroup dbag,
-! const AjPStr alias)
- {
- AjBool debug = AJFALSE;
-
---- 4745,4751 ----
-
- EnsPDatabaseadaptor ensRegistryGetDatabaseadaptor(
- EnsEDatabaseadaptorGroup dbag,
-! AjPStr alias)
- {
- AjBool debug = AJFALSE;
-
-***************
-*** 4797,4804 ****
---- 4773,4788 ----
- if(!alias)
- return NULL;
-
-+ /*
-+ ** Resolve an alias name into a valid species name. If the alias did not
-+ ** resolve into a species name, use the alias directly.
-+ */
-+
- ensRegistryAliasResolve(alias, &species);
-
-+ if(species == NULL)
-+ species = alias;
-+
- if(debug)
- ajDebug("ensRegistryGetDatabaseadaptor alias '%S' -> species '%S'\n",
- alias, species);
-diff -c -N --recursive -a EMBOSS-6.4.0old/ajax/ensembl/ensregistry.h EMBOSS-6.4.0/ajax/ensembl/ensregistry.h
-*** EMBOSS-6.4.0old/ajax/ensembl/ensregistry.h 2011-05-25 20:55:04.000000000 +0100
---- EMBOSS-6.4.0/ajax/ensembl/ensregistry.h 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 116,122 ****
- AjBool ensRegistryRemoveDatabaseadaptor(EnsPDatabaseadaptor* Pdba);
-
- AjBool ensRegistryGetAllDatabaseadaptors(EnsEDatabaseadaptorGroup dbag,
-! const AjPStr alias,
- AjPList dbas);
-
- AjPStr ensRegistryGetStableidentifierprefix(EnsPDatabaseadaptor dba);
---- 116,122 ----
- AjBool ensRegistryRemoveDatabaseadaptor(EnsPDatabaseadaptor* Pdba);
-
- AjBool ensRegistryGetAllDatabaseadaptors(EnsEDatabaseadaptorGroup dbag,
-! AjPStr alias,
- AjPList dbas);
-
- AjPStr ensRegistryGetStableidentifierprefix(EnsPDatabaseadaptor dba);
-diff -c -N --recursive -a EMBOSS-6.4.0old/emboss/cacheensembl.c EMBOSS-6.4.0/emboss/cacheensembl.c
-*** EMBOSS-6.4.0old/emboss/cacheensembl.c 2011-07-08 17:29:51.000000000 +0100
---- EMBOSS-6.4.0/emboss/cacheensembl.c 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 181,186 ****
---- 181,191 ----
- ajFmtPrintF(outf, "%S\n", dbname);
-
- ajFmtPrintF(cachef, "DBNAME %S [\n", dbname);
-+
-+ if(ensDatabaseadaptorGetMultispecies(dba) == ajTrue)
-+ ajFmtPrintF(cachef, " comment: \"SpeciesIdentifier=%u\"\n",
-+ ensDatabaseadaptorGetIdentifier(dba));
-+
- ajFmtPrintF(cachef, " release: \"%s\"\n", ensSoftwareGetVersion());
- ajFmtPrintF(cachef, " server: \"%S\"\n", svrname);
- ajFmtPrintF(cachef, " url: \"%S\"\n", dbcurl);
-diff -c -N --recursive -a EMBOSS-6.4.0old/emboss/cirdna.c EMBOSS-6.4.0/emboss/cirdna.c
-*** EMBOSS-6.4.0old/emboss/cirdna.c 2011-05-16 11:17:10.000000000 +0100
---- EMBOSS-6.4.0/emboss/cirdna.c 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 970,976 ****
- {
- token = ajStrParseC(Name2, ";");
- /*ajStrExchangeCC(&Name2, ";", " ");*/
-! stringLength = ajGraphicsCalcTextlengthS(token);
- xy1 = ajGraphicsCalcCoord(xDraw, yDraw, r2Ticks+postext, Angle);
- xy2 = ajGraphicsCalcCoord(xDraw, yDraw, r2Ticks+postext+stringLength,
- Angle);
---- 970,976 ----
- {
- token = ajStrParseC(Name2, ";");
- /*ajStrExchangeCC(&Name2, ";", " ");*/
-! stringLength = mmtolen * ajGraphicsCalcTextlengthS(token);
- xy1 = ajGraphicsCalcCoord(xDraw, yDraw, r2Ticks+postext, Angle);
- xy2 = ajGraphicsCalcCoord(xDraw, yDraw, r2Ticks+postext+stringLength,
- Angle);
-***************
-*** 1029,1034 ****
---- 1029,1038 ----
- float stringHeight;
- float r1Blocks;
- float r2Blocks;
-+ float mmtolen;
-+
-+ /* radius is 2pi*radius in mm, RealLength in bases */
-+ mmtolen = RealLength/(Radius * (float) 2.0 * (float) 3.1416);
-
- r1Blocks = Radius+((float)1.0*BlockHeight/(float)2);
- r2Blocks = r1Blocks-BlockHeight;
-***************
-*** 1053,1067 ****
- ajGraphicsSetFgcolour(Colour);
- }
-
-! stringLength = cirdna_HorTextPileLengthMax(Name2, NumNames);
- stringHeight = ajGraphicsCalcTextheight();
-! StartAngle = cirdna_ComputeAngle(RealLength, (To+From)/2+stringLength/2,
- OriginAngle);
-! EndAngle = cirdna_ComputeAngle(RealLength, (To+From)/2-stringLength/2,
- OriginAngle);
-
- if(ajStrMatchCaseC(PosBlocks, "Out") )
-! cirdna_HorTextPile(xDraw, yDraw, r1Blocks+(Adjust*postext), StartAngle,
- EndAngle, Name2, postext, 1);
- else
- cirdna_HorTextPile(xDraw, yDraw,
---- 1057,1073 ----
- ajGraphicsSetFgcolour(Colour);
- }
-
-! stringLength = mmtolen * cirdna_HorTextPileLengthMax(Name2, NumNames);
- stringHeight = ajGraphicsCalcTextheight();
-! StartAngle = cirdna_ComputeAngle(RealLength,
-! (To+From)/2 + stringLength/2,
- OriginAngle);
-! EndAngle = cirdna_ComputeAngle(RealLength,
-! (To+From)/2 - stringLength/2,
- OriginAngle);
-
- if(ajStrMatchCaseC(PosBlocks, "Out") )
-! cirdna_HorTextPile(xDraw, yDraw, r1Blocks+Adjust*postext, StartAngle,
- EndAngle, Name2, postext, 1);
- else
- cirdna_HorTextPile(xDraw, yDraw,
-diff -c -N --recursive -a EMBOSS-6.4.0old/emboss/data/Efeatures.gff3protein EMBOSS-6.4.0/emboss/data/Efeatures.gff3protein
-*** EMBOSS-6.4.0old/emboss/data/Efeatures.gff3protein 2009-03-06 12:37:43.000000000 +0000
---- EMBOSS-6.4.0/emboss/data/Efeatures.gff3protein 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 193,199 ****
-
- # METAL - Binding site for a metal ion.
-
-! metal_binding SO:0001092 SO:0001092_metal
- /note
- /comment
-
---- 193,199 ----
-
- # METAL - Binding site for a metal ion.
-
-! polypeptide_metal_contact SO:0001092 SO:0001092_metal
- /note
- /comment
-
-***************
-*** 215,225 ****
- # internal cyclic lactam
- #SULFATATION Generally of tyrosine
-
-! protein_modification_categorized_by_chemical_process MOD:01156
-! /note
-! /comment
-!
-! post_translational_modification SO:0001089
- /note
- /comment
-
---- 215,221 ----
- # internal cyclic lactam
- #SULFATATION Generally of tyrosine
-
-! post_translationally_modified_region MOD:01156 SO:0001089
- /note
- /comment
-
-***************
-*** 351,357 ****
-
- # TURN - DSSP secondary structure
-
-! turn SO:0001128
- /note
- /comment
-
---- 347,353 ----
-
- # TURN - DSSP secondary structure
-
-! polypeptide_turn_motif SO:0001128
- /note
- /comment
-
-***************
-*** 371,377 ****
- # /comment
- /ftid
-
-! natural_variant SO:0001147 SO:0001147_variant
- /note
- /comment
- /ftid
---- 367,373 ----
- # /comment
- /ftid
-
-! natural_variant_site SO:0001147 SO:0001147_variant
- /note
- /comment
- /ftid
-diff -c -N --recursive -a EMBOSS-6.4.0old/emboss/data/Etcode.dat EMBOSS-6.4.0/emboss/data/Etcode.dat
-*** EMBOSS-6.4.0old/emboss/data/Etcode.dat 2003-03-07 09:45:22.000000000 +0000
---- EMBOSS-6.4.0/emboss/data/Etcode.dat 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 22,27 ****
---- 22,28 ----
- 0.25
- 0.23
- 0.21
-+ 0.19
- 0.17
- 0.00
- #
-diff -c -N --recursive -a EMBOSS-6.4.0old/emboss/dbiflat.c EMBOSS-6.4.0/emboss/dbiflat.c
-*** EMBOSS-6.4.0old/emboss/dbiflat.c 2011-06-23 19:18:45.000000000 +0100
---- EMBOSS-6.4.0/emboss/dbiflat.c 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 91,96 ****
---- 91,100 ----
-
- static AjPList* fdl = NULL;
-
-+ static AjBool dbiflat_ParseSwiss(AjPFile libr, AjPFile* alistfile,
-+ AjBool systemsort, AjPStr* fields,
-+ ajint* maxFieldLen, ajuint* countfield,
-+ ajint *dpos, AjPStr* myid, AjPList* acl);
- static AjBool dbiflat_ParseEmbl(AjPFile libr, AjPFile* alistfile,
- AjBool systemsort, AjPStr* fields,
- ajint* maxFieldLen, ajuint* countfield,
-***************
-*** 135,141 ****
- static DbiflatOParser parser[] =
- {
- {"EMBL", dbiflat_ParseEmbl},
-! {"SWISS", dbiflat_ParseEmbl},
- {"GB", dbiflat_ParseGenbank},
- {"REFSEQ", dbiflat_ParseRefseq},
- {NULL, NULL}
---- 139,145 ----
- static DbiflatOParser parser[] =
- {
- {"EMBL", dbiflat_ParseEmbl},
-! {"SWISS", dbiflat_ParseSwiss},
- {"GB", dbiflat_ParseGenbank},
- {"REFSEQ", dbiflat_ParseRefseq},
- {NULL, NULL}
-***************
-*** 596,601 ****
---- 600,984 ----
-
-
-
-+ /* @funcstatic dbiflat_ParseSwiss *********************************************
-+ **
-+ ** Parse the ID, accession from a SwissProt or UniProtKB entry.
-+ **
-+ ** Reads to the end of the entry and then returns.
-+ **
-+ ** @param [u] libr [AjPFile] Input database file
-+ ** @param [u] alistfile [AjPFile*] field data files array
-+ ** @param [r] systemsort [AjBool] If ajTrue use system sort, else internal sort
-+ ** @param [w] fields [AjPStr*] Fields required
-+ ** @param [w] maxFieldLen [ajint*] Maximum token length for each field
-+ ** @param [w] countfield [ajuint*] Number of tokens for each field
-+ ** @param [w] dpos [ajint*] Byte offset
-+ ** @param [w] myid [AjPStr*] ID
-+ ** @param [w] myfdl [AjPList*] Lists of field values
-+ ** @return [AjBool] ajTrue on success.
-+ ** @@
-+ ******************************************************************************/
-+
-+ static AjBool dbiflat_ParseSwiss(AjPFile libr, AjPFile* alistfile,
-+ AjBool systemsort, AjPStr* fields,
-+ ajint* maxFieldLen, ajuint* countfield,
-+ ajint* dpos, AjPStr* myid,
-+ AjPList* myfdl)
-+ {
-+ AjPStr tmpacnum = NULL;
-+ char* fd;
-+ ajint lineType;
-+ static ajint numFields;
-+ static ajint accfield = -1;
-+ static ajint desfield = -1;
-+ static ajint keyfield = -1;
-+ static ajint taxfield = -1;
-+ static ajint svnfield = -1;
-+ static AjBool reset = AJTRUE;
-+ AjBool svndone = ajFalse;
-+ AjBool done = ajFalse;
-+ ajint i;
-+ ajint lo;
-+ ajint hi;
-+ ajint fieldwidth;
-+ AjPStr tmpac = NULL;
-+ AjPStr format = NULL;
-+ AjPStr prefix = NULL;
-+ const char* p;
-+ const char* q;
-+ const char* swissprefix[] = {
-+ "RecName: ", "AltName: ", "SubName: ",
-+ "Includes:", "Contains:", "Flags: ",
-+ "Full=", "Short=", "EC=",
-+ "Allergen=", "Biotech=", "CD_antigen=", "INN=",
-+ NULL
-+ };
-+ ajuint j;
-+
-+ if(!fields)
-+ {
-+ reset = ajTrue;
-+ accfield = svnfield = desfield = keyfield = taxfield = -1;
-+ return ajFalse;
-+ }
-+
-+ if(reset)
-+ {
-+ numFields = 0;
-+ while(fields[numFields])
-+ {
-+ countfield[numFields]=0;
-+ if(ajStrMatchCaseC(fields[numFields], "acc"))
-+ accfield=numFields;
-+ else if(ajStrMatchCaseC(fields[numFields], "sv"))
-+ svnfield=numFields;
-+ else if(ajStrMatchCaseC(fields[numFields], "des"))
-+ desfield=numFields;
-+ else if(ajStrMatchCaseC(fields[numFields], "key"))
-+ keyfield=numFields;
-+ else if(ajStrMatchCaseC(fields[numFields], "org"))
-+ taxfield=numFields;
-+ else
-+ ajWarn("EMBL parsing unknown field '%S' ignored",
-+ fields[numFields]);
-+ numFields++;
-+ }
-+
-+ reset = ajFalse;
-+ }
-+
-+ if(!regEmblType)
-+ regEmblType = ajRegCompC("^([A-Z][A-Z]) +");
-+
-+ if(!regEmblAcc)
-+ regEmblAcc = ajRegCompC("([A-Za-z0-9-]+)");
-+
-+ if(!regEmblWrd)
-+ regEmblWrd = ajRegCompC("([A-Za-z0-9_]+)");
-+
-+ if(!regEmblVer)
-+ regEmblVer = ajRegCompC("([A-Za-z0-9_.]+)");
-+
-+ if(!regEmblPhr)
-+ regEmblPhr = ajRegCompC(" *([^;.\n\r]+)");
-+
-+ if(!regEmblTax)
-+ regEmblTax = ajRegCompC(" *([^;.\n\r()]+)");
-+
-+ if(!regEmblId)
-+ regEmblId = ajRegCompC("^ID ([^\\s;]+)(;\\s+SV\\s+(\\d+))?");
-+
-+ if(!regEmblEnd)
-+ regEmblEnd = ajRegCompC("^//");
-+
-+ *dpos = (ajint) ajFileResetPos(libr); /* Lossy cast */
-+
-+ while(ajReadline(libr, &rline))
-+ {
-+ if(ajRegExec(regEmblEnd, rline))
-+ {
-+ done = ajTrue;
-+ break;
-+ }
-+
-+ if(ajRegExec(regEmblType, rline))
-+ {
-+ ajRegSubI(regEmblType, 1, &typStr);
-+ if(ajStrMatchC(typStr, "ID"))
-+ lineType = FLATTYPE_ID;
-+ else if(ajStrMatchC(typStr, "SV") ||
-+ ajStrMatchC(typStr, "IV")) /* emblcds database */
-+ lineType = FLATTYPE_VER;
-+ else if(ajStrMatchC(typStr, "AC") ||
-+ ajStrMatchC(typStr, "PA")) /* emblcds database */
-+ lineType = FLATTYPE_ACC;
-+ else if(ajStrMatchC(typStr, "DE"))
-+ lineType = FLATTYPE_DES;
-+ else if(ajStrMatchC(typStr, "KW"))
-+ lineType = FLATTYPE_KEY;
-+ else if(ajStrMatchC(typStr, "OS"))
-+ lineType = FLATTYPE_TAX;
-+ else if(ajStrMatchC(typStr, "OC"))
-+ lineType = FLATTYPE_TAX;
-+ else
-+ lineType=FLATTYPE_OTHER;
-+
-+ if(lineType != FLATTYPE_OTHER)
-+ ajRegPost(regEmblType, &tmpline);
-+ }
-+ else
-+ lineType = FLATTYPE_OTHER;
-+
-+ if(lineType == FLATTYPE_ID)
-+ {
-+ ajRegExec(regEmblId, rline);
-+ ajRegSubI(regEmblId, 1, myid);
-+ ajStrFmtUpper(myid);
-+ ajDebug("++id '%S'\n", *myid);
-+ ajRegSubI(regEmblId, 3, &tmpfd);
-+ if(svnfield >= 0 && ajStrGetLen(tmpfd))
-+ {
-+ ajStrFmtUpper(&tmpfd);
-+ ajStrInsertK(&tmpfd, 0, '.');
-+ ajStrInsertS(&tmpfd, 0, *myid);
-+ /*ajDebug("++sv '%S'\n", tmpfd);*/
-+ embDbiMaxlen(&tmpfd, &maxFieldLen[svnfield]);
-+
-+ countfield[svnfield]++;
-+ if(systemsort)
-+ ajFmtPrintF(alistfile[svnfield], "%S %S\n", *myid, tmpfd);
-+ else
-+ {
-+ fd = ajCharNewS(tmpfd);
-+ ajListPushAppend(myfdl[svnfield], fd);
-+ }
-+ svndone = ajTrue;
-+ }
-+ continue;
-+ }
-+
-+ if(lineType == FLATTYPE_ACC && accfield >= 0)
-+ {
-+ while(ajRegExec(regEmblAcc, tmpline))
-+ {
-+ ajRegSubI(regEmblAcc, 1, &tmpfd);
-+ ajStrFmtUpper(&tmpfd);
-+ /*ajDebug("++acc '%S'\n", tmpfd);*/
-+
-+ if(!tmpacnum)
-+ ajStrAssignS(&tmpacnum, tmpfd);
-+
-+ if((p=strchr(MAJSTRGETPTR(tmpfd),(int)'-')))
-+ {
-+ q = p;
-+ while(isdigit((int)*(--q)));
-+ ++q;
-+ ajStrAssignSubC(&tmpstr,q,0,(ajint)(p-q-1));
-+ ajStrToInt(tmpstr,&lo);
-+ fieldwidth = (ajint) (p-q);
-+ ajFmtPrintS(&format,"%%S%%0%dd",fieldwidth);
-+
-+ ++p;
-+ q = p;
-+ while(!isdigit((int)*q))
-+ ++q;
-+ sscanf(q,"%d",&hi);
-+ ajStrAssignSubC(&prefix,p,0,(ajint)(q-p-1));
-+
-+ if(systemsort)
-+ {
-+ for(i=lo;i<=hi;++i)
-+ {
-+ ajFmtPrintS(&tmpac,MAJSTRGETPTR(format),prefix,i);
-+ embDbiMaxlen(&tmpac, &maxFieldLen[accfield]);
-+ countfield[accfield]++;
-+ ajFmtPrintF(alistfile[accfield],
-+ "%S %S\n", *myid, tmpac);
-+ }
-+ ajStrDel(&tmpac);
-+ }
-+ else
-+ {
-+ for(i=lo;i<=hi;++i)
-+ {
-+ ajFmtPrintS(&tmpac,MAJSTRGETPTR(format),prefix,i);
-+ embDbiMaxlen(&tmpac, &maxFieldLen[accfield]);
-+ countfield[accfield]++;
-+ fd = ajCharNewS(tmpac);
-+ ajListPushAppend(myfdl[accfield], fd);
-+ }
-+ ajStrDel(&tmpac);
-+ }
-+ ajStrDel(&format);
-+ ajStrDel(&prefix);
-+ }
-+ else {
-+ embDbiMaxlen(&tmpfd, &maxFieldLen[accfield]);
-+
-+ countfield[accfield]++;
-+ if(systemsort)
-+ ajFmtPrintF(alistfile[accfield],
-+ "%S %S\n", *myid, tmpfd);
-+ else
-+ {
-+ fd = ajCharNewS(tmpfd);
-+ ajListPushAppend(myfdl[accfield], fd);
-+ }
-+ }
-+ ajRegPost(regEmblAcc, &tmpstr);
-+ ajStrAssignS(&tmpline, tmpstr);
-+ }
-+ continue;
-+ }
-+ else if(lineType == FLATTYPE_DES && desfield >= 0)
-+ {
-+ ajStrTrimWhiteStart(&tmpline);
-+ for(j=0; swissprefix[j]; j++)
-+ {
-+ if(ajStrPrefixC(tmpline, swissprefix[j]))
-+ ajStrCutStart(&tmpline, strlen(swissprefix[j]));
-+ }
-+ while(ajRegExec(regEmblWrd, tmpline))
-+ {
-+ ajRegSubI(regEmblWrd, 1, &tmpfd);
-+ ajStrFmtUpper(&tmpfd);
-+ /*ajDebug("++des '%S'\n", tmpfd);*/
-+ embDbiMaxlen(&tmpfd, &maxFieldLen[desfield]);
-+
-+ countfield[desfield]++;
-+ if(systemsort)
-+ ajFmtPrintF(alistfile[desfield], "%S %S\n", *myid, tmpfd);
-+ else
-+ {
-+ fd = ajCharNewS(tmpfd);
-+ ajListPushAppend(myfdl[desfield], fd);
-+ }
-+ ajRegPost(regEmblWrd, &tmpstr);
-+ ajStrAssignS(&tmpline, tmpstr);
-+ }
-+ continue;
-+ }
-+ else if(lineType == FLATTYPE_VER && svnfield >= 0)
-+ {
-+ while(ajRegExec(regEmblVer, tmpline))
-+ {
-+ ajRegSubI(regEmblVer, 1, &tmpfd);
-+ ajStrFmtUpper(&tmpfd);
-+ /*ajDebug("++sv '%S'\n", tmpfd);*/
-+ embDbiMaxlen(&tmpfd, &maxFieldLen[svnfield]);
-+
-+ countfield[svnfield]++;
-+ if(systemsort)
-+ ajFmtPrintF(alistfile[svnfield], "%S %S\n", *myid, tmpfd);
-+ else
-+ {
-+ fd = ajCharNewS(tmpfd);
-+ ajListPushAppend(myfdl[svnfield], fd);
-+ }
-+ ajRegPost(regEmblVer, &tmpstr);
-+ ajStrAssignS(&tmpline, tmpstr);
-+ }
-+ svndone = ajTrue;
-+ continue;
-+ }
-+ else if(lineType == FLATTYPE_KEY && keyfield >= 0)
-+ {
-+ while(ajRegExec(regEmblPhr, tmpline))
-+ {
-+ ajRegSubI(regEmblPhr, 1, &tmpfd);
-+ ajRegPost(regEmblPhr, &tmpstr);
-+ ajStrAssignS(&tmpline, tmpstr);
-+ ajStrTrimWhiteEnd(&tmpfd);
-+ if(!ajStrGetLen(tmpfd))
-+ continue;
-+ ajStrFmtUpper(&tmpfd);
-+ /*ajDebug("++key '%S'\n", tmpfd);*/
-+ embDbiMaxlen(&tmpfd, &maxFieldLen[keyfield]);
-+
-+ countfield[keyfield]++;
-+ if(systemsort)
-+ ajFmtPrintF(alistfile[keyfield], "%S %S\n", *myid, tmpfd);
-+ else
-+ {
-+ fd = ajCharNewS(tmpfd);
-+ ajListPushAppend(myfdl[keyfield], fd);
-+ }
-+ }
-+ continue;
-+ }
-+ else if(lineType == FLATTYPE_TAX && taxfield >= 0)
-+ {
-+ while(ajRegExec(regEmblTax, tmpline))
-+ {
-+ ajRegSubI(regEmblTax, 1, &tmpfd);
-+ ajRegPost(regEmblTax, &tmpstr);
-+ ajStrAssignS(&tmpline, tmpstr);
-+ ajStrFmtUpper(&tmpfd);
-+ ajStrTrimWhiteEnd(&tmpfd);
-+ if(!ajStrGetLen(tmpfd))
-+ continue;
-+ /*ajDebug("++tax '%S'\n", tmpfd);*/
-+ embDbiMaxlen(&tmpfd, &maxFieldLen[taxfield]);
-+
-+ countfield[taxfield]++;
-+ if(systemsort)
-+ ajFmtPrintF(alistfile[taxfield], "%S %S\n", *myid, tmpfd);
-+ else
-+ {
-+ fd = ajCharNewS(tmpfd);
-+ ajListPushAppend(myfdl[taxfield], fd);
-+ }
-+ }
-+ continue;
-+ }
-+ }
-+
-+ if(!done)
-+ return ajFalse;
-+
-+ if(svnfield >= 0 && !svndone && tmpacnum)
-+ {
-+ ajFmtPrintS(&tmpfd, "%S.0", tmpacnum);
-+ embDbiMaxlen(&tmpfd, &maxFieldLen[svnfield]);
-+
-+ countfield[svnfield]++;
-+ if(systemsort)
-+ ajFmtPrintF(alistfile[svnfield], "%S %S\n", *myid, tmpfd);
-+ else
-+ {
-+ fd = ajCharNewS(tmpfd);
-+ ajListPushAppend(myfdl[svnfield], fd);
-+ }
-+ }
-+
-+ ajStrDel(&tmpacnum);
-+
-+ return ajTrue;
-+ }
-+
-+
-+
-+
- /* @funcstatic dbiflat_ParseEmbl **********************************************
- **
- ** Parse the ID, accession from an EMBL entry.
-diff -c -N --recursive -a EMBOSS-6.4.0old/emboss/dbxflat.c EMBOSS-6.4.0/emboss/dbxflat.c
-*** EMBOSS-6.4.0old/emboss/dbxflat.c 2011-06-23 19:18:45.000000000 +0100
---- EMBOSS-6.4.0/emboss/dbxflat.c 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 32,37 ****
---- 32,38 ----
- static AjBool dbxflat_ParseFastq(EmbPBtreeEntry entry, AjPFile inf);
- static AjBool dbxflat_ParseEmbl(EmbPBtreeEntry entry, AjPFile inf);
- static AjBool dbxflat_ParseGenbank(EmbPBtreeEntry entry, AjPFile inf);
-+ static AjBool dbxflat_ParseSwiss(EmbPBtreeEntry entry, AjPFile inf);
-
- static AjBool dbxflat_NextEntry(EmbPBtreeEntry entry, AjPFile inf);
-
-***************
-*** 76,82 ****
- static DbxflatOParser parser[] =
- {
- {"EMBL", dbxflat_ParseEmbl},
-! {"SWISS", dbxflat_ParseEmbl},
- {"GB", dbxflat_ParseGenbank},
- {"REFSEQ", dbxflat_ParseGenbank},
- {"FASTQ", dbxflat_ParseFastq},
---- 77,83 ----
- static DbxflatOParser parser[] =
- {
- {"EMBL", dbxflat_ParseEmbl},
-! {"SWISS", dbxflat_ParseSwiss},
- {"GB", dbxflat_ParseGenbank},
- {"REFSEQ", dbxflat_ParseGenbank},
- {"FASTQ", dbxflat_ParseFastq},
-***************
-*** 716,721 ****
---- 717,817 ----
-
-
-
-+ /* @funcstatic dbxflat_ParseSwiss *********************************************
-+ **
-+ ** Parse the ID, accession from a SwissProt or UniProtKB entry.
-+ **
-+ ** Reads to the end of the entry and then returns.
-+ **
-+ ** @param [w] entry [EmbPBtreeEntry] entry
-+ ** @param [u] inf [AjPFile] Input file
-+ **
-+ ** @return [AjBool] ajTrue on success.
-+ ** @@
-+ ******************************************************************************/
-+
-+ static AjBool dbxflat_ParseSwiss(EmbPBtreeEntry entry, AjPFile inf)
-+ {
-+ AjPStr line = NULL;
-+ ajlong pos = 0L;
-+ const char* swissprefix[] = {
-+ "RecName: ", "AltName: ", "SubName: ",
-+ "Includes:", "Contains:", "Flags: ",
-+ "Full=", "Short=", "EC=",
-+ "Allergen=", "Biotech=", "CD_antigen=", "INN=",
-+ NULL
-+ };
-+ ajuint i;
-+
-+ if(!dbxflat_wrdexp)
-+ dbxflat_wrdexp = ajRegCompC("([A-Za-z0-9_-]+)");
-+
-+ line = ajStrNewC("");
-+
-+ while(!ajStrPrefixC(line,"//"))
-+ {
-+ pos = ajFileResetPos(inf);
-+
-+ if(!ajReadlineTrim(inf,&line))
-+ {
-+ ajStrDel(&line);
-+ return ajFalse;
-+ }
-+ if(ajStrPrefixC(line,"ID"))
-+ {
-+ entry->fpos = pos;
-+ ajFmtScanS(line,"%*S%S",&entry->id);
-+ ajStrTrimEndC(&entry->id, ";");
-+ /*
-+ ++global;
-+ printf("%d. %s\n",global,ajStrGetPtr(entry->id));
-+ */
-+ if(svfield)
-+ embBtreeEmblSV(line,svfield->data);
-+ }
-+
-+
-+ if(svfield)
-+ if(ajStrPrefixC(line,"SV") ||
-+ ajStrPrefixC(line,"IV")) /* emblcds database format */
-+ embBtreeEmblAC(line,svfield->data);
-+
-+ if(accfield)
-+ if(ajStrPrefixC(line,"AC") ||
-+ ajStrPrefixC(line,"PA")) /* emblcds database format */
-+ embBtreeEmblAC(line,accfield->data);
-+
-+ if(keyfield)
-+ if(ajStrPrefixC(line,"KW"))
-+ embBtreeEmblKW(line,keyfield->data,keyfield->len);
-+
-+ if(desfield)
-+ if(ajStrPrefixC(line,"DE"))
-+ {
-+ ajStrCutStart(&line, 5);
-+ ajStrTrimWhiteStart(&line);
-+ for(i=0; swissprefix[i]; i++)
-+ {
-+ if(ajStrPrefixC(line, swissprefix[i]))
-+ ajStrCutStart(&line, strlen(swissprefix[i]));
-+ }
-+ embBtreeParseField(line,dbxflat_wrdexp, desfield);
-+ }
-+
-+ if(orgfield)
-+ if(ajStrPrefixC(line,"OC") || ajStrPrefixC(line,"OS"))
-+ embBtreeEmblTX(line,orgfield->data,orgfield->len);
-+ }
-+
-+
-+ ajStrDel(&line);
-+
-+ return ajTrue;
-+ }
-+
-+
-+
-+
- /* @funcstatic dbxflat_NextEntry ********************************************
- **
- ** Parse the next entry from a flatfile
-diff -c -N --recursive -a EMBOSS-6.4.0old/emboss/dbxresource.c EMBOSS-6.4.0/emboss/dbxresource.c
-*** EMBOSS-6.4.0old/emboss/dbxresource.c 2011-06-23 19:18:45.000000000 +0100
---- EMBOSS-6.4.0/emboss/dbxresource.c 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 535,540 ****
---- 535,553 ----
- if(urlfield && !ajStrMatchC(rest, "None"))
- embBtreeParseField(rest, dbxresource_wrdexp, urlfield);
- }
-+ else if(ajStrMatchC(name, "NARCat"))
-+ {
-+ if(catfield && !ajStrMatchC(rest, "None"))
-+ {
-+ handle = ajStrTokenNewC(rest, "|");
-+ while(ajStrTokenNextParse(&handle, &token))
-+ {
-+ ajStrRemoveWhiteExcess(&token);
-+ ajListstrPush(catfield->data,ajStrNewS(token));
-+ }
-+ ajStrTokenDel(&handle);
-+ }
-+ }
- else if(ajStrSuffixC(name, "Cat"))
- {
- if(catfield && !ajStrMatchC(rest, "None"))
-diff -c -N --recursive -a EMBOSS-6.4.0old/emboss/drfinddata.c EMBOSS-6.4.0/emboss/drfinddata.c
-*** EMBOSS-6.4.0old/emboss/drfinddata.c 2011-05-25 10:10:32.000000000 +0100
---- EMBOSS-6.4.0/emboss/drfinddata.c 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 155,162 ****
- {
- if(!ajTableMatchS(foundtable, resource->Id))
- {
-! ajDebug("drcat id '%S' category '%S'\n",
-! resource->Id, resource->Cat);
- ajResourceoutWrite(outfile, resource);
- ajTablePut(foundtable, ajStrNewS(resource->Id),
- (void *) 1);
---- 155,163 ----
- {
- if(!ajTableMatchS(foundtable, resource->Id))
- {
-! ajDebug("drcat id '%S' categories %u\n",
-! resource->Id,
-! ajListGetLength(resource->Cat));
- ajResourceoutWrite(outfile, resource);
- ajTablePut(foundtable, ajStrNewS(resource->Id),
- (void *) 1);
-diff -c -N --recursive -a EMBOSS-6.4.0old/emboss/drfindformat.c EMBOSS-6.4.0/emboss/drfindformat.c
-*** EMBOSS-6.4.0old/emboss/drfindformat.c 2011-05-25 13:41:47.000000000 +0100
---- EMBOSS-6.4.0/emboss/drfindformat.c 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 152,159 ****
- {
- if(!ajTableMatchS(foundtable, resource->Id))
- {
-! ajDebug("drcat id '%S' category '%S'\n",
-! resource->Id, resource->Cat);
- ajResourceoutWrite(outfile, resource);
- ajTablePut(foundtable, ajStrNewS(resource->Id),
- (void *) 1);
---- 152,160 ----
- {
- if(!ajTableMatchS(foundtable, resource->Id))
- {
-! ajDebug("drcat id '%S' categories %u\n",
-! resource->Id,
-! ajListGetLength(resource->Cat));
- ajResourceoutWrite(outfile, resource);
- ajTablePut(foundtable, ajStrNewS(resource->Id),
- (void *) 1);
-diff -c -N --recursive -a EMBOSS-6.4.0old/emboss/drfindid.c EMBOSS-6.4.0/emboss/drfindid.c
-*** EMBOSS-6.4.0old/emboss/drfindid.c 2011-05-25 13:41:47.000000000 +0100
---- EMBOSS-6.4.0/emboss/drfindid.c 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 152,159 ****
- {
- if(!ajTableMatchS(foundtable, resource->Id))
- {
-! ajDebug("drcat id '%S' category '%S'\n",
-! resource->Id, resource->Cat);
- ajResourceoutWrite(outfile, resource);
- ajTablePut(foundtable, ajStrNewS(resource->Id),
- (void *) 1);
---- 152,160 ----
- {
- if(!ajTableMatchS(foundtable, resource->Id))
- {
-! ajDebug("drcat id '%S' categories %u\n",
-! resource->Id,
-! ajListGetLength(resource->Cat));
- ajResourceoutWrite(outfile, resource);
- ajTablePut(foundtable, ajStrNewS(resource->Id),
- (void *) 1);
-diff -c -N --recursive -a EMBOSS-6.4.0old/emboss/drfindresource.c EMBOSS-6.4.0/emboss/drfindresource.c
-*** EMBOSS-6.4.0old/emboss/drfindresource.c 2011-04-12 17:30:58.000000000 +0100
---- EMBOSS-6.4.0/emboss/drfindresource.c 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 162,170 ****
- {
- if(!ajTableMatchS(foundtable, resource->Id))
- {
-! ajDebug("drcat id '%S' category '%S'\n",
-! resource->Id, resource->Cat);
-! ajResourceoutWrite(outfile, resource);
- ajTablePut(foundtable, ajStrNewS(resource->Id),
- (void *) 1);
- }
---- 162,171 ----
- {
- if(!ajTableMatchS(foundtable, resource->Id))
- {
-! ajDebug("drcat id '%S' categories %u\n",
-! resource->Id,
-! ajListGetLength(resource->Cat));
-! ajResourceoutWrite(outfile, resource);
- ajTablePut(foundtable, ajStrNewS(resource->Id),
- (void *) 1);
- }
-diff -c -N --recursive -a EMBOSS-6.4.0old/emboss/server.ensemblgenomes EMBOSS-6.4.0/emboss/server.ensemblgenomes
-*** EMBOSS-6.4.0old/emboss/server.ensemblgenomes 2011-07-06 23:14:17.000000000 +0100
---- EMBOSS-6.4.0/emboss/server.ensemblgenomes 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 1,4 ****
-! # server.ensemblgenomes 2011-07-05 00:00:00
- # Automatically generated by cacheensembl for server 'ensemblgenomes'.
-
- DBNAME acyrthosiphon_pisum [
---- 1,4 ----
-! # server.ensemblgenomes 2011-07-27 00:00:00
- # Automatically generated by cacheensembl for server 'ensemblgenomes'.
-
- DBNAME acyrthosiphon_pisum [
-***************
-*** 194,199 ****
---- 194,200 ----
- ALIAS 15368 brachypodium_distachyon
-
- DBNAME b_afzelii [
-+ comment: "SpeciesIdentifier=4"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/borrelia_collection_core_9_62_1a"
-***************
-*** 202,207 ****
---- 203,209 ----
- ALIAS 390236 b_afzelii
-
- DBNAME b_amyloliquefaciens [
-+ comment: "SpeciesIdentifier=2"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 210,215 ****
---- 212,218 ----
- ALIAS 326423 b_amyloliquefaciens
-
- DBNAME b_anthracis_a0248 [
-+ comment: "SpeciesIdentifier=25"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 218,223 ****
---- 221,227 ----
- ALIAS 592021 b_anthracis_a0248
-
- DBNAME b_anthracis_ames [
-+ comment: "SpeciesIdentifier=3"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 226,231 ****
---- 230,236 ----
- ALIAS 198094 b_anthracis_ames
-
- DBNAME b_anthracis_ames_ancestor [
-+ comment: "SpeciesIdentifier=4"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 234,239 ****
---- 239,245 ----
- ALIAS 261594 b_anthracis_ames_ancestor
-
- DBNAME b_anthracis_cdc_684 [
-+ comment: "SpeciesIdentifier=24"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 242,247 ****
---- 248,254 ----
- ALIAS 568206 b_anthracis_cdc_684
-
- DBNAME b_anthracis_sterne [
-+ comment: "SpeciesIdentifier=5"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 250,255 ****
---- 257,263 ----
- ALIAS 260799 b_anthracis_sterne
-
- DBNAME b_aphidicola_5a [
-+ comment: "SpeciesIdentifier=2"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/buchnera_collection_core_9_62_1a"
-***************
-*** 258,263 ****
---- 266,272 ----
- ALIAS 563178 b_aphidicola_5a
-
- DBNAME b_aphidicola_baizongia [
-+ comment: "SpeciesIdentifier=5"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/buchnera_collection_core_9_62_1a"
-***************
-*** 266,271 ****
---- 275,281 ----
- ALIAS 224915 b_aphidicola_baizongia
-
- DBNAME b_aphidicola_cinara [
-+ comment: "SpeciesIdentifier=3"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/buchnera_collection_core_9_62_1a"
-***************
-*** 274,279 ****
---- 284,290 ----
- ALIAS 372461 b_aphidicola_cinara
-
- DBNAME b_aphidicola_schizaphis [
-+ comment: "SpeciesIdentifier=1"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/buchnera_collection_core_9_62_1a"
-***************
-*** 282,287 ****
---- 293,299 ----
- ALIAS 198804 b_aphidicola_schizaphis
-
- DBNAME b_aphidicola_tokyo_1998 [
-+ comment: "SpeciesIdentifier=6"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/buchnera_collection_core_9_62_1a"
-***************
-*** 290,295 ****
---- 302,308 ----
- ALIAS 107806 b_aphidicola_tokyo_1998
-
- DBNAME b_aphidicola_tuc7 [
-+ comment: "SpeciesIdentifier=4"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/buchnera_collection_core_9_62_1a"
-***************
-*** 298,303 ****
---- 311,317 ----
- ALIAS 561501 b_aphidicola_tuc7
-
- DBNAME b_burgdorferi_dsm_4680 [
-+ comment: "SpeciesIdentifier=8"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/borrelia_collection_core_9_62_1a"
-***************
-*** 306,311 ****
---- 320,326 ----
- ALIAS 224326 b_burgdorferi_dsm_4680
-
- DBNAME b_burgdorferi_zs7 [
-+ comment: "SpeciesIdentifier=3"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/borrelia_collection_core_9_62_1a"
-***************
-*** 314,319 ****
---- 329,335 ----
- ALIAS 445985 b_burgdorferi_zs7
-
- DBNAME b_cereus_03bb102 [
-+ comment: "SpeciesIdentifier=20"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 322,327 ****
---- 338,344 ----
- ALIAS 572264 b_cereus_03bb102
-
- DBNAME b_cereus_172560w [
-+ comment: "SpeciesIdentifier=50"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 330,335 ****
---- 347,353 ----
- ALIAS 526967 b_cereus_172560w
-
- DBNAME b_cereus_95_8201 [
-+ comment: "SpeciesIdentifier=36"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 338,343 ****
---- 356,362 ----
- ALIAS 526979 b_cereus_95_8201
-
- DBNAME b_cereus_ah1271 [
-+ comment: "SpeciesIdentifier=71"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 346,351 ****
---- 365,371 ----
- ALIAS 526992 b_cereus_ah1271
-
- DBNAME b_cereus_ah1272 [
-+ comment: "SpeciesIdentifier=53"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 354,359 ****
---- 374,380 ----
- ALIAS 526993 b_cereus_ah1272
-
- DBNAME b_cereus_ah1273 [
-+ comment: "SpeciesIdentifier=43"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 362,367 ****
---- 383,389 ----
- ALIAS 526994 b_cereus_ah1273
-
- DBNAME b_cereus_ah187 [
-+ comment: "SpeciesIdentifier=19"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 370,375 ****
---- 392,398 ----
- ALIAS 405534 b_cereus_ah187
-
- DBNAME b_cereus_ah603 [
-+ comment: "SpeciesIdentifier=49"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 378,383 ****
---- 401,407 ----
- ALIAS 526990 b_cereus_ah603
-
- DBNAME b_cereus_ah621 [
-+ comment: "SpeciesIdentifier=46"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 386,391 ****
---- 410,416 ----
- ALIAS 526972 b_cereus_ah621
-
- DBNAME b_cereus_ah676 [
-+ comment: "SpeciesIdentifier=38"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 394,399 ****
---- 419,425 ----
- ALIAS 526991 b_cereus_ah676
-
- DBNAME b_cereus_ah820 [
-+ comment: "SpeciesIdentifier=18"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 402,407 ****
---- 428,434 ----
- ALIAS 405535 b_cereus_ah820
-
- DBNAME b_cereus_atcc_10876 [
-+ comment: "SpeciesIdentifier=70"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 410,415 ****
---- 437,443 ----
- ALIAS 526980 b_cereus_atcc_10876
-
- DBNAME b_cereus_atcc_10987 [
-+ comment: "SpeciesIdentifier=6"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 418,423 ****
---- 446,452 ----
- ALIAS 222523 b_cereus_atcc_10987
-
- DBNAME b_cereus_atcc_14579 [
-+ comment: "SpeciesIdentifier=7"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 426,431 ****
---- 455,461 ----
- ALIAS 226900 b_cereus_atcc_14579
-
- DBNAME b_cereus_atcc_4342 [
-+ comment: "SpeciesIdentifier=72"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 434,439 ****
---- 464,470 ----
- ALIAS 526977 b_cereus_atcc_4342
-
- DBNAME b_cereus_b4264 [
-+ comment: "SpeciesIdentifier=23"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 442,447 ****
---- 473,479 ----
- ALIAS 405532 b_cereus_b4264
-
- DBNAME b_cereus_bdrd_bcer4 [
-+ comment: "SpeciesIdentifier=62"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 450,455 ****
---- 482,488 ----
- ALIAS 526978 b_cereus_bdrd_bcer4
-
- DBNAME b_cereus_bdrd_st196 [
-+ comment: "SpeciesIdentifier=34"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 458,463 ****
---- 491,497 ----
- ALIAS 526976 b_cereus_bdrd_st196
-
- DBNAME b_cereus_bdrd_st24 [
-+ comment: "SpeciesIdentifier=37"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 466,471 ****
---- 500,506 ----
- ALIAS 526974 b_cereus_bdrd_st24
-
- DBNAME b_cereus_bdrd_st26 [
-+ comment: "SpeciesIdentifier=39"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 474,479 ****
---- 509,515 ----
- ALIAS 526975 b_cereus_bdrd_st26
-
- DBNAME b_cereus_bgsc_6e1 [
-+ comment: "SpeciesIdentifier=67"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 482,487 ****
---- 518,524 ----
- ALIAS 526970 b_cereus_bgsc_6e1
-
- DBNAME b_cereus_cytotoxis [
-+ comment: "SpeciesIdentifier=8"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 490,495 ****
---- 527,533 ----
- ALIAS 315749 b_cereus_cytotoxis
-
- DBNAME b_cereus_f65185 [
-+ comment: "SpeciesIdentifier=30"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 498,503 ****
---- 536,542 ----
- ALIAS 526989 b_cereus_f65185
-
- DBNAME b_cereus_g9842 [
-+ comment: "SpeciesIdentifier=22"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 506,511 ****
---- 545,551 ----
- ALIAS 405531 b_cereus_g9842
-
- DBNAME b_cereus_m1293 [
-+ comment: "SpeciesIdentifier=40"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 514,519 ****
---- 554,560 ----
- ALIAS 526973 b_cereus_m1293
-
- DBNAME b_cereus_mm1550 [
-+ comment: "SpeciesIdentifier=65"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 522,527 ****
---- 563,569 ----
- ALIAS 526969 b_cereus_mm1550
-
- DBNAME b_cereus_mm3 [
-+ comment: "SpeciesIdentifier=52"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 530,535 ****
---- 572,578 ----
- ALIAS 526971 b_cereus_mm3
-
- DBNAME b_cereus_q1 [
-+ comment: "SpeciesIdentifier=21"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 538,543 ****
---- 581,587 ----
- ALIAS 361100 b_cereus_q1
-
- DBNAME b_cereus_r309803 [
-+ comment: "SpeciesIdentifier=33"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 546,551 ****
---- 590,596 ----
- ALIAS 526968 b_cereus_r309803
-
- DBNAME b_cereus_rock1_15 [
-+ comment: "SpeciesIdentifier=42"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 554,559 ****
---- 599,605 ----
- ALIAS 526982 b_cereus_rock1_15
-
- DBNAME b_cereus_rock1_3 [
-+ comment: "SpeciesIdentifier=78"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 562,567 ****
---- 608,614 ----
- ALIAS 526981 b_cereus_rock1_3
-
- DBNAME b_cereus_rock3_28 [
-+ comment: "SpeciesIdentifier=57"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 570,575 ****
---- 617,623 ----
- ALIAS 526983 b_cereus_rock3_28
-
- DBNAME b_cereus_rock3_29 [
-+ comment: "SpeciesIdentifier=51"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 578,583 ****
---- 626,632 ----
- ALIAS 526984 b_cereus_rock3_29
-
- DBNAME b_cereus_rock3_42 [
-+ comment: "SpeciesIdentifier=77"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 586,591 ****
---- 635,641 ----
- ALIAS 526985 b_cereus_rock3_42
-
- DBNAME b_cereus_rock3_44 [
-+ comment: "SpeciesIdentifier=48"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 594,599 ****
---- 644,650 ----
- ALIAS 526986 b_cereus_rock3_44
-
- DBNAME b_cereus_rock4_18 [
-+ comment: "SpeciesIdentifier=55"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 602,607 ****
---- 653,659 ----
- ALIAS 526988 b_cereus_rock4_18
-
- DBNAME b_cereus_rock4_2 [
-+ comment: "SpeciesIdentifier=76"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 610,615 ****
---- 662,668 ----
- ALIAS 526987 b_cereus_rock4_2
-
- DBNAME b_cereus_var_anthracis [
-+ comment: "SpeciesIdentifier=69"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 618,623 ****
---- 671,677 ----
- ALIAS 637380 b_cereus_var_anthracis
-
- DBNAME b_cereus_zk [
-+ comment: "SpeciesIdentifier=9"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 626,631 ****
---- 680,686 ----
- ALIAS 288681 b_cereus_zk
-
- DBNAME b_clausii [
-+ comment: "SpeciesIdentifier=10"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 634,639 ****
---- 689,695 ----
- ALIAS 66692 b_clausii
-
- DBNAME b_duttonii [
-+ comment: "SpeciesIdentifier=2"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/borrelia_collection_core_9_62_1a"
-***************
-*** 642,647 ****
---- 698,704 ----
- ALIAS 412419 b_duttonii
-
- DBNAME b_garinii [
-+ comment: "SpeciesIdentifier=7"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/borrelia_collection_core_9_62_1a"
-***************
-*** 650,655 ****
---- 707,713 ----
- ALIAS 290434 b_garinii
-
- DBNAME b_halodurans [
-+ comment: "SpeciesIdentifier=11"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 658,663 ****
---- 716,722 ----
- ALIAS 272558 b_halodurans
-
- DBNAME b_hermsii [
-+ comment: "SpeciesIdentifier=6"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/borrelia_collection_core_9_62_1a"
-***************
-*** 666,671 ****
---- 725,731 ----
- ALIAS 314723 b_hermsii
-
- DBNAME b_licheniformis_goettingen [
-+ comment: "SpeciesIdentifier=12"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 674,679 ****
---- 734,740 ----
- ALIAS 279010 b_licheniformis_goettingen
-
- DBNAME b_licheniformis_novozymes [
-+ comment: "SpeciesIdentifier=13"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 681,686 ****
---- 742,748 ----
-
-
- DBNAME b_megaterium_atcc_12872 [
-+ comment: "SpeciesIdentifier=73"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 689,694 ****
---- 751,757 ----
- ALIAS 545693 b_megaterium_atcc_12872
-
- DBNAME b_megaterium_dsm_319 [
-+ comment: "SpeciesIdentifier=80"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 697,702 ****
---- 760,766 ----
- ALIAS 592022 b_megaterium_dsm_319
-
- DBNAME b_mycoides_dsm_2048 [
-+ comment: "SpeciesIdentifier=47"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 705,710 ****
---- 769,775 ----
- ALIAS 526997 b_mycoides_dsm_2048
-
- DBNAME b_mycoides_rock1_4 [
-+ comment: "SpeciesIdentifier=28"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 713,718 ****
---- 778,784 ----
- ALIAS 526998 b_mycoides_rock1_4
-
- DBNAME b_mycoides_rock3_17 [
-+ comment: "SpeciesIdentifier=59"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 721,726 ****
---- 787,793 ----
- ALIAS 526999 b_mycoides_rock3_17
-
- DBNAME b_pseudofirmus [
-+ comment: "SpeciesIdentifier=54"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 729,734 ****
---- 796,802 ----
- ALIAS 398511 b_pseudofirmus
-
- DBNAME b_pseudomycoides [
-+ comment: "SpeciesIdentifier=58"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 737,742 ****
---- 805,811 ----
- ALIAS 527000 b_pseudomycoides
-
- DBNAME b_pumilus [
-+ comment: "SpeciesIdentifier=14"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 745,750 ****
---- 814,820 ----
- ALIAS 315750 b_pumilus
-
- DBNAME b_recurrentis [
-+ comment: "SpeciesIdentifier=5"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/borrelia_collection_core_9_62_1a"
-***************
-*** 753,758 ****
---- 823,829 ----
- ALIAS 412418 b_recurrentis
-
- DBNAME b_selenitireducens [
-+ comment: "SpeciesIdentifier=32"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 761,766 ****
---- 832,838 ----
- ALIAS 439292 b_selenitireducens
-
- DBNAME b_subtilis [
-+ comment: "SpeciesIdentifier=1"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 769,774 ****
---- 841,847 ----
- ALIAS 224308 b_subtilis
-
- DBNAME b_thuringiensis [
-+ comment: "SpeciesIdentifier=15"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 777,782 ****
---- 850,856 ----
- ALIAS 412694 b_thuringiensis
-
- DBNAME b_thuringiensis_atcc_10792 [
-+ comment: "SpeciesIdentifier=41"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 785,790 ****
---- 859,865 ----
- ALIAS 527031 b_thuringiensis_atcc_10792
-
- DBNAME b_thuringiensis_bgsc_4aj1 [
-+ comment: "SpeciesIdentifier=75"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 793,798 ****
---- 868,874 ----
- ALIAS 527022 b_thuringiensis_bgsc_4aj1
-
- DBNAME b_thuringiensis_bgsc_4aw1_andalous [
-+ comment: "SpeciesIdentifier=56"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 801,806 ****
---- 877,883 ----
- ALIAS 527032 b_thuringiensis_bgsc_4aw1_andalous
-
- DBNAME b_thuringiensis_bgsc_4ba1_pondicheri [
-+ comment: "SpeciesIdentifier=29"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 809,814 ****
---- 886,892 ----
- ALIAS 527029 b_thuringiensis_bgsc_4ba1_pondicheri
-
- DBNAME b_thuringiensis_bgsc_4bd1_huazhong [
-+ comment: "SpeciesIdentifier=31"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 817,822 ****
---- 895,901 ----
- ALIAS 527030 b_thuringiensis_bgsc_4bd1_huazhong
-
- DBNAME b_thuringiensis_bgsc_4cc1_pulsiensis [
-+ comment: "SpeciesIdentifier=35"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 825,830 ****
---- 904,910 ----
- ALIAS 527028 b_thuringiensis_bgsc_4cc1_pulsiensis
-
- DBNAME b_thuringiensis_bgsc_4y1_tochigiensis [
-+ comment: "SpeciesIdentifier=44"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 833,838 ****
---- 913,919 ----
- ALIAS 527024 b_thuringiensis_bgsc_4y1_tochigiensis
-
- DBNAME b_thuringiensis_bmb171 [
-+ comment: "SpeciesIdentifier=68"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 841,846 ****
---- 922,928 ----
- ALIAS 714359 b_thuringiensis_bmb171
-
- DBNAME b_thuringiensis_bt407 [
-+ comment: "SpeciesIdentifier=26"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 849,854 ****
---- 931,937 ----
- ALIAS 527021 b_thuringiensis_bt407
-
- DBNAME b_thuringiensis_ibl200 [
-+ comment: "SpeciesIdentifier=27"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 857,862 ****
---- 940,946 ----
- ALIAS 527019 b_thuringiensis_ibl200
-
- DBNAME b_thuringiensis_ibl4222 [
-+ comment: "SpeciesIdentifier=64"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 865,870 ****
---- 949,955 ----
- ALIAS 527020 b_thuringiensis_ibl4222
-
- DBNAME b_thuringiensis_konkukian [
-+ comment: "SpeciesIdentifier=16"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 873,878 ****
---- 958,964 ----
- ALIAS 281309 b_thuringiensis_konkukian
-
- DBNAME b_thuringiensis_t01001 [
-+ comment: "SpeciesIdentifier=60"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 881,886 ****
---- 967,973 ----
- ALIAS 527025 b_thuringiensis_t01001
-
- DBNAME b_thuringiensis_t03a001_kurstaki [
-+ comment: "SpeciesIdentifier=63"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 889,894 ****
---- 976,982 ----
- ALIAS 527023 b_thuringiensis_t03a001_kurstaki
-
- DBNAME b_thuringiensis_t04001_sotto [
-+ comment: "SpeciesIdentifier=61"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 897,902 ****
---- 985,991 ----
- ALIAS 527026 b_thuringiensis_t04001_sotto
-
- DBNAME b_thuringiensis_t13001_pakistani [
-+ comment: "SpeciesIdentifier=45"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 905,910 ****
---- 994,1000 ----
- ALIAS 527027 b_thuringiensis_t13001_pakistani
-
- DBNAME b_turicatae [
-+ comment: "SpeciesIdentifier=1"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/borrelia_collection_core_9_62_1a"
-***************
-*** 913,918 ****
---- 1003,1009 ----
- ALIAS 314724 b_turicatae
-
- DBNAME b_tusciae [
-+ comment: "SpeciesIdentifier=79"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 921,926 ****
---- 1012,1018 ----
- ALIAS 562970 b_tusciae
-
- DBNAME b_weihenstephanensis [
-+ comment: "SpeciesIdentifier=17"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
-***************
-*** 1221,1226 ****
---- 1313,1319 ----
- ]
-
- DBNAME e_coli_042 [
-+ comment: "SpeciesIdentifier=43"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1229,1240 ****
---- 1322,1335 ----
- ALIAS 216592 e_coli_042
-
- DBNAME e_coli_042_funcgen [
-+ comment: "SpeciesIdentifier=43"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_55989 [
-+ comment: "SpeciesIdentifier=26"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1243,1254 ****
---- 1338,1351 ----
- ALIAS 585055 e_coli_55989
-
- DBNAME e_coli_55989_funcgen [
-+ comment: "SpeciesIdentifier=26"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_atcc_27325 [
-+ comment: "SpeciesIdentifier=4"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1257,1268 ****
---- 1354,1367 ----
- ALIAS 316407 e_coli_atcc_27325
-
- DBNAME e_coli_atcc_27325_funcgen [
-+ comment: "SpeciesIdentifier=4"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_atcc_33849 [
-+ comment: "SpeciesIdentifier=39"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1271,1282 ****
---- 1370,1383 ----
- ALIAS 536056 e_coli_atcc_33849
-
- DBNAME e_coli_atcc_33849_funcgen [
-+ comment: "SpeciesIdentifier=39"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_atcc_8739 [
-+ comment: "SpeciesIdentifier=2"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1285,1296 ****
---- 1386,1399 ----
- ALIAS 481805 e_coli_atcc_8739
-
- DBNAME e_coli_atcc_8739_funcgen [
-+ comment: "SpeciesIdentifier=2"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_bl21 [
-+ comment: "SpeciesIdentifier=32"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1299,1310 ****
---- 1402,1415 ----
- ALIAS 511693 e_coli_bl21
-
- DBNAME e_coli_bl21_funcgen [
-+ comment: "SpeciesIdentifier=32"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_bl21_de3_jgi [
-+ comment: "SpeciesIdentifier=40"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1313,1324 ****
---- 1418,1431 ----
- ALIAS 866768 e_coli_bl21_de3_jgi
-
- DBNAME e_coli_bl21_de3_jgi_funcgen [
-+ comment: "SpeciesIdentifier=40"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_bl21_de3_kribb [
-+ comment: "SpeciesIdentifier=38"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1327,1338 ****
---- 1434,1447 ----
- ALIAS 469008 e_coli_bl21_de3_kribb
-
- DBNAME e_coli_bl21_de3_kribb_funcgen [
-+ comment: "SpeciesIdentifier=38"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_bw2952 [
-+ comment: "SpeciesIdentifier=31"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1341,1352 ****
---- 1450,1463 ----
- ALIAS 595496 e_coli_bw2952
-
- DBNAME e_coli_bw2952_funcgen [
-+ comment: "SpeciesIdentifier=31"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_dh10b [
-+ comment: "SpeciesIdentifier=3"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1355,1366 ****
---- 1466,1479 ----
- ALIAS 316385 e_coli_dh10b
-
- DBNAME e_coli_dh10b_funcgen [
-+ comment: "SpeciesIdentifier=3"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_ec4115 [
-+ comment: "SpeciesIdentifier=7"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1369,1380 ****
---- 1482,1495 ----
- ALIAS 444450 e_coli_ec4115
-
- DBNAME e_coli_ec4115_funcgen [
-+ comment: "SpeciesIdentifier=7"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_edl933 [
-+ comment: "SpeciesIdentifier=6"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1383,1394 ****
---- 1498,1511 ----
- ALIAS 155864 e_coli_edl933
-
- DBNAME e_coli_edl933_funcgen [
-+ comment: "SpeciesIdentifier=6"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_k12 [
-+ comment: "SpeciesIdentifier=1"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1397,1408 ****
---- 1514,1527 ----
- ALIAS 511145 e_coli_k12
-
- DBNAME e_coli_k12_funcgen [
-+ comment: "SpeciesIdentifier=1"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_o103_h2 [
-+ comment: "SpeciesIdentifier=36"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1411,1422 ****
---- 1530,1543 ----
- ALIAS 585395 e_coli_o103_h2
-
- DBNAME e_coli_o103_h2_funcgen [
-+ comment: "SpeciesIdentifier=36"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_o111_h_ [
-+ comment: "SpeciesIdentifier=37"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1425,1436 ****
---- 1546,1559 ----
- ALIAS 585396 e_coli_o111_h_
-
- DBNAME e_coli_o111_h__funcgen [
-+ comment: "SpeciesIdentifier=37"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_o127_h6 [
-+ comment: "SpeciesIdentifier=23"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1439,1450 ****
---- 1562,1575 ----
- ALIAS 574521 e_coli_o127_h6
-
- DBNAME e_coli_o127_h6_funcgen [
-+ comment: "SpeciesIdentifier=23"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_o139_h28 [
-+ comment: "SpeciesIdentifier=5"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1453,1464 ****
---- 1578,1591 ----
- ALIAS 331111 e_coli_o139_h28
-
- DBNAME e_coli_o139_h28_funcgen [
-+ comment: "SpeciesIdentifier=5"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_o157_h7_tw14588 [
-+ comment: "SpeciesIdentifier=45"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1467,1478 ****
---- 1594,1607 ----
- ALIAS 502346 e_coli_o157_h7_tw14588
-
- DBNAME e_coli_o157_h7_tw14588_funcgen [
-+ comment: "SpeciesIdentifier=45"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_o17_k52_h18 [
-+ comment: "SpeciesIdentifier=24"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1481,1492 ****
---- 1610,1623 ----
- ALIAS 585056 e_coli_o17_k52_h18
-
- DBNAME e_coli_o17_k52_h18_funcgen [
-+ comment: "SpeciesIdentifier=24"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_o18_k1_h7 [
-+ comment: "SpeciesIdentifier=46"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1495,1506 ****
---- 1626,1639 ----
- ALIAS 714962 e_coli_o18_k1_h7
-
- DBNAME e_coli_o18_k1_h7_funcgen [
-+ comment: "SpeciesIdentifier=46"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_o1_k1_apec [
-+ comment: "SpeciesIdentifier=8"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1509,1520 ****
---- 1642,1655 ----
- ALIAS 405955 e_coli_o1_k1_apec
-
- DBNAME e_coli_o1_k1_apec_funcgen [
-+ comment: "SpeciesIdentifier=8"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_o26_h11 [
-+ comment: "SpeciesIdentifier=35"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1523,1534 ****
---- 1658,1671 ----
- ALIAS 573235 e_coli_o26_h11
-
- DBNAME e_coli_o26_h11_funcgen [
-+ comment: "SpeciesIdentifier=35"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_o45_k1 [
-+ comment: "SpeciesIdentifier=28"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1537,1548 ****
---- 1674,1687 ----
- ALIAS 585035 e_coli_o45_k1
-
- DBNAME e_coli_o45_k1_funcgen [
-+ comment: "SpeciesIdentifier=28"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_o55_h7 [
-+ comment: "SpeciesIdentifier=44"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1551,1562 ****
---- 1690,1703 ----
- ALIAS 701177 e_coli_o55_h7
-
- DBNAME e_coli_o55_h7_funcgen [
-+ comment: "SpeciesIdentifier=44"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_o6 [
-+ comment: "SpeciesIdentifier=9"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1565,1576 ****
---- 1706,1719 ----
- ALIAS 217992 e_coli_o6
-
- DBNAME e_coli_o6_funcgen [
-+ comment: "SpeciesIdentifier=9"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_o6_k15_h31 [
-+ comment: "SpeciesIdentifier=10"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1579,1590 ****
---- 1722,1735 ----
- ALIAS 362663 e_coli_o6_k15_h31
-
- DBNAME e_coli_o6_k15_h31_funcgen [
-+ comment: "SpeciesIdentifier=10"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_o7_k1 [
-+ comment: "SpeciesIdentifier=30"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1593,1604 ****
---- 1738,1751 ----
- ALIAS 585057 e_coli_o7_k1
-
- DBNAME e_coli_o7_k1_funcgen [
-+ comment: "SpeciesIdentifier=30"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_o8 [
-+ comment: "SpeciesIdentifier=27"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1607,1618 ****
---- 1754,1767 ----
- ALIAS 585034 e_coli_o8
-
- DBNAME e_coli_o8_funcgen [
-+ comment: "SpeciesIdentifier=27"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_o81 [
-+ comment: "SpeciesIdentifier=29"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1621,1632 ****
---- 1770,1783 ----
- ALIAS 585397 e_coli_o81
-
- DBNAME e_coli_o81_funcgen [
-+ comment: "SpeciesIdentifier=29"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_o9_h4 [
-+ comment: "SpeciesIdentifier=11"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1635,1646 ****
---- 1786,1799 ----
- ALIAS 331112 e_coli_o9_h4
-
- DBNAME e_coli_o9_h4_funcgen [
-+ comment: "SpeciesIdentifier=11"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_rel606 [
-+ comment: "SpeciesIdentifier=33"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1649,1660 ****
---- 1802,1815 ----
- ALIAS 413997 e_coli_rel606
-
- DBNAME e_coli_rel606_funcgen [
-+ comment: "SpeciesIdentifier=33"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_sakai [
-+ comment: "SpeciesIdentifier=12"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1663,1674 ****
---- 1818,1831 ----
- ALIAS 386585 e_coli_sakai
-
- DBNAME e_coli_sakai_funcgen [
-+ comment: "SpeciesIdentifier=12"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_se11 [
-+ comment: "SpeciesIdentifier=22"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1677,1688 ****
---- 1834,1847 ----
- ALIAS 409438 e_coli_se11
-
- DBNAME e_coli_se11_funcgen [
-+ comment: "SpeciesIdentifier=22"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_se15 [
-+ comment: "SpeciesIdentifier=42"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1691,1702 ****
---- 1850,1863 ----
- ALIAS 431946 e_coli_se15
-
- DBNAME e_coli_se15_funcgen [
-+ comment: "SpeciesIdentifier=42"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_sms_3_5 [
-+ comment: "SpeciesIdentifier=13"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1705,1716 ****
---- 1866,1879 ----
- ALIAS 439855 e_coli_sms_3_5
-
- DBNAME e_coli_sms_3_5_funcgen [
-+ comment: "SpeciesIdentifier=13"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_tw14359 [
-+ comment: "SpeciesIdentifier=34"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1719,1730 ****
---- 1882,1895 ----
- ALIAS 544404 e_coli_tw14359
-
- DBNAME e_coli_tw14359_funcgen [
-+ comment: "SpeciesIdentifier=34"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_coli_uti89 [
-+ comment: "SpeciesIdentifier=14"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1733,1744 ****
---- 1898,1911 ----
- ALIAS 364106 e_coli_uti89
-
- DBNAME e_coli_uti89_funcgen [
-+ comment: "SpeciesIdentifier=14"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME e_fergusonii [
-+ comment: "SpeciesIdentifier=25"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 1747,1752 ****
---- 1914,1920 ----
- ALIAS 585054 e_fergusonii
-
- DBNAME e_fergusonii_funcgen [
-+ comment: "SpeciesIdentifier=25"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
-***************
-*** 1843,1848 ****
---- 2011,2017 ----
- ]
-
- DBNAME mycobacterium_sp_jls [
-+ comment: "SpeciesIdentifier=11"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
-***************
-*** 1851,1856 ****
---- 2020,2026 ----
- ALIAS 164757 mycobacterium_sp_jls
-
- DBNAME mycobacterium_sp_kms [
-+ comment: "SpeciesIdentifier=12"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
-***************
-*** 1859,1864 ****
---- 2029,2035 ----
- ALIAS 189918 mycobacterium_sp_kms
-
- DBNAME mycobacterium_sp_mcs [
-+ comment: "SpeciesIdentifier=13"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
-***************
-*** 1867,1872 ****
---- 2038,2044 ----
- ALIAS 164756 mycobacterium_sp_mcs
-
- DBNAME m_abscessus [
-+ comment: "SpeciesIdentifier=2"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
-***************
-*** 1875,1880 ****
---- 2047,2053 ----
- ALIAS 36809 m_abscessus
-
- DBNAME m_avium [
-+ comment: "SpeciesIdentifier=3"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
-***************
-*** 1883,1888 ****
---- 2056,2062 ----
- ALIAS 243243 m_avium
-
- DBNAME m_bovis_af2122_97 [
-+ comment: "SpeciesIdentifier=4"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
-***************
-*** 1891,1896 ****
---- 2065,2071 ----
- ALIAS 233413 m_bovis_af2122_97
-
- DBNAME m_bovis_pasteur_1173p2 [
-+ comment: "SpeciesIdentifier=5"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
-***************
-*** 1899,1904 ****
---- 2074,2080 ----
- ALIAS 410289 m_bovis_pasteur_1173p2
-
- DBNAME m_bovis_tokyo_172 [
-+ comment: "SpeciesIdentifier=19"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
-***************
-*** 1907,1912 ****
---- 2083,2089 ----
- ALIAS 561275 m_bovis_tokyo_172
-
- DBNAME m_gilvum [
-+ comment: "SpeciesIdentifier=6"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
-***************
-*** 1915,1920 ****
---- 2092,2098 ----
- ALIAS 350054 m_gilvum
-
- DBNAME m_leprae_br4923 [
-+ comment: "SpeciesIdentifier=18"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
-***************
-*** 1923,1928 ****
---- 2101,2107 ----
- ALIAS 561304 m_leprae_br4923
-
- DBNAME m_leprae_tn [
-+ comment: "SpeciesIdentifier=7"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
-***************
-*** 1931,1936 ****
---- 2110,2116 ----
- ALIAS 272631 m_leprae_tn
-
- DBNAME m_marinum [
-+ comment: "SpeciesIdentifier=8"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
-***************
-*** 1939,1944 ****
---- 2119,2125 ----
- ALIAS 216594 m_marinum
-
- DBNAME m_paratuberculosis [
-+ comment: "SpeciesIdentifier=9"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
-***************
-*** 1947,1952 ****
---- 2128,2134 ----
- ALIAS 262316 m_paratuberculosis
-
- DBNAME m_smegmatis [
-+ comment: "SpeciesIdentifier=10"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
-***************
-*** 1955,1960 ****
---- 2137,2143 ----
- ALIAS 246196 m_smegmatis
-
- DBNAME m_tuberculosis_atcc_25177 [
-+ comment: "SpeciesIdentifier=14"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
-***************
-*** 1963,1968 ****
---- 2146,2152 ----
- ALIAS 419947 m_tuberculosis_atcc_25177
-
- DBNAME m_tuberculosis_cdc1551 [
-+ comment: "SpeciesIdentifier=15"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
-***************
-*** 1971,1976 ****
---- 2155,2161 ----
- ALIAS 83331 m_tuberculosis_cdc1551
-
- DBNAME m_tuberculosis_h37rv [
-+ comment: "SpeciesIdentifier=1"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
-***************
-*** 1979,1984 ****
---- 2164,2170 ----
- ALIAS 83332 m_tuberculosis_h37rv
-
- DBNAME m_tuberculosis_kzn_1435 [
-+ comment: "SpeciesIdentifier=21"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
-***************
-*** 1987,1992 ****
---- 2173,2179 ----
- ALIAS 478434 m_tuberculosis_kzn_1435
-
- DBNAME m_ulcerans [
-+ comment: "SpeciesIdentifier=16"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
-***************
-*** 1995,2000 ****
---- 2182,2188 ----
- ALIAS 362242 m_ulcerans
-
- DBNAME m_vanbaalenii [
-+ comment: "SpeciesIdentifier=17"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
-***************
-*** 2030,2035 ****
---- 2218,2224 ----
- ALIAS n_crassa neurospora_crassa
-
- DBNAME n_gonorrhoeae_atcc_700825 [
-+ comment: "SpeciesIdentifier=2"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/neisseria_collection_core_9_62_3a"
-***************
-*** 2038,2043 ****
---- 2227,2233 ----
- ALIAS 242231 n_gonorrhoeae_atcc_700825
-
- DBNAME n_gonorrhoeae_nccp11945 [
-+ comment: "SpeciesIdentifier=3"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/neisseria_collection_core_9_62_3a"
-***************
-*** 2046,2051 ****
---- 2236,2242 ----
- ALIAS 521006 n_gonorrhoeae_nccp11945
-
- DBNAME n_meningitidis_053442 [
-+ comment: "SpeciesIdentifier=6"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/neisseria_collection_core_9_62_3a"
-***************
-*** 2054,2059 ****
---- 2245,2251 ----
- ALIAS 374833 n_meningitidis_053442
-
- DBNAME n_meningitidis_2a [
-+ comment: "SpeciesIdentifier=4"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/neisseria_collection_core_9_62_3a"
-***************
-*** 2062,2067 ****
---- 2254,2260 ----
- ALIAS 272831 n_meningitidis_2a
-
- DBNAME n_meningitidis_8013 [
-+ comment: "SpeciesIdentifier=8"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/neisseria_collection_core_9_62_3a"
-***************
-*** 2070,2075 ****
---- 2263,2269 ----
- ALIAS 604162 n_meningitidis_8013
-
- DBNAME n_meningitidis_a [
-+ comment: "SpeciesIdentifier=1"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/neisseria_collection_core_9_62_3a"
-***************
-*** 2078,2083 ****
---- 2272,2278 ----
- ALIAS 122587 n_meningitidis_a
-
- DBNAME n_meningitidis_alpha14 [
-+ comment: "SpeciesIdentifier=7"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/neisseria_collection_core_9_62_3a"
-***************
-*** 2086,2091 ****
---- 2281,2287 ----
- ALIAS 487 n_meningitidis_alpha14
-
- DBNAME n_meningitidis_b [
-+ comment: "SpeciesIdentifier=5"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/neisseria_collection_core_9_62_3a"
-***************
-*** 2330,2335 ****
---- 2526,2532 ----
- ]
-
- DBNAME p_abyssi [
-+ comment: "SpeciesIdentifier=2"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/pyrococcus_collection_core_9_62_1a"
-***************
-*** 2338,2343 ****
---- 2535,2541 ----
- ALIAS 272844 p_abyssi
-
- DBNAME p_furiosus [
-+ comment: "SpeciesIdentifier=3"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/pyrococcus_collection_core_9_62_1a"
-***************
-*** 2346,2351 ****
---- 2544,2550 ----
- ALIAS 186497 p_furiosus
-
- DBNAME p_horikoshii [
-+ comment: "SpeciesIdentifier=1"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/pyrococcus_collection_core_9_62_1a"
-***************
-*** 2354,2359 ****
---- 2553,2559 ----
- ALIAS 70601 p_horikoshii
-
- DBNAME p_kodakaraensis [
-+ comment: "SpeciesIdentifier=4"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/pyrococcus_collection_core_9_62_1a"
-***************
-*** 2428,2433 ****
---- 2628,2634 ----
- ALIAS 7668 strongylocentrotus_purpuratus
-
- DBNAME s_agalactiae_ia [
-+ comment: "SpeciesIdentifier=3"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 2436,2441 ****
---- 2637,2643 ----
- ALIAS 205921 s_agalactiae_ia
-
- DBNAME s_agalactiae_iii [
-+ comment: "SpeciesIdentifier=2"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 2444,2449 ****
---- 2646,2652 ----
- ALIAS 211110 s_agalactiae_iii
-
- DBNAME s_agalactiae_v [
-+ comment: "SpeciesIdentifier=4"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 2452,2457 ****
---- 2655,2661 ----
- ALIAS 208435 s_agalactiae_v
-
- DBNAME s_aureus_04_02981 [
-+ comment: "SpeciesIdentifier=24"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2460,2471 ****
---- 2664,2677 ----
- ALIAS 703339 s_aureus_04_02981
-
- DBNAME s_aureus_04_02981_funcgen [
-+ comment: "SpeciesIdentifier=24"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_aureus_bovine_rf122 [
-+ comment: "SpeciesIdentifier=5"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2474,2485 ****
---- 2680,2693 ----
- ALIAS 273036 s_aureus_bovine_rf122
-
- DBNAME s_aureus_bovine_rf122_funcgen [
-+ comment: "SpeciesIdentifier=5"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_aureus_col [
-+ comment: "SpeciesIdentifier=4"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2488,2499 ****
---- 2696,2709 ----
- ALIAS 93062 s_aureus_col
-
- DBNAME s_aureus_col_funcgen [
-+ comment: "SpeciesIdentifier=4"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_aureus_ed133 [
-+ comment: "SpeciesIdentifier=25"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2502,2513 ****
---- 2712,2725 ----
- ALIAS 685039 s_aureus_ed133
-
- DBNAME s_aureus_ed133_funcgen [
-+ comment: "SpeciesIdentifier=25"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_aureus_ed98 [
-+ comment: "SpeciesIdentifier=21"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2516,2527 ****
---- 2728,2741 ----
- ALIAS 681288 s_aureus_ed98
-
- DBNAME s_aureus_ed98_funcgen [
-+ comment: "SpeciesIdentifier=21"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_aureus_jh1 [
-+ comment: "SpeciesIdentifier=6"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2530,2541 ****
---- 2744,2757 ----
- ALIAS 359787 s_aureus_jh1
-
- DBNAME s_aureus_jh1_funcgen [
-+ comment: "SpeciesIdentifier=6"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_aureus_jh9 [
-+ comment: "SpeciesIdentifier=7"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2544,2555 ****
---- 2760,2773 ----
- ALIAS 359786 s_aureus_jh9
-
- DBNAME s_aureus_jh9_funcgen [
-+ comment: "SpeciesIdentifier=7"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_aureus_jkd6008 [
-+ comment: "SpeciesIdentifier=26"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2558,2569 ****
---- 2776,2789 ----
- ALIAS 546342 s_aureus_jkd6008
-
- DBNAME s_aureus_jkd6008_funcgen [
-+ comment: "SpeciesIdentifier=26"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_aureus_jkd6159 [
-+ comment: "SpeciesIdentifier=23"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2572,2583 ****
---- 2792,2805 ----
- ALIAS 869816 s_aureus_jkd6159
-
- DBNAME s_aureus_jkd6159_funcgen [
-+ comment: "SpeciesIdentifier=23"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_aureus_mrsa252 [
-+ comment: "SpeciesIdentifier=8"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2586,2597 ****
---- 2808,2821 ----
- ALIAS 282458 s_aureus_mrsa252
-
- DBNAME s_aureus_mrsa252_funcgen [
-+ comment: "SpeciesIdentifier=8"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_aureus_mssa476 [
-+ comment: "SpeciesIdentifier=9"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2600,2611 ****
---- 2824,2837 ----
- ALIAS 282459 s_aureus_mssa476
-
- DBNAME s_aureus_mssa476_funcgen [
-+ comment: "SpeciesIdentifier=9"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_aureus_mu3 [
-+ comment: "SpeciesIdentifier=2"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2614,2625 ****
---- 2840,2853 ----
- ALIAS 418127 s_aureus_mu3
-
- DBNAME s_aureus_mu3_funcgen [
-+ comment: "SpeciesIdentifier=2"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_aureus_mu50 [
-+ comment: "SpeciesIdentifier=3"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2628,2639 ****
---- 2856,2869 ----
- ALIAS 158878 s_aureus_mu50
-
- DBNAME s_aureus_mu50_funcgen [
-+ comment: "SpeciesIdentifier=3"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_aureus_mw2 [
-+ comment: "SpeciesIdentifier=10"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2642,2653 ****
---- 2872,2885 ----
- ALIAS 196620 s_aureus_mw2
-
- DBNAME s_aureus_mw2_funcgen [
-+ comment: "SpeciesIdentifier=10"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_aureus_n315 [
-+ comment: "SpeciesIdentifier=1"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2656,2667 ****
---- 2888,2901 ----
- ALIAS 158879 s_aureus_n315
-
- DBNAME s_aureus_n315_funcgen [
-+ comment: "SpeciesIdentifier=1"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_aureus_nctc_8325 [
-+ comment: "SpeciesIdentifier=11"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2670,2681 ****
---- 2904,2917 ----
- ALIAS 93061 s_aureus_nctc_8325
-
- DBNAME s_aureus_nctc_8325_funcgen [
-+ comment: "SpeciesIdentifier=11"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_aureus_newman [
-+ comment: "SpeciesIdentifier=12"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2684,2695 ****
---- 2920,2933 ----
- ALIAS 426430 s_aureus_newman
-
- DBNAME s_aureus_newman_funcgen [
-+ comment: "SpeciesIdentifier=12"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_aureus_st398 [
-+ comment: "SpeciesIdentifier=20"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2698,2709 ****
---- 2936,2949 ----
- ALIAS 523796 s_aureus_st398
-
- DBNAME s_aureus_st398_funcgen [
-+ comment: "SpeciesIdentifier=20"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_aureus_tch1516 [
-+ comment: "SpeciesIdentifier=13"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2712,2723 ****
---- 2952,2965 ----
- ALIAS 451516 s_aureus_tch1516
-
- DBNAME s_aureus_tch1516_funcgen [
-+ comment: "SpeciesIdentifier=13"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_aureus_tw20 [
-+ comment: "SpeciesIdentifier=22"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2726,2737 ****
---- 2968,2981 ----
- ALIAS 663951 s_aureus_tw20
-
- DBNAME s_aureus_tw20_funcgen [
-+ comment: "SpeciesIdentifier=22"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_aureus_usa300 [
-+ comment: "SpeciesIdentifier=14"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2740,2751 ****
---- 2984,2997 ----
- ALIAS 451515 s_aureus_usa300
-
- DBNAME s_aureus_usa300_funcgen [
-+ comment: "SpeciesIdentifier=14"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_boydii_18 [
-+ comment: "SpeciesIdentifier=15"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 2754,2765 ****
---- 3000,3013 ----
- ALIAS 344609 s_boydii_18
-
- DBNAME s_boydii_18_funcgen [
-+ comment: "SpeciesIdentifier=15"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME s_boydii_4 [
-+ comment: "SpeciesIdentifier=16"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 2768,2779 ****
---- 3016,3029 ----
- ALIAS 300268 s_boydii_4
-
- DBNAME s_boydii_4_funcgen [
-+ comment: "SpeciesIdentifier=16"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME s_carnosus [
-+ comment: "SpeciesIdentifier=19"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2782,2793 ****
---- 3032,3045 ----
- ALIAS 396513 s_carnosus
-
- DBNAME s_carnosus_funcgen [
-+ comment: "SpeciesIdentifier=19"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_dysenteriae [
-+ comment: "SpeciesIdentifier=17"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 2796,2807 ****
---- 3048,3061 ----
- ALIAS 300267 s_dysenteriae
-
- DBNAME s_dysenteriae_funcgen [
-+ comment: "SpeciesIdentifier=17"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME s_dysgalactiae [
-+ comment: "SpeciesIdentifier=40"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 2810,2815 ****
---- 3064,3070 ----
- ALIAS 486410 s_dysgalactiae
-
- DBNAME s_epidermidis_atcc_12228 [
-+ comment: "SpeciesIdentifier=15"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2818,2829 ****
---- 3073,3086 ----
- ALIAS 176280 s_epidermidis_atcc_12228
-
- DBNAME s_epidermidis_atcc_12228_funcgen [
-+ comment: "SpeciesIdentifier=15"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_epidermidis_atcc_35984 [
-+ comment: "SpeciesIdentifier=16"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2832,2843 ****
---- 3089,3102 ----
- ALIAS 176279 s_epidermidis_atcc_35984
-
- DBNAME s_epidermidis_atcc_35984_funcgen [
-+ comment: "SpeciesIdentifier=16"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_equi [
-+ comment: "SpeciesIdentifier=33"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 2846,2851 ****
---- 3105,3111 ----
- ALIAS 553482 s_equi
-
- DBNAME s_equi_mgcs10565 [
-+ comment: "SpeciesIdentifier=5"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 2854,2859 ****
---- 3114,3120 ----
- ALIAS 552526 s_equi_mgcs10565
-
- DBNAME s_equi_zooepidemicus [
-+ comment: "SpeciesIdentifier=32"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 2862,2867 ****
---- 3123,3129 ----
- ALIAS 40041 s_equi_zooepidemicus
-
- DBNAME s_flexneri_2457t [
-+ comment: "SpeciesIdentifier=18"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 2870,2881 ****
---- 3132,3145 ----
- ALIAS 198215 s_flexneri_2457t
-
- DBNAME s_flexneri_2457t_funcgen [
-+ comment: "SpeciesIdentifier=18"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME s_flexneri_301 [
-+ comment: "SpeciesIdentifier=19"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 2884,2895 ****
---- 3148,3161 ----
- ALIAS 198214 s_flexneri_301
-
- DBNAME s_flexneri_301_funcgen [
-+ comment: "SpeciesIdentifier=19"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME s_flexneri_5b [
-+ comment: "SpeciesIdentifier=20"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 2898,2909 ****
---- 3164,3177 ----
- ALIAS 373384 s_flexneri_5b
-
- DBNAME s_flexneri_5b_funcgen [
-+ comment: "SpeciesIdentifier=20"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME s_flexneri_x [
-+ comment: "SpeciesIdentifier=41"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 2912,2923 ****
---- 3180,3193 ----
- ALIAS 591020 s_flexneri_x
-
- DBNAME s_flexneri_x_funcgen [
-+ comment: "SpeciesIdentifier=41"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME s_gallolyticus [
-+ comment: "SpeciesIdentifier=45"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 2926,2931 ****
---- 3196,3202 ----
- ALIAS 637909 s_gallolyticus
-
- DBNAME s_gordonii [
-+ comment: "SpeciesIdentifier=6"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 2934,2939 ****
---- 3205,3211 ----
- ALIAS 467705 s_gordonii
-
- DBNAME s_haemolyticus [
-+ comment: "SpeciesIdentifier=17"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2942,2953 ****
---- 3214,3227 ----
- ALIAS 279808 s_haemolyticus
-
- DBNAME s_haemolyticus_funcgen [
-+ comment: "SpeciesIdentifier=17"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_lugdunensis [
-+ comment: "SpeciesIdentifier=27"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 2956,2967 ****
---- 3230,3243 ----
- ALIAS 698737 s_lugdunensis
-
- DBNAME s_lugdunensis_funcgen [
-+ comment: "SpeciesIdentifier=27"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_mitis [
-+ comment: "SpeciesIdentifier=48"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 2970,2975 ****
---- 3246,3252 ----
- ALIAS 365659 s_mitis
-
- DBNAME s_mutans_atcc_700610 [
-+ comment: "SpeciesIdentifier=7"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 2978,2983 ****
---- 3255,3261 ----
- ALIAS 210007 s_mutans_atcc_700610
-
- DBNAME s_mutans_nn2025 [
-+ comment: "SpeciesIdentifier=44"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 2986,2991 ****
---- 3264,3270 ----
- ALIAS 511691 s_mutans_nn2025
-
- DBNAME s_pneumoniae_70585 [
-+ comment: "SpeciesIdentifier=34"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 2994,2999 ****
---- 3273,3279 ----
- ALIAS 488221 s_pneumoniae_70585
-
- DBNAME s_pneumoniae_a19 [
-+ comment: "SpeciesIdentifier=49"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3002,3007 ****
---- 3282,3288 ----
- ALIAS 525381 s_pneumoniae_a19
-
- DBNAME s_pneumoniae_atcc_700669 [
-+ comment: "SpeciesIdentifier=39"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3010,3015 ****
---- 3291,3297 ----
- ALIAS 561276 s_pneumoniae_atcc_700669
-
- DBNAME s_pneumoniae_atcc_baa_255 [
-+ comment: "SpeciesIdentifier=8"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3018,3023 ****
---- 3300,3306 ----
- ALIAS 171101 s_pneumoniae_atcc_baa_255
-
- DBNAME s_pneumoniae_cgsp14 [
-+ comment: "SpeciesIdentifier=9"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3026,3031 ****
---- 3309,3315 ----
- ALIAS 516950 s_pneumoniae_cgsp14
-
- DBNAME s_pneumoniae_d39 [
-+ comment: "SpeciesIdentifier=10"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3034,3039 ****
---- 3318,3324 ----
- ALIAS 373153 s_pneumoniae_d39
-
- DBNAME s_pneumoniae_g54 [
-+ comment: "SpeciesIdentifier=11"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3042,3047 ****
---- 3327,3333 ----
- ALIAS 512566 s_pneumoniae_g54
-
- DBNAME s_pneumoniae_hungary19a_6 [
-+ comment: "SpeciesIdentifier=12"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3050,3055 ****
---- 3336,3342 ----
- ALIAS 487214 s_pneumoniae_hungary19a_6
-
- DBNAME s_pneumoniae_jja [
-+ comment: "SpeciesIdentifier=35"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3058,3063 ****
---- 3345,3351 ----
- ALIAS 488222 s_pneumoniae_jja
-
- DBNAME s_pneumoniae_p1031 [
-+ comment: "SpeciesIdentifier=37"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3066,3071 ****
---- 3354,3360 ----
- ALIAS 488223 s_pneumoniae_p1031
-
- DBNAME s_pneumoniae_taiwan19f_14 [
-+ comment: "SpeciesIdentifier=36"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3074,3079 ****
---- 3363,3369 ----
- ALIAS 487213 s_pneumoniae_taiwan19f_14
-
- DBNAME s_pneumoniae_tigr4 [
-+ comment: "SpeciesIdentifier=13"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3082,3087 ****
---- 3372,3378 ----
- ALIAS 170187 s_pneumoniae_tigr4
-
- DBNAME s_pyogenes_atcc_baa_595 [
-+ comment: "SpeciesIdentifier=17"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3090,3095 ****
---- 3381,3387 ----
- ALIAS 198466 s_pyogenes_atcc_baa_595
-
- DBNAME s_pyogenes_m18 [
-+ comment: "SpeciesIdentifier=15"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3098,3103 ****
---- 3390,3396 ----
- ALIAS 186103 s_pyogenes_m18
-
- DBNAME s_pyogenes_m2 [
-+ comment: "SpeciesIdentifier=20"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3106,3111 ****
---- 3399,3405 ----
- ALIAS 370552 s_pyogenes_m2
-
- DBNAME s_pyogenes_m28 [
-+ comment: "SpeciesIdentifier=16"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3114,3119 ****
---- 3408,3414 ----
- ALIAS 319701 s_pyogenes_m28
-
- DBNAME s_pyogenes_m4 [
-+ comment: "SpeciesIdentifier=21"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3122,3127 ****
---- 3417,3423 ----
- ALIAS 370554 s_pyogenes_m4
-
- DBNAME s_pyogenes_m49 [
-+ comment: "SpeciesIdentifier=25"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3130,3135 ****
---- 3426,3432 ----
- ALIAS 471876 s_pyogenes_m49
-
- DBNAME s_pyogenes_m5 [
-+ comment: "SpeciesIdentifier=24"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3138,3143 ****
---- 3435,3441 ----
- ALIAS 160491 s_pyogenes_m5
-
- DBNAME s_pyogenes_m6 [
-+ comment: "SpeciesIdentifier=19"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3146,3151 ****
---- 3444,3450 ----
- ALIAS 286636 s_pyogenes_m6
-
- DBNAME s_pyogenes_mgas2096 [
-+ comment: "SpeciesIdentifier=22"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3154,3159 ****
---- 3453,3459 ----
- ALIAS 370553 s_pyogenes_mgas2096
-
- DBNAME s_pyogenes_mgas5005 [
-+ comment: "SpeciesIdentifier=14"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3162,3167 ****
---- 3462,3468 ----
- ALIAS 293653 s_pyogenes_mgas5005
-
- DBNAME s_pyogenes_mgas9429 [
-+ comment: "SpeciesIdentifier=23"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3170,3175 ****
---- 3471,3477 ----
- ALIAS 370551 s_pyogenes_mgas9429
-
- DBNAME s_pyogenes_sf370 [
-+ comment: "SpeciesIdentifier=1"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3178,3183 ****
---- 3480,3486 ----
- ALIAS 160490 s_pyogenes_sf370
-
- DBNAME s_pyogenes_ssi_1 [
-+ comment: "SpeciesIdentifier=18"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3186,3191 ****
---- 3489,3495 ----
- ALIAS 193567 s_pyogenes_ssi_1
-
- DBNAME s_sanguinis [
-+ comment: "SpeciesIdentifier=26"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3194,3199 ****
---- 3498,3504 ----
- ALIAS 388919 s_sanguinis
-
- DBNAME s_saprophyticus [
-+ comment: "SpeciesIdentifier=18"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
-***************
-*** 3202,3213 ****
---- 3507,3520 ----
- ALIAS 342451 s_saprophyticus
-
- DBNAME s_saprophyticus_funcgen [
-+ comment: "SpeciesIdentifier=18"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
- ]
-
- DBNAME s_sonnei [
-+ comment: "SpeciesIdentifier=21"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
-***************
-*** 3216,3227 ****
---- 3523,3536 ----
- ALIAS 300269 s_sonnei
-
- DBNAME s_sonnei_funcgen [
-+ comment: "SpeciesIdentifier=21"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
- ]
-
- DBNAME s_suis_05zyh33 [
-+ comment: "SpeciesIdentifier=27"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3230,3235 ****
---- 3539,3545 ----
- ALIAS 391295 s_suis_05zyh33
-
- DBNAME s_suis_98hah33 [
-+ comment: "SpeciesIdentifier=28"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3238,3243 ****
---- 3548,3554 ----
- ALIAS 391296 s_suis_98hah33
-
- DBNAME s_suis_bm407 [
-+ comment: "SpeciesIdentifier=42"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3246,3251 ****
---- 3557,3563 ----
- ALIAS 568814 s_suis_bm407
-
- DBNAME s_suis_gz1 [
-+ comment: "SpeciesIdentifier=50"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3254,3259 ****
---- 3566,3572 ----
- ALIAS 423211 s_suis_gz1
-
- DBNAME s_suis_p1_7 [
-+ comment: "SpeciesIdentifier=43"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3262,3267 ****
---- 3575,3581 ----
- ALIAS 218494 s_suis_p1_7
-
- DBNAME s_suis_sc84 [
-+ comment: "SpeciesIdentifier=41"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3270,3275 ****
---- 3584,3590 ----
- ALIAS 568813 s_suis_sc84
-
- DBNAME s_thermophilus_atcc_baa_250 [
-+ comment: "SpeciesIdentifier=29"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3278,3283 ****
---- 3593,3599 ----
- ALIAS 264199 s_thermophilus_atcc_baa_250
-
- DBNAME s_thermophilus_atcc_baa_491 [
-+ comment: "SpeciesIdentifier=30"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3286,3291 ****
---- 3602,3608 ----
- ALIAS 322159 s_thermophilus_atcc_baa_491
-
- DBNAME s_thermophilus_cnrz_1066 [
-+ comment: "SpeciesIdentifier=31"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3294,3299 ****
---- 3611,3617 ----
- ALIAS 299768 s_thermophilus_cnrz_1066
-
- DBNAME s_uberis [
-+ comment: "SpeciesIdentifier=38"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
-***************
-*** 3350,3355 ****
---- 3668,3674 ----
- ]
-
- DBNAME wolbachia_sp_brugia_malayi [
-+ comment: "SpeciesIdentifier=3"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/wolbachia_collection_core_9_62_1a"
-***************
-*** 3358,3363 ****
---- 3677,3683 ----
- ALIAS 292805 wolbachia_sp_brugia_malayi
-
- DBNAME wolbachia_sp_drosophila_simulans [
-+ comment: "SpeciesIdentifier=2"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/wolbachia_collection_core_9_62_1a"
-***************
-*** 3366,3371 ****
---- 3686,3692 ----
- ALIAS 66084 wolbachia_sp_drosophila_simulans
-
- DBNAME w_pipientis_culex_pipiens [
-+ comment: "SpeciesIdentifier=1"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/wolbachia_collection_core_9_62_1a"
-***************
-*** 3374,3379 ****
---- 3695,3701 ----
- ALIAS 570417 w_pipientis_culex_pipiens
-
- DBNAME w_pipientis_wmel [
-+ comment: "SpeciesIdentifier=4"
- release: "62"
- server: "ensemblgenomes"
- url: "mysql://anonymous@mysql.ebi.ac.uk:4157/wolbachia_collection_core_9_62_1a"
-diff -c -N --recursive -a EMBOSS-6.4.0old/nucleus/embgroup.c EMBOSS-6.4.0/nucleus/embgroup.c
-*** EMBOSS-6.4.0old/nucleus/embgroup.c 2011-05-16 11:14:30.000000000 +0100
---- EMBOSS-6.4.0/nucleus/embgroup.c 2011-09-05 12:23:43.000000000 +0100
-***************
-*** 1173,1179 ****
- AjPStr tail;
- AjPStr revhead;
- AjPStr revtail;
-! AjPStr dummy; /* dummy string for ajListstrPop() */
-
-
- len = ajListstrToarray(sublist, &sub);
---- 1173,1179 ----
- AjPStr tail;
- AjPStr revhead;
- AjPStr revtail;
-! AjPStr dummy = NULL; /* dummy string for ajListstrPop() */
-
-
- len = ajListstrToarray(sublist, &sub);
+
+ ajStrAssignS(&TvString, groupfield);
++ if(ajStrFindC(TvString, "\\\"") >= 0)
++ {
++ escapedquote = ajTrue;
++ ajStrExchangeCC(&TvString, "\\\"", "\001");
++ }
++
+ while(ajStrGetLen(TvString))
+ {
+ if(ajRegExec(Gff3oldRegexTvTagval, TvString))
+ {
+ ajRegSubI(Gff3oldRegexTvTagval, 1, &tmptag);
+ ajRegSubI(Gff3oldRegexTvTagval, 2, &featinValTmp);
++
+ ajStrTrimWhite(&featinValTmp);
+ /*ajDebug("Gff3Tv '%S' '%S'\n", tmptag, featinValTmp);*/
+ ajRegPost(Gff3oldRegexTvTagval, &TvString);
+@@ -3076,6 +3084,8 @@
+ featFlagSet(gf, featinValTmp);
+ else
+ {
++ if(escapedquote)
++ ajStrExchangeCC(&featinValTmp, "\001", "\"");
+ /*ajDebug("GFF3 before QuoteStrip: '%S'\n", featinValTmp);*/
+ ajStrQuoteStrip(&featinValTmp);
+ /*ajDebug(" GFF3 after QuoteStrip: '%S'\n", featinValTmp);*/
+@@ -5896,8 +5906,8 @@
+ Gff3Regexdirective = ajRegCompC("^##(.*)");
+ Gff3Regexcomment = ajRegCompC("^#(.*)");
+ Gff3RegexTvTagval = ajRegCompC(" *([^ =]+)[ =]([^;]+)*(;|$)"); /* "tag name */
+- Gff3oldRegexTvTagval = ajRegCompC(" *([^ =]+)[ =]((\"(\\.|[^\\\"])*\"|"
+- "[^;]+)*)(;|$)"); /* "tag name */
++ Gff3oldRegexTvTagval = ajRegCompC(" *([^ =]+)[ =](\"[^\"]*\"|"
++ "[^;]+)(;|$)"); /* "tag name */
+
+ FeatInitGff3 = ajTrue;
+
+--- emboss-6.4.0.orig/ajax/core/ajfeatwrite.c
++++ emboss-6.4.0/ajax/core/ajfeatwrite.c
+@@ -4134,7 +4134,7 @@
+ tmpid = owner->Seqid;
+
+ if(thys->Score)
+- ajFmtPrintF(file, "%S\t%S\t%S\t%d\t%d\t%.3f\t%c\t%c\t",
++ ajFmtPrintF(file, "%S\t%S\t%S\t%d\t%d\t%.3g\t%c\t%c\t",
+ tmpid,
+ thys->Source,
+ outtyp,
+@@ -4215,6 +4215,7 @@
+ while(!ajListIterDone(iter))
+ {
+ tv = ajListIterGet(iter);
++ ajStrFmtLower(&tv->Tag);
+ outtag = tv->Tag;
+
+ if(!outtag)
+--- emboss-6.4.0.orig/ajax/core/ajfmt.c
++++ emboss-6.4.0/ajax/core/ajfmt.c
+@@ -50,6 +50,16 @@
+ #include "ajax.h"
+
+
++#define EVF_PERCENT 1
++#define EVF_NOCON 2
++#define EVF_LONG 4
++#define EVF_AJLONG 8
++#define EVF_UNSIGNED 16
++#define EVF_NEGATE 32
++
++#define EVF_BUF 128
++
++
+ typedef void (*Fmt_T) (ajint code, VALIST ap,
+ int put(int c, void *cl), void *cl,
+ const ajuint* flags, ajint width, ajint precision);
+@@ -148,6 +158,8 @@
+ static void cvt_u(ajint code, VALIST ap, int put(int c, void* cl), void* cl,
+ const ajuint* flags, ajint width, ajint precision);
+
++static ajint evfscanf(FILE *stream, const char *fmt, va_list ap);
++
+
+
+
+@@ -2290,7 +2302,7 @@
+ __va_copy(save_ap,ap);
+ #endif
+
+- n = fscanf(file,fmt,ap);
++ n = evfscanf(file,fmt,ap);
+
+ #if defined(__amd64__) || defined(__EM64T__) || \
+ defined(__PPC__) && defined(_CALL_SYSV)
+@@ -2304,6 +2316,519 @@
+ }
+
+
++
++
++/* @funcstatic evfscanf *******************************************************
++**
++** EMBOSS version of C99 vfscanf() including %S conversion
++**
++** @param [r] stream [FILE*] file pointer.
++** @param [r] fmt [const char*] Format string.
++** @param [v] ap [va_list] Variable length argument list
++** @return [ajint] number of successful conversions
++**
++** @release 6.4.0
++** @@
++******************************************************************************/
++
++static ajint evfscanf(FILE *stream, const char *fmt, va_list ap)
++{
++ char fch = '\0';
++ int ipc = 0;
++ int tpc = 0;
++
++ ajuint uflags = 0;
++ ajint nconv = 0;
++ ajint width = 0;
++ AjBool fin = ajFalse;
++ AjBool idone = ajFalse;
++
++ ajulong sum = 0L;
++
++ ajuint nread = 0;
++ ajint ret = EOF;
++ ajint base = 10;
++
++ char *p = NULL;
++ char fchars[] = "0123456789Ee.";
++
++ char buf[EVF_BUF];
++
++ AjPStr *str = NULL;
++
++ union
++ {
++ ajlong L;
++ long l;
++ unsigned long ul;
++ ajulong uL;
++ ajint i;
++ ajuint u;
++ char *c;
++ double d;
++ } val;
++
++
++ if(feof(stream))
++ return EOF;
++
++ val.ul = 0L;
++
++ while((fch = *fmt))
++ {
++ ++fmt;
++
++
++ if(uflags & EVF_PERCENT)
++ {
++ /* If %% has been given then do a simple match */
++ if(fch == '%')
++ {
++ uflags &= ~EVF_PERCENT;
++
++ if((ipc = getc(stream)) == EOF)
++ break;
++
++ ++sum;
++
++ if(ipc != (int) fch)
++ break;
++
++ continue;
++ }
++
++ /* Now in the realm of format specifiers */
++ /* First test for any width */
++
++ if(fch >= '0' && fch <= '0')
++ {
++ fch -= '0';
++
++ if(width == INT_MAX)
++ width = 0;
++ else
++ width *= 10;
++
++ width += (ajint) fch;
++
++ continue;
++ }
++
++ if((char) fch != 'S')
++ fch = tolower(fch);
++
++ switch(fch)
++ {
++ case '*':
++ uflags |= EVF_NOCON;
++ continue;
++
++ case 'n':
++ if(!(uflags & EVF_NOCON))
++ *(va_arg(ap, ajint *)) = (ajint) sum;
++
++ break;
++
++ case 'c':
++ if(!(uflags & EVF_NOCON))
++ val.c = va_arg(ap, char *);
++
++ if(width == INT_MAX)
++ width = 1;
++
++ while(width-- > 0)
++ {
++ if((ipc = getc(stream)) == EOF)
++ {
++ fin = ajTrue;
++ break;
++ }
++
++ ++nread;
++
++ if(!(uflags & EVF_NOCON))
++ *val.c++ = (char) ipc;
++ }
++
++ break;
++
++ case 'h': /* ANSI C converts shorts to ints */
++ continue;
++
++ case 'l':
++ uflags |= EVF_LONG;
++ continue;
++
++ case 'L':
++ uflags |= EVF_AJLONG;
++ continue;
++
++ case 's':
++ if(!(uflags & EVF_NOCON))
++ val.c = va_arg(ap, char *);
++
++ do
++ {
++ ipc = getc(stream);
++ ++sum;
++ } while(isspace(ipc));
++
++ if(ipc == EOF)
++ {
++ fin = ajTrue;
++ break;
++ }
++
++ while(width-- > 0)
++ {
++ if(isspace(ipc))
++ {
++ ungetc(ipc, stream);
++ --sum;
++ break;
++ }
++
++ if(!(uflags & EVF_NOCON))
++ *val.c++ = (char) ipc;
++
++ if((ipc = getc(stream)) == EOF)
++ break;
++
++ ++nread;
++ }
++
++ if(!(uflags & EVF_NOCON))
++ *val.c = '\0';
++
++ break;
++
++ case 'S':
++ if(!(uflags & EVF_NOCON))
++ {
++ str = (AjPStr *) va_arg(ap, AjPStr *);
++ ajStrAssignC(str,"");
++ }
++
++ do
++ {
++ ipc = getc(stream);
++ ++sum;
++ } while(isspace(ipc));
++
++ if(ipc == EOF)
++ {
++ fin = ajTrue;
++ break;
++ }
++
++ while(width-- > 0)
++ {
++ if(isspace(ipc))
++ {
++ ungetc(ipc, stream);
++ --sum;
++ break;
++ }
++
++ if(!(uflags & EVF_NOCON))
++ ajStrAppendK(str, (char) ipc);
++
++ if((ipc = getc(stream)) == EOF)
++ break;
++
++ ++nread;
++ }
++
++ break;
++
++ case 'o':
++ base = 8;
++ /* Fallthrough */
++ case 'x':
++ if(base == 10) /* To protect fallthrough from octal */
++ base = 16;
++ /* Fallthrough */
++ case 'u':
++ uflags |= EVF_UNSIGNED;
++ /* Fallthrough */
++ case 'd':
++ case 'i':
++ do
++ {
++ ipc = getc(stream);
++ ++sum;
++ } while(isspace(ipc));
++
++ if(ipc == EOF)
++ {
++ fin = ajTrue;
++ break;
++ }
++
++ if((char) ipc == '+' || (char) ipc == '-')
++ {
++ if(--width <= 0)
++ {
++ fin = ajTrue;
++ break;
++ }
++
++ if((char) ipc == '-')
++ uflags |= EVF_NEGATE;
++
++ if((ipc = getc(stream)) == EOF)
++ {
++ fin = ajTrue;
++ break;
++ }
++
++ ++sum;
++ }
++
++ idone = ajFalse;
++ val.uL = 0;
++
++ if((char) ipc == '0')
++ {
++ if(--width <= 0)
++ idone = ajTrue;
++
++ if(!idone)
++ if((ipc = getc(stream)) == EOF)
++ idone = ajTrue;
++
++ if((char) tolower(ipc) == 'x' && !idone)
++ {
++ if(fch == 'o' || fch == 'd' || fch == 'u')
++ {
++ /* Invalid 0x */
++ ungetc(ipc, stream);
++ idone = ajTrue;
++ }
++
++ if(!idone)
++ base = 16;
++
++ if(!idone)
++ {
++ if((ipc = getc(stream)) == EOF)
++ idone = ajTrue;
++ else
++ ++sum;
++ }
++ }
++ else if(fch == 'i' && !idone)
++ base = 8;
++ }
++
++ ++nread;
++
++ for(;!idone;)
++ {
++ tpc = tolower(ipc);
++
++ tpc -= '0';
++
++ if(tpc > 9)
++ {
++ tpc += '0';
++ tpc -= 'a';
++
++ if(tpc >= 0)
++ tpc += 10;
++ }
++
++ if(tpc < 0 || tpc >= base)
++ {
++ ungetc(ipc, stream);
++ --nread;
++ break;
++ }
++
++ val.uL *= base;
++ val.uL += tpc;
++
++ if(--width <= 0)
++ break;
++
++ if((ipc = getc(stream)) == EOF)
++ break;
++
++ ++nread;
++ }
++
++ if((uflags & EVF_NEGATE) && !idone)
++ val.L = -val.L;
++
++ if(!(uflags & EVF_NOCON))
++ {
++ if((uflags & (EVF_UNSIGNED | EVF_AJLONG)) ==
++ (EVF_UNSIGNED | EVF_AJLONG))
++ *(va_arg(ap, ajulong *)) = val.uL;
++ else if(uflags & (EVF_AJLONG))
++ *(va_arg(ap, ajlong *)) = val.L;
++ else if((uflags & (EVF_UNSIGNED | EVF_LONG)) ==
++ (EVF_UNSIGNED | EVF_LONG))
++ *(va_arg(ap, unsigned long *)) = val.ul;
++ else if(uflags & (EVF_LONG))
++ *(va_arg(ap, long *)) = val.l;
++ else if(uflags & (EVF_UNSIGNED))
++ *(va_arg(ap, ajuint *)) = val.u;
++ else
++ *(va_arg(ap, ajint *)) = val.i;
++ }
++
++ break;
++
++ case 'e':
++ case 'f':
++ case 'g':
++ do
++ {
++ ipc = getc(stream);
++ ++sum;
++ } while(isspace(ipc));
++
++ if(ipc == EOF)
++ {
++ --sum;
++ fin = ajTrue;
++ break;
++ }
++
++ if((char) ipc == '+' || (char) ipc == '-')
++ {
++ if((char) ipc == '-')
++ uflags |= EVF_NEGATE;
++
++ if((ipc = getc(stream)) == EOF)
++ {
++ fin = ajTrue;
++ break;
++ }
++
++ ++sum;
++ }
++
++ val.d = 0.0;
++
++ ++nread;
++
++ for(p = buf; p < buf + EVF_BUF - 1 && width >0; --width)
++ {
++ if(!strchr(fchars, ipc))
++ {
++ ungetc(ipc, stream);
++ --nread;
++ break;
++ }
++
++ if((char) ipc == 'e' || (char) ipc == 'E')
++ {
++ fchars[10] = '\0';
++ *p++ = (char) ipc;
++
++ if((ipc = getc(stream)) == EOF)
++ break;
++
++ ++nread;
++
++ if((char) ipc != '+' && (char) ipc != '-')
++ continue;
++ }
++ else if((char) ipc == '.')
++ fchars[12] = '\0';
++
++ *p++ = (char) ipc;
++
++ if((ipc = getc(stream)) == EOF)
++ break;
++
++ ++nread;
++ }
++
++ *p++ = '\0';
++
++ val.d = strtod(buf, 0);
++
++ if(uflags & EVF_NEGATE)
++ val.d = -val.d;
++
++ fchars[10] = 'E';
++ fchars[12] = '.';
++
++ *(va_arg(ap, double *)) = val.d;
++
++ break;
++ }
++
++ if(fin)
++ break;
++
++ if(nread)
++ {
++ if(!(uflags & EVF_NOCON))
++ ++nconv;
++
++ ret = 0;
++ sum += nread;
++ }
++ else if(fch != 'n' || ipc == EOF)
++ break;
++
++ uflags = 0;
++ }
++ else if(fch == '%')
++ {
++ uflags = EVF_PERCENT;
++ base = 10;
++ nread = 0;
++ width = INT_MAX;
++ }
++ else if(isspace(fch))
++ {
++ do
++ {
++ ipc = getc(stream);
++ ++sum;
++ } while(isspace(ipc));
++
++ --sum;
++
++ if(ipc == EOF)
++ break;
++
++ ungetc(ipc, stream);
++ }
++ else
++ {
++ if((ipc = getc(stream)) == EOF)
++ break;
++
++ ++sum;
++
++ if(ipc != (int) fch)
++ break;
++ }
++
++ }
++
++ if((uflags & EVF_PERCENT) && nread)
++ {
++ if(!(uflags & EVF_NOCON))
++ ++nconv;
++
++ ret = 0;
++ }
++
++ if(ipc == EOF && nconv == 0)
++ return ret;
++
++
++ return nconv;
++}
++
++
+
+
+ /* @funcstatic fmtVscan *******************************************************
+--- emboss-6.4.0.orig/ajax/core/ajnam.c
++++ emboss-6.4.0/ajax/core/ajnam.c
+@@ -8172,6 +8172,10 @@
+ AjBool hasmethod = ajFalse;
+ AjBool hastype = ajFalse;
+ AjPStr name = NULL;
++ AjPStr token = NULL;
++ AjPStr typetoken = NULL;
++ AjPStrTok handle = NULL;
++ AjPStrTok typehandle = NULL;
+ const AjPStr value = NULL;
+ const AjPStr dbtype = NULL;
+
+@@ -8202,9 +8206,22 @@
+ {
+ hasformat=ajTrue;
+
+- if(!namInformatTest(value, dbtype)) /* test: dbunknowns.rc */
+- namError("Database '%S' %S: '%S' unknown",
+- entry->name, name, value);
++ ok = ajFalse;
++ ajStrTokenAssignC(&typehandle, dbtype, " ,;");
++ ajStrTokenAssignC(&handle, value, " ,;");
++
++ while(ajStrTokenNextParse(&typehandle, &typetoken))
++ {
++ while(ajStrTokenNextParse(&handle, &token))
++ {
++ if(namInformatTest(token, typetoken))
++ ok = ajTrue;
++ }
++ }
++
++ if(!ok) /* test: dbunknowns.rc */
++ namError("Database '%S' %S: '%S' unknown",
++ entry->name, name, value);
+ }
+
+ if(ajStrPrefixC(name, "method"))
+@@ -8221,9 +8238,13 @@
+ hastype=ajTrue;
+ oktype = ajFalse;
+
+- for(k=0; namDbTypes[k].Name; k++)
+- if(ajStrMatchCaseC(value, namDbTypes[k].Name))
+- oktype = ajTrue;
++ ajStrTokenAssignC(&typehandle, value, " ,;");
++ while(ajStrTokenNextParse(&typehandle, &typetoken))
++ {
++ for(k=0; namDbTypes[k].Name; k++)
++ if(ajStrMatchCaseC(typetoken, namDbTypes[k].Name))
++ oktype = ajTrue;
++ }
+
+ if(!oktype) /* test: dbunknowns.rc */
+ namError("Database '%S' %S: '%S' unknown",
+@@ -8260,6 +8281,10 @@
+ }
+
+ ajStrDel(&name);
++ ajStrTokenDel(&handle);
++ ajStrTokenDel(&typehandle);
++ ajStrDel(&token);
++ ajStrDel(&typetoken);
+
+ return ok;
+ }
+--- emboss-6.4.0.orig/ajax/core/ajnexus.c
++++ emboss-6.4.0/ajax/core/ajnexus.c
+@@ -2,23 +2,25 @@
+ ** @source AJAX nexus file parsing functions
+ **
+ ** @author Copyright (C) 2003 Peter Rice
+-** @version 1.0
++** @version $Revision: 1.20 $
++** @modified $Date: 2011/08/09 12:03:22 $ by $Author: rice $
+ ** @@
+ **
+ ** This library is free software; you can redistribute it and/or
+-** modify it under the terms of the GNU Library General Public
++** modify it under the terms of the GNU Lesser General Public
+ ** License as published by the Free Software Foundation; either
+-** version 2 of the License, or (at your option) any later version.
++** version 2.1 of the License, or (at your option) any later version.
+ **
+ ** This library is distributed in the hope that it will be useful,
+ ** but WITHOUT ANY WARRANTY; without even the implied warranty of
+ ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+-** Library General Public License for more details.
++** Lesser General Public License for more details.
++**
++** You should have received a copy of the GNU Lesser General Public
++** License along with this library; if not, write to the Free Software
++** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
++** MA 02110-1301, USA.
+ **
+-** You should have received a copy of the GNU Library General Public
+-** License along with this library; if not, write to the
+-** Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+-** Boston, MA 02111-1307, USA.
+ ******************************************************************************/
+
+ #include "ajax.h"
+@@ -152,6 +154,8 @@
+ **
+ ** @param [u] buff [AjPFilebuff] Input buffered file
+ ** @return [AjPNexus] Nexus data object
++**
++** @release 2.8.0
+ ** @@
+ ******************************************************************************/
+
+@@ -197,6 +201,7 @@
+ if(!ajStrPrefixCaseC(rdline, "#NEXUS"))
+ { /* first line test */
+ ajFilebuffReset(buff);
++ ajStrDel(&rdline);
+
+ return NULL;
+ }
+@@ -205,7 +210,10 @@
+
+ ok = ajBuffreadLine(buff, &rdline);
+ if(!ok)
++ {
++ ajStrDel(&rdline);
+ return NULL;
++ }
+
+ block = ajFalse;
+ commentlevel = 0;
+@@ -254,7 +262,11 @@
+ else if (block && ajRegExec(endexp, rdline)) /* end line */
+ {
+ if (!nexusBlockSave(ret, blocklist, blockname))
++ {
++ ajStrDel(&rdline);
++ ajStrDel(&blockname);
+ return NULL;
++ }
+
+ ajStrAssignClear(&blockname);
+ block = ajFalse;
+@@ -266,9 +278,8 @@
+ if (ajStrGetLen(rdline))
+ {
+ ajListstrPushAppend(blocklist, rdline);
++ rdline = NULL;
+ }
+-
+- rdline = NULL;
+ }
+
+ ok = ajBuffreadLine(buff, &rdline);
+@@ -277,11 +288,16 @@
+ if (block)
+ {
+ ajDebug("ajNexusParse unclosed block '%S'\n", blockname);
+-
++ ajStrDel(&rdline);
++ ajStrDel(&blockname);
+ return NULL;
+ }
+
+ ajNexusTrace(ret);
++ ajStrDel(&rdline);
++ ajStrDel(&blockname);
++
++ ajListFree(&blocklist);
+
+ return ret;
+ }
+@@ -295,6 +311,8 @@
+ **
+ ** @return [AjPNexus] New AjPNexus object
+ ** @category new [AjPNexus] Default constructor
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ AjPNexus ajNexusNew(void)
+@@ -309,12 +327,14 @@
+
+
+
+-/* @funcstatic nexusTaxaNew ***********************************************
++/* @funcstatic nexusTaxaNew ***************************************************
+ **
+ ** Constructor for AjPNexusTaxa
+ **
+ ** @return [AjPNexusTaxa] New AjPNexusTaxa object
+ ** @category new [AjPNexusTaxa] Default constructor
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjPNexusTaxa nexusTaxaNew(void)
+@@ -335,6 +355,8 @@
+ **
+ ** @return [AjPNexusCharacters] New AjPNexusCharacters object
+ ** @category new [AjPNexusCharacters] Default constructor
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjPNexusCharacters nexusCharactersNew(void)
+@@ -363,6 +385,8 @@
+ **
+ ** @return [AjPNexusUnaligned] New AjPNexusUnaligned object
+ ** @category new [AjPNexusUnaligned] Default constructor
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjPNexusUnaligned nexusUnalignedNew(void)
+@@ -389,6 +413,8 @@
+ **
+ ** @return [AjPNexusDistances] New AjPNexusDistances object
+ ** @category new [AjPNexusDistances] Default constructor
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjPNexusDistances nexusDistancesNew(void)
+@@ -409,12 +435,14 @@
+
+
+
+-/* @funcstatic nexusSetsNew ***********************************************
++/* @funcstatic nexusSetsNew ***************************************************
+ **
+ ** Constructor for AjPNexusSets
+ **
+ ** @return [AjPNexusSets] New AjPNexusSets object
+ ** @category new [AjPNexusSets] Default constructor
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjPNexusSets nexusSetsNew(void)
+@@ -435,6 +463,8 @@
+ **
+ ** @return [AjPNexusAssumptions] New AjPNexusAssumptions object
+ ** @category new [AjPNexusAssumptions] Default constructor
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjPNexusAssumptions nexusAssumptionsNew(void)
+@@ -452,12 +482,14 @@
+
+
+
+-/* @funcstatic nexusCodonsNew ***********************************************
++/* @funcstatic nexusCodonsNew *************************************************
+ **
+ ** Constructor for AjPNexusCodons
+ **
+ ** @return [AjPNexusCodons] New AjPNexusCodons object
+ ** @category new [AjPNexusCodons] Default constructor
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjPNexusCodons nexusCodonsNew(void)
+@@ -472,12 +504,14 @@
+
+
+
+-/* @funcstatic nexusTreesNew ***********************************************
++/* @funcstatic nexusTreesNew **************************************************
+ **
+ ** Constructor for AjPNexusTrees
+ **
+ ** @return [AjPNexusTrees] New AjPNexusTrees object
+ ** @category new [AjPNexusTrees] Default constructor
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjPNexusTrees nexusTreesNew(void)
+@@ -492,12 +526,14 @@
+
+
+
+-/* @funcstatic nexusNotesNew ***********************************************
++/* @funcstatic nexusNotesNew **************************************************
+ **
+ ** Constructor for AjPNexusNotes
+ **
+ ** @return [AjPNexusNotes] New AjPNexusNotes object
+ ** @category new [AjPNexusNotes] Default constructor
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjPNexusNotes nexusNotesNew(void)
+@@ -519,6 +555,8 @@
+ ** @param [d] pthys [AjPNexus*] AjPNexus object
+ ** @return [void]
+ ** @category delete [AjPNexus] Default destructor
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ void ajNexusDel(AjPNexus* pthys)
+@@ -553,6 +591,8 @@
+ ** @param [d] pthys [AjPNexusTaxa*] AjPNexusTaxa object
+ ** @return [void]
+ ** @category delete [AjPNexusTaxa] Default destructor
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static void nexusTaxaDel(AjPNexusTaxa* pthys)
+@@ -579,6 +619,8 @@
+ ** @param [d] pthys [AjPNexusCharacters*] AjPNexusCharacters object
+ ** @return [void]
+ ** @category delete [AjPNexusCharacters] Default destructor
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static void nexusCharactersDel(AjPNexusCharacters* pthys)
+@@ -618,6 +660,8 @@
+ ** @param [d] pthys [AjPNexusUnaligned*] AjPNexusUnaligned object
+ ** @return [void]
+ ** @category delete [AjPNexusUnaligned] Default destructor
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static void nexusUnalignedDel(AjPNexusUnaligned* pthys)
+@@ -650,6 +694,8 @@
+ ** @param [d] pthys [AjPNexusDistances*] AjPNexusDistances object
+ ** @return [void]
+ ** @category delete [AjPNexusDistances] Default destructor
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static void nexusDistancesDel(AjPNexusDistances* pthys)
+@@ -680,6 +726,8 @@
+ ** @param [d] pthys [AjPNexusSets*] AjPNexusSets object
+ ** @return [void]
+ ** @category delete [AjPNexusSets] Default destructor
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static void nexusSetsDel(AjPNexusSets* pthys)
+@@ -715,6 +763,8 @@
+ ** @param [d] pthys [AjPNexusAssumptions*] AjPNexuAssumptionss object
+ ** @return [void]
+ ** @category delete [AjPNexusAssumptions] Default destructor
++**
++** @release 2.9.0
+ ******************************************************************************/
+
+ static void nexusAssumptionsDel(AjPNexusAssumptions* pthys)
+@@ -750,6 +800,8 @@
+ ** @param [d] pthys [AjPNexusCodons*] AjPNexusCodons object
+ ** @return [void]
+ ** @category delete [AjPNexusCodons] Default destructor
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static void nexusCodonsDel(AjPNexusCodons* pthys)
+@@ -780,6 +832,8 @@
+ ** @param [d] pthys [AjPNexusTrees*] AjPNexusTrees object
+ ** @return [void]
+ ** @category delete [AjPNexusTrees] Default destructor
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static void nexusTreesDel(AjPNexusTrees* pthys)
+@@ -802,13 +856,15 @@
+
+
+
+-/* @funcstatic nexusNotesDel ************************************************
++/* @funcstatic nexusNotesDel **************************************************
+ **
+ ** Destructor for AjPNexusNotes
+ **
+ ** @param [d] pthys [AjPNexusNotes*] AjPNexusNotes object
+ ** @return [void]
+ ** @category delete [AjPNexusNotes] Default destructor
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static void nexusNotesDel(AjPNexusNotes* pthys)
+@@ -841,6 +897,8 @@
+ ** @param [w] list [AjPList] List of block records
+ ** @param [r] blockname [const AjPStr] Block name
+ ** @return [AjBool] ajTrue on success
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjBool nexusBlockSave(AjPNexus thys, AjPList list,
+@@ -905,7 +963,7 @@
+
+
+
+-/* @funcstatic nexusCommand ********************************************
++/* @funcstatic nexusCommand ***************************************************
+ **
+ ** Finds the next command and command string in a block
+ **
+@@ -913,6 +971,8 @@
+ ** @param [w] command [AjPStr*] Command name
+ ** @param [w] cmdstr [AjPStr*] Command string
+ ** @return [AjBool] ajTrue on success
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjBool nexusCommand(AjPList list, AjPStr* command, AjPStr* cmdstr)
+@@ -944,6 +1004,8 @@
+ {
+ ajRegPre(endcommand, &tmpstr);
+ ajStrAssignS(cmdstr, tmpstr);
++ ajStrDel(&tmpstr);
++ ajStrDel(&rdline);
+
+ return ajTrue;
+ }
+@@ -957,6 +1019,8 @@
+ {
+ ajRegPre(endcommand, &tmpstr);
+ ajStrAppendS(cmdstr, tmpstr);
++ ajStrDel(&tmpstr);
++ ajStrDel(&rdline);
+
+ return ajTrue;
+ }
+@@ -970,19 +1034,23 @@
+ }
+ }
+
++ ajStrDel(&rdline);
++
+ return ajFalse;
+ }
+
+
+
+
+-/* @funcstatic nexusParseTaxa ********************************************
++/* @funcstatic nexusParseTaxa *************************************************
+ **
+ ** Parses Nexus commands for a Taxa block
+ **
+ ** @param [w] thys [AjPNexus] Nexus object
+ ** @param [u] list [AjPList] List of block records
+ ** @return [AjBool] ajTrue on success
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjBool nexusParseTaxa(AjPNexus thys, AjPList list)
+@@ -1024,6 +1092,8 @@
+ if (!thys->Taxa->Ntax)
+ {
+ ajDebug("nexusParseTaxa failed: dimension Ntax not found\n");
++ ajStrDel(&command);
++ ajStrDel(&cmdstr);
+
+ return ajFalse;
+ }
+@@ -1034,12 +1104,17 @@
+ {
+ ajDebug("nexusParseTaxa failed: Ntax %d read %d TaxLabels\n",
+ thys->Taxa->Ntax, i);
++ ajStrDel(&command);
++ ajStrDel(&cmdstr);
+
+ return ajFalse;
+ }
+ }
+ }
+
++ ajStrDel(&command);
++ ajStrDel(&cmdstr);
++
+ if (!thys->Taxa->Ntax)
+ {
+ ajDebug("nexusParseTaxa failed: taxa data not found\n");
+@@ -1061,6 +1136,8 @@
+ ** @param [u] list [AjPList] List of block records
+ ** @param [r] newtaxa [AjBool] If true, set NewTaxa
+ ** @return [AjBool] ajTrue on success
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjBool nexusParseCharacters(AjPNexus thys, AjPList list, AjBool newtaxa)
+@@ -1145,6 +1222,8 @@
+ if(!nexusGetInt(cmdstr, dimexp3, 1, &thys->Characters->Nchar))
+ {
+ ajDebug("nexusParseCharacters failed: nchar undefined\n");
++ ajStrDel(&command);
++ ajStrDel(&cmdstr);
+ return ajFalse;
+ }
+ }
+@@ -1197,6 +1276,8 @@
+ ajDebug("nexusParseCharacters "
+ "failed: Ntax %d read %d TaxLabels\n",
+ thys->Taxa->Ntax, i);
++ ajStrDel(&command);
++ ajStrDel(&cmdstr);
+
+ return ajFalse;
+ }
+@@ -1238,6 +1319,9 @@
+ }
+ }
+
++ ajStrDel(&command);
++ ajStrDel(&cmdstr);
++
+ if (!thys->Characters->Nchar)
+ {
+ ajDebug("nexusParseCharacters failed: dimension nchar undefined\n");
+@@ -1258,6 +1342,8 @@
+ ** @param [w] thys [AjPNexus] Nexus object
+ ** @param [u] list [AjPList] List of block records
+ ** @return [AjBool] ajTrue on success
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjBool nexusParseUnaligned(AjPNexus thys, AjPList list)
+@@ -1336,6 +1422,9 @@
+ }
+ }
+
++ ajStrDel(&command);
++ ajStrDel(&cmdstr);
++
+ return ajTrue;
+ }
+
+@@ -1349,6 +1438,8 @@
+ ** @param [w] thys [AjPNexus] Nexus object
+ ** @param [u] list [AjPList] List of block records
+ ** @return [AjBool] ajTrue on success
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjBool nexusParseDistances(AjPNexus thys, AjPList list)
+@@ -1447,19 +1538,24 @@
+ }
+ }
+
++ ajStrDel(&command);
++ ajStrDel(&cmdstr);
++
+ return ajTrue;
+ }
+
+
+
+
+-/* @funcstatic nexusParseSets ********************************************
++/* @funcstatic nexusParseSets *************************************************
+ **
+ ** Parses Nexus commands for a Sets block
+ **
+ ** @param [w] thys [AjPNexus] Nexus object
+ ** @param [u] list [AjPList] List of block records
+ ** @return [AjBool] ajTrue on success
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjBool nexusParseSets(AjPNexus thys, AjPList list)
+@@ -1505,6 +1601,9 @@
+ }
+ }
+
++ ajStrDel(&command);
++ ajStrDel(&cmdstr);
++
+ return ajTrue;
+ }
+
+@@ -1518,6 +1617,8 @@
+ ** @param [w] thys [AjPNexus] Nexus object
+ ** @param [u] list [AjPList] List of block records
+ ** @return [AjBool] ajTrue on success
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjBool nexusParseAssumptions(AjPNexus thys, AjPList list)
+@@ -1594,19 +1695,24 @@
+ }
+ }
+
++ ajStrDel(&command);
++ ajStrDel(&cmdstr);
++
+ return ajTrue;
+ }
+
+
+
+
+-/* @funcstatic nexusParseCodons ********************************************
++/* @funcstatic nexusParseCodons ***********************************************
+ **
+ ** Parses Nexus commands for a Codons block
+ **
+ ** @param [w] thys [AjPNexus] Nexus object
+ ** @param [u] list [AjPList] List of block records
+ ** @return [AjBool] ajTrue on success
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjBool nexusParseCodons(AjPNexus thys, AjPList list)
+@@ -1640,19 +1746,24 @@
+ }
+ }
+
++ ajStrDel(&command);
++ ajStrDel(&cmdstr);
++
+ return ajTrue;
+ }
+
+
+
+
+-/* @funcstatic nexusParseTrees ********************************************
++/* @funcstatic nexusParseTrees ************************************************
+ **
+ ** Parses Nexus commands for a Trees block
+ **
+ ** @param [w] thys [AjPNexus] Nexus object
+ ** @param [u] list [AjPList] List of block records
+ ** @return [AjBool] ajTrue on success
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjBool nexusParseTrees(AjPNexus thys, AjPList list)
+@@ -1681,19 +1792,24 @@
+ }
+ }
+
++ ajStrDel(&command);
++ ajStrDel(&cmdstr);
++
+ return ajTrue;
+ }
+
+
+
+
+-/* @funcstatic nexusParseNotes ********************************************
++/* @funcstatic nexusParseNotes ************************************************
+ **
+ ** Parses Nexus commands for a Notes block
+ **
+ ** @param [w] thys [AjPNexus] Nexus object
+ ** @param [u] list [AjPList] List of block records
+ ** @return [AjBool] ajTrue on success
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjBool nexusParseNotes(AjPNexus thys, AjPList list)
+@@ -1722,6 +1838,9 @@
+ }
+ }
+
++ ajStrDel(&command);
++ ajStrDel(&cmdstr);
++
+ return ajTrue;
+ }
+
+@@ -1737,6 +1856,8 @@
+ ** @param [u] exp [AjPRegexp] Compiled regular expression for parsing
+ ** @param [w] dest [AjPStr**] Array generated
+ ** @return [ajint] Number of strings returned
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static ajint nexusGetArray(AjPStr src, AjPRegexp exp,
+@@ -1779,6 +1900,8 @@
+ ** @param [r] isub [ajint] Substring number to extract
+ ** @param [w] dest [AjPStr*] String generated
+ ** @return [AjBool] ajTrue on success
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjBool nexusGetStr(AjPStr src, AjPRegexp exp, ajint isub, AjPStr* dest)
+@@ -1805,6 +1928,8 @@
+ ** @param [r] isub [ajint] Substring number to extract
+ ** @param [w] dest [char*] String generated
+ ** @return [AjBool] ajTrue on success
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjBool nexusGetChar(AjPStr src, AjPRegexp exp, ajint isub, char* dest)
+@@ -1841,6 +1966,8 @@
+ ** @param [r] isub [ajint] Substring number to extract
+ ** @param [w] dest [ajuint*] Integer generated
+ ** @return [AjBool] ajTrue on success
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjBool nexusGetInt(AjPStr src, AjPRegexp exp, ajint isub, ajuint* dest)
+@@ -1860,7 +1987,7 @@
+
+
+
+-/* @funcstatic nexusGetBool **************************************************
++/* @funcstatic nexusGetBool ***************************************************
+ **
+ ** Sets a nexus bool from a parsed nexus command in the form [no]name.
+ ** We know name is found, we test for the "no" part.
+@@ -1870,6 +1997,8 @@
+ ** @param [r] isub [ajint] Substring number to extract
+ ** @param [w] dest [AjBool*] Boolean generated
+ ** @return [AjBool] ajTrue on success
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjBool nexusGetBool(AjPStr src, AjPRegexp exp, ajint isub, AjBool* dest)
+@@ -1893,7 +2022,7 @@
+
+
+
+-/* @funcstatic nexusVocab ***************************************************
++/* @funcstatic nexusVocab *****************************************************
+ **
+ ** Tests a string against a controlled vocabulary
+ **
+@@ -1901,6 +2030,8 @@
+ ** @param [r] src [const AjPStr] String to be tested
+ ** @param [r] vocab [const char* []] List of known values, ending in a NULL
+ ** @return [AjBool] ajTrue on success
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjBool nexusVocab(const char* title, const AjPStr src,
+@@ -1927,6 +2058,8 @@
+ **
+ ** @param [r] thys [const AjPNexus] nexus object
+ ** @return [void]
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ void ajNexusTrace(const AjPNexus thys)
+@@ -2430,6 +2563,8 @@
+ **
+ ** @param [r] thys [const AjPNexus] Nexus object
+ ** @return [AjPStr*] taxa string array, NULL terminated, read only
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ AjPStr* ajNexusGetTaxa(const AjPNexus thys)
+@@ -2452,6 +2587,8 @@
+ **
+ ** @param [r] thys [const AjPNexus] Nexus object
+ ** @return [ajuint] Number of taxa
++**
++** @release 2.8.0
+ ** @@
+ ******************************************************************************/
+
+@@ -2478,6 +2615,8 @@
+ **
+ ** @param [u] thys [AjPNexus] Nexus object
+ ** @return [AjPStr*] taxa string array, NULL terminated, read only
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ AjPStr* ajNexusGetSequences(AjPNexus thys)
+@@ -2502,6 +2641,8 @@
+ **
+ ** @param [u] thys [AjPNexus] Nexus object
+ ** @return [AjBool] ajTrue on success
++**
++** @release 2.8.0
+ ******************************************************************************/
+
+ static AjBool nexusSetSequences(AjPNexus thys)
+@@ -2591,7 +2732,7 @@
+
+ for (i=0; thys->Taxa->TaxLabels[i]; i++)
+ {
+- seqstr = ajStrNewRes(thys->Characters->Nchar+1);
++ seqstr = ajStrNewRes(thys->Characters->Nchar+1);
+ ajTablePut(seqtab, thys->Taxa->TaxLabels[i], seqstr);
+ seqstr = NULL;
+ }
+@@ -2599,6 +2740,7 @@
+ else
+ {
+ AJCNEW0(thys->Taxa->TaxLabels, (thys->Ntax+1));
++ ajDebug("thys->Taxa->TaxLabels 0..%u\n", (thys->Ntax+1));
+ }
+
+ taxlabel = NULL;
+@@ -2609,6 +2751,7 @@
+ ajStrAssignS(&rdline, thys->Characters->Matrix[i]);
+ ajStrRemoveWhiteExcess(&rdline);
+
++ ajDebug("rdline: '%S'\n", rdline);
+ if (!taxlabel || thys->Characters->Interleave ||
+ (ajStrGetLen(seqstr) >= thys->Characters->Nchar))
+ { /* next tax label */
+@@ -2617,13 +2760,23 @@
+
+ ajRegSubI(word, 0, &taxlabel);
+ ajRegPost(word, &tmpstr);
++ ajDebug("taxlabel '%S' rest '%S'\n", taxlabel, tmpstr);
+ ajStrAssignS(&rdline, tmpstr);
+ ajStrQuoteStripAll(&taxlabel);
++ ajDebug("unquoted taxlabel %p '%S'\n", taxlabel, taxlabel);
+
+ if (!havetaxa)
+ {
++ ajDebug("ajTablePut itax.%u label %p '%S'\n",
++ itax,
++ thys->Taxa->TaxLabels[itax],
++ thys->Taxa->TaxLabels[itax]);
+ ajStrAssignS(&thys->Taxa->TaxLabels[itax], taxlabel);
+ seqstr = ajStrNewRes(thys->Characters->Nchar+1);
++ ajDebug("ajTablePut itax %u label %p '%S'\n",
++ itax,
++ thys->Taxa->TaxLabels[itax],
++ thys->Taxa->TaxLabels[itax]);
+ ajTablePut(seqtab, thys->Taxa->TaxLabels[itax], seqstr);
+ seqstr = NULL;
+ itax++;
+@@ -2631,8 +2784,10 @@
+ havetaxa = ajTrue;
+ }
+
++ ajDebug("havetaxa: %B taxlabel '%S'\n", havetaxa, taxlabel);
+ seqstr = ajTableFetchmodS(seqtab, taxlabel);
+
++ ajDebug("seqstr '%S'\n", seqstr);
+ if (!seqstr)
+ {
+ ajErr("Unknown taxon '%S' in nexus data", taxlabel);
+@@ -2650,12 +2805,12 @@
+ {
+ ajRegSubI(word, 0, &tmpstr);
+ ajStrAppendS(&seqstr, tmpstr);
+- ajTablePut(seqtab, taxlabel, seqstr); /* just to make sure */
+ ajRegPost(word, &tmpstr);
+ ajStrAssignS(&rdline, tmpstr);
+ }
+
+ ajStrExchangeKK(&seqstr, gapch, '-');
++ ajDebug("seqstr updated '%S'\n", seqstr);
+ }
+
+ ajRegFree(&word);
+@@ -2683,6 +2838,8 @@
+ }
+
+ ajTableFree(&seqtab);
++ ajStrDel(&firstseq);
++ ajStrDel(&taxlabel);
+
+ return ajTrue;
+ }
+@@ -2700,6 +2857,8 @@
+ ** @param [d] pthis [AjPStr**] Pointer to the string array to be deleted.
+ ** The pointer is always deleted.
+ ** @return [void]
++**
++** @release 4.0.0
+ ** @@
+ ******************************************************************************/
+
+--- emboss-6.4.0.orig/ajax/core/ajpat.c
++++ emboss-6.4.0/ajax/core/ajpat.c
+@@ -752,6 +752,8 @@
+ default:
+ mismreg = ajRegCompC("<mismatch=(\\d+)>");
+
++ mismatch=mismatches; /* set for first pattern */
++
+ while (ajBuffreadLineTrim(infile,&line))
+ {
+ if (ajStrGetCharFirst(line) == '>')
+@@ -762,7 +764,7 @@
+ mismatch);
+ ajStrSetClear(&name);
+ ajStrSetClear(&pat);
+- mismatch=mismatches;
++ mismatch=mismatches; /* reset for next pattern */
+ }
+
+ ajStrCutStart(&line,1);
+--- emboss-6.4.0.orig/ajax/core/ajquery.c
++++ emboss-6.4.0/ajax/core/ajquery.c
+@@ -1609,7 +1609,14 @@
+ fmtstat = ajRegExec(queryRegFmt, *Pqry);
+
+ if(!fmtstat)
++ {
++ if(ajStrGetLen(textin->Formatstr))
++ {
++ if(findformat(textin->Formatstr, &textin->Format))
++ ajStrAssignS(&qry->Formatstr, textin->Formatstr);
++ }
+ return NULL;
++ }
+
+ ajRegSubI(queryRegFmt, 1, &queryFormat);
+ ajRegSubI(queryRegFmt, 2, Pqry);
+@@ -2716,15 +2723,21 @@
+ ajDebug("ajQueryAddFieldOrC.i '%s' '%S'\n",
+ "id", qrystring);
+
+- ajQueryAddFieldElseC(qry, "acc",
+- MAJSTRGETPTR(qrystring));
+- ajDebug("ajQueryAddFieldElseC.i '%s' '%S'\n",
+- "acc", qrystring);
++ if(qry->HasAcc && ajQueryKnownFieldC(qry, "acc"))
++ {
++ ajQueryAddFieldElseC(qry, "acc",
++ MAJSTRGETPTR(qrystring));
++ ajDebug("ajQueryAddFieldElseC.i '%s' '%S'\n",
++ "acc", qrystring);
++ }
+
+- ajQueryAddFieldElseC(qry, "sv",
+- MAJSTRGETPTR(qrystring));
+- ajDebug("ajQueryAddFieldElseC.i '%s' '%S'\n",
+- "sv", qrystring);
++ if(ajQueryKnownFieldC(qry, "sv"))
++ {
++ ajQueryAddFieldElseC(qry, "sv",
++ MAJSTRGETPTR(qrystring));
++ ajDebug("ajQueryAddFieldElseC.i '%s' '%S'\n",
++ "sv", qrystring);
++ }
+ }
+ ajStrAssignS(&lastoper, operstr);
+ ajStrTrimWhite(&lastoper);
+--- emboss-6.4.0.orig/ajax/core/ajrange.c
++++ emboss-6.4.0/ajax/core/ajrange.c
+@@ -179,7 +179,7 @@
+ ajuint minsize, ajuint size)
+ {
+ AjPRange ret = NULL;
+- AjPFile infile;
++ AjPFile infile = NULL;
+ AjPStr line = NULL;
+ char whiteSpace[] = " \t\n\r";
+ char notSpace[] = "\n\r";
+@@ -189,9 +189,9 @@
+ ajuint numone;
+ ajuint numtwo;
+
+- AjPStr one;
+- AjPStr two;
+- AjPStr text;
++ AjPStr one = NULL;
++ AjPStr two = NULL;
++ AjPStr text = NULL;
+
+ AjPList onelist;
+ AjPList twolist;
+@@ -229,13 +229,17 @@
+ one = ajStrNew();
+ ajStrTokenNextParse(&tokens, &one);
+ ajListstrPushAppend(onelist, one);
++ one = NULL;
+
+ two = ajStrNew();
+ ajStrTokenNextParse(&tokens, &two);
+
+ if(ajStrGetLen(two))
+- ajListstrPushAppend(twolist, two);
+- else
++ {
++ ajListstrPushAppend(twolist, two);
++ two = NULL;
++ }
++ else
+ {
+ ajWarn("Odd integer(s) in range specification:\n%S\n", line);
+
+@@ -247,10 +251,14 @@
+ ajStrTokenNextParseC(&tokens, notSpace, &text);
+ ajStrTrimWhite(&text);
+ ajListstrPushAppend(textlist, text);
++ text = NULL;
+
+ ajStrTokenDel( &tokens);
+ }
+
++ ajFileClose(&infile);
++ ajStrDel(&line);
++
+ /* now we know how many pairs of numbers to store, create ajRange object */
+ n = ajListstrGetLength(onelist);
+ if(size)
+@@ -331,6 +339,7 @@
+ /* do the text */
+ ajListstrPop(textlist, &text);
+ ret->text[k] = text;
++ text = NULL;
+ }
+
+
+--- emboss-6.4.0.orig/ajax/core/ajseqabi.c
++++ emboss-6.4.0/ajax/core/ajseqabi.c
+@@ -181,6 +181,7 @@
+ *machine = ajStrNewRes(l+1);
+ ajReadbinBinary(fp,1,l,(void*)ajStrGetuniquePtr(machine));
+ *(ajStrGetuniquePtr(machine)+l)='\0';
++ ajStrSetValid(machine);
+ }
+ else
+ return ajFalse;
+@@ -961,6 +962,7 @@
+ *sample = ajStrNewRes(l+1);
+ ajReadbinBinary(fp,1,l,(void*)ajStrGetuniquePtr(sample));
+ *(ajStrGetuniquePtr(sample)+l)='\0';
++ ajStrSetValid(sample);
+ }
+
+ return ajTrue;
+--- emboss-6.4.0.orig/ajax/core/ajseqread.c
++++ emboss-6.4.0/ajax/core/ajseqread.c
+@@ -5497,6 +5497,7 @@
+ static AjBool seqReadRaw(AjPSeq thys, AjPSeqin seqin)
+ {
+ AjPFilebuff buff;
++ const char* cp;
+ AjPFile fp;
+ AjBool ok = ajFalse;
+ ajulong filestat = 0L;
+@@ -5506,83 +5507,139 @@
+ AjPStr buf = NULL;
+ char *cbuf;
+ AjPStr tmpseq = NULL;
+-
+- if(!seqRegRawNonseq)
+- seqRegRawNonseq = ajRegCompC("[^A-Za-z0-9 \t\n\r*-]");
++ size_t iread;
++
++ ajDebug("seqReadRaw\n");
+
+ buff = seqin->Input->Filebuff;
+ fp = ajFilebuffGetFile(buff);
+
+- ajDebug("seqReadRaw\n");
++ if(!seqRegRawNonseq)
++ seqRegRawNonseq = ajRegCompC("[^A-Za-z0-9 \t\n\r*-]");
+
+ if(ajFilebuffIsEnded(buff))
+ return ajFalse;
+
+- buf = ajStrNewRes(4096);
+- ajStrSetValidLen(&buf, inc);
+- cbuf = ajStrGetuniquePtr(&buf);
+-
+- filestat = ajFileSeek(fp, 0L, SEEK_END);
+- filesize = ajFileResetPos(fp);
+- filestat = ajFileSeek(fp, (ajlong) filestat, 0);
++ filestat = ajFileSeek(fp, 0L, SEEK_CUR);
+
+- ok = ajTrue;
++ if(filestat)
++ {
++ /* not a file - cannot use binary, so we can only read the buffer */
++ while(ajBuffreadLineStore(buff, &seqReadLine,
++ seqin->Input->Text, &thys->TextPtr))
++ {
++ ajDebug("read '%S'\n", seqReadLine);
+
+- for(i=0; i < filesize; i += inc)
++ cp = ajStrGetPtr(seqReadLine);
++ if(strlen(cp) != ajStrGetLen(seqReadLine))
++ {
++ ajDebug("seqReadRaw: Null character found in line: %S\n",
++ seqReadLine);
++ ajFilebuffResetStore(buff, seqin->Input->Text, &thys->TextPtr);
++ ajStrAssignClear(&thys->Seq);
++
++ return ajFalse;
++ }
++
++ if(ajRegExec(seqRegRawNonseq, seqReadLine))
++ {
++ ajDebug("seqReadRaw: Bad character found in line: %S\n",
++ seqReadLine);
++ ajFilebuffResetStore(buff, seqin->Input->Text, &thys->TextPtr);
++ ajStrAssignClear(&thys->Seq);
++
++ return ajFalse;
++ }
++ seqAppend(&thys->Seq, seqReadLine);
++ seqin->Input->Records++;
++ ajDebug("read %d lines\n", seqin->Input->Records);
++ }
++ }
++ else
+ {
+- if((i+inc) > filesize)
++ if(ajFilebuffIsEnded(buff))
+ {
+- inc = (ajuint) (filesize - i);
+- ajStrSetValidLen(&buf, inc);
++ ajFileSeek(fp, 0L, SEEK_END);
++ return ajFalse;
+ }
+
+- ajReadbinBinary(fp, inc, 1, cbuf);
+- cbuf[inc] = '\0';
++ buf = ajStrNewRes(4096);
++ ajStrSetValidLen(&buf, inc);
++ cbuf = ajStrGetuniquePtr(&buf);
++
++ filestat = ajFileSeek(fp, 0L, SEEK_END);
++ filesize = ajFileResetPos(fp);
++ filestat = ajFileSeek(fp, 0L, SEEK_SET);
+
+- if(strlen(cbuf) != inc)
++ if(!filesize)
+ {
+- ajDebug("seqReadRaw: Null character found in line: %s\n",
+- cbuf);
+- ok = ajFalse;
+- break;
++ ajFileSeek(fp,(ajlong) filesize, SEEK_SET);
++ return ajFalse;
+ }
++
++ ok = ajTrue;
+
+- if(ajRegExec(seqRegRawNonseq, buf))
+- {
+- ajDebug("seqReadRaw: Bad character found in line: %s\n",
+- cbuf);
+- ok = ajFalse;
+- break;
+- }
++ for(i=0; i < filesize; i += inc)
++ {
++ if((i+inc) > filesize)
++ {
++ inc = (ajuint) (filesize - i);
++ ajStrSetValidLen(&buf, inc);
++ }
+
+- ajStrAssignC(&tmpseq, cbuf);
++ iread = ajReadbinBinary(fp, inc, 1, cbuf);
++ cbuf[inc] = '\0';
+
+- if(seqin->Input->Text)
+- ajStrAppendS(&thys->TextPtr, tmpseq);
++ if(strlen(cbuf) != iread)
++ {
++ ajDebug("seqReadRaw: Null character found in line: %s\n",
++ cbuf);
++ ok = ajFalse;
++ break;
++ }
+
+- seqAppend(&thys->Seq, tmpseq);
+- seqin->Input->Records++;
+- ajDebug("read %d lines\n", seqin->Input->Records);
+- }
++ if(ajRegExec(seqRegRawNonseq, buf))
++ {
++ ajDebug("seqReadRaw: Bad character found in line: %S\n",
++ seqReadLine);
++ ok = ajFalse;
++ break;
++ }
+
+- ajStrDel(&buf);
+- ajStrDel(&tmpseq);
++ ajStrAssignC(&tmpseq, cbuf);
+
+- if(!ok)
+- {
+- ajFileSeek(fp,(ajlong) filestat,0);
++ if(seqin->Input->Text)
++ ajStrAppendS(&thys->TextPtr, tmpseq);
++
++ seqAppend(&thys->Seq, tmpseq);
++ seqin->Input->Records++;
++ ajDebug("read %d lines\n", seqin->Input->Records);
++ }
+
+- if(seqin->Input->Text)
+- ajStrAssignC(&thys->TextPtr, "");
++ ajStrDel(&buf);
++ ajStrDel(&tmpseq);
++
++ if(!ok)
++ {
++ ajFileSeek(fp,(ajlong) filestat,0);
++
++ if(seqin->Input->Text)
++ ajStrAssignC(&thys->TextPtr, "");
++
++ ajFilebuffResetPos(buff);
++
++ return ajFalse;
++ }
+
+- ajFilebuffResetPos(buff);
+
+- return ajFalse;
+ }
+
+ ajFilebuffClear(buff, -1);
+ buff->File->End=ajTrue;
+
++ if(!seqin->Input->Records)
++ return ajFalse;
++
+ return ajTrue;
+ }
+
+@@ -7898,6 +7955,7 @@
+ ajuint j;
+ AjPFilebuff buff;
+ AjPStr* seqs = NULL;
++ AjPStr* names = NULL;
+ AjPNexus nexus = NULL;
+
+ SeqPMsfData phydata = NULL;
+@@ -7953,8 +8011,11 @@
+ seqs = ajNexusGetTaxa(phydata->Nexus);
+ phydata->Names = AJCALLOC(phydata->Nseq, sizeof(*phydata->Names));
+
+- for(j=0;j<phydata->Nseq;j++)
+- ajStrAssignS(&phydata->Names[j], seqs[j]);
++ if(seqs)
++ {
++ for(j=0;j<phydata->Nseq;j++)
++ ajStrAssignS(&phydata->Names[j], seqs[j]);
++ }
+
+ seqin->SeqData = phydata;
+ ajDebug("Nexus parsed %d sequences\n", phydata->Nseq);
+@@ -7974,22 +8035,23 @@
+ return ajFalse;
+ }
+
+- if (!phydata->Names) /* finally set from the sequences */
+- {
+- seqs = ajNexusGetTaxa(phydata->Nexus);
++ thys->Weight = 1.0;
++ ajStrAssignS(&thys->Seq, seqs[i]);
++
++ if (!phydata->Names)
+ phydata->Names = AJCALLOC(phydata->Nseq, sizeof(*phydata->Names));
+
++ if (!phydata->Names[0]) /* finally set from the sequences */
++ {
++ names = ajNexusGetTaxa(phydata->Nexus);
+ for(j=0;j<phydata->Nseq;j++)
+- ajStrAssignS(&phydata->Names[j], seqs[j]);
++ ajStrAssignS(&phydata->Names[j], names[j]);
+ }
+
+ ajDebug("returning [%d] '%S'\n", i, phydata->Names[i]);
+
+ ajStrAssignS(&thys->Name, phydata->Names[i]);
+
+- thys->Weight = 1.0;
+- ajStrAssignS(&thys->Seq, seqs[i]);
+-
+ phydata->Count++;
+
+ if(phydata->Count >= phydata->Nseq)
+@@ -13827,7 +13889,7 @@
+ ajStrAssignC(&seqFtFmtGff, "gff3");
+
+ if(!seqRegGff3Typ)
+- seqRegGff3Typ = ajRegCompC("^#!(.*)");
++ seqRegGff3Typ = ajRegCompC("^#!Type (.*)");
+
+ ok = ajBuffreadLineStore(buff, &seqReadLine,
+ seqin->Input->Text, &thys->TextPtr);
+@@ -13885,7 +13947,8 @@
+
+ if(ajRegExec(seqRegGff3Typ, seqReadLine))
+ {
+- ajFmtPrintS(&outstr, "%S\n", seqReadLine);
++ ajRegSubI(seqRegGff3Typ, 1, &typstr);
++ ajFmtPrintS(&outstr, "#!Type %S", typstr);
+ }
+
+ ok = ajBuffreadLineStore(buff, &seqReadLine,
+@@ -13966,7 +14029,7 @@
+ ajFeattabinDel(&seqin->Ftquery);
+ seqin->Ftquery = ajFeattabinNewSSF(seqFtFmtGff, thys->Name,
+ ajStrGetPtr(seqin->Type), ftfile);
+- ajDebug("GFF FEAT TabIn %x\n", seqin->Ftquery);
++ ajDebug("GFF3 FEAT TabIn %x\n", seqin->Ftquery);
+ ftfile = NULL;
+ ajFeattableDel(&seqin->Fttable);
+ ajFeattableDel(&thys->Fttable);
+--- emboss-6.4.0.orig/ajax/ensembl/ensdatabaseadaptor.c
++++ emboss-6.4.0/ajax/ensembl/ensdatabaseadaptor.c
+@@ -156,8 +156,8 @@
+ ** @argrule Ini dbc [EnsPDatabaseconnection] Ensembl Database Connection
+ ** @argrule Ini database [AjPStr] Database name
+ ** @argrule Ini species [AjPStr] Species
+-** @argrule Ini dbag [EnsEDatabaseadaptorGroup] Ensembl Database Adaptor Group
+-** enumeration
++** @argrule Ini dbag [EnsEDatabaseadaptorGroup]
++** Ensembl Database Adaptor Group enumeration
+ ** @argrule Ini multi [AjBool] Multiple species
+ ** @argrule Ini identifier [ajuint] Species identifier
+ ** @argrule Url url [const AjPStr] Uniform Resource Locator
+@@ -239,7 +239,7 @@
+ return NULL;
+
+ collectionre =
+- ajRegCompC("^\\w+_collection_([a-z]+)(?:_\\d+)?_(\\d+)_\\w+");
++ ajRegCompC("^(\\w+)_collection_([a-z]+)(?:_\\d+)?_(\\d+)_\\w+");
+
+ multire =
+ ajRegCompC("^ensembl_([a-z]+)(_\\w+?)*?(?:_\\d+)?_(\\d+)$");
+@@ -254,10 +254,12 @@
+ /* Ensembl Collection databases have to be matched first. */
+
+ group = ajStrNew();
++ prefix = ajStrNew();
+ swversion = ajStrNew();
+
+- ajRegSubI(collectionre, 1, &group);
+- ajRegSubI(collectionre, 2, &swversion);
++ ajRegSubI(collectionre, 1, &prefix);
++ ajRegSubI(collectionre, 2, &group);
++ ajRegSubI(collectionre, 3, &swversion);
+
+ if(ajStrMatchCaseC(swversion, ensSoftwareVersion))
+ {
+@@ -290,6 +292,7 @@
+ }
+
+ ajStrDel(&group);
++ ajStrDel(&prefix);
+ ajStrDel(&swversion);
+ }
+ else if(ajRegExec(multire, database))
+@@ -417,6 +420,9 @@
+ **
+ ** Constructor for an Ensembl Database Adaptor with initial values.
+ **
++** If a database name has not been provided, the database name of the
++** Ensembl Database Connection will be used.
++**
+ ** Ensembl Database Adaptors are singleton objects in the sense that a single
+ ** instance of an Ensembl Database Adaptor connected to a particular database
+ ** is sufficient to instantiate any number of Ensembl Object Adaptors from the
+@@ -430,12 +436,10 @@
+ **
+ ** @cc Bio::EnsEMBL::DBSQL::DBAdaptor::new
+ ** @param [u] dbc [EnsPDatabaseconnection] Ensembl Database Connection
+-** @param [u] database [AjPStr] Database name (optional). If not provided, the
+-** database name in the Database Connection will
+-** be used.
++** @param [uN] database [AjPStr] Database name
+ ** @param [u] species [AjPStr] Species
+-** @param [u] dbag [EnsEDatabaseadaptorGroup] Ensembl Database Adaptor Group
+-** enumeration
++** @param [u] dbag [EnsEDatabaseadaptorGroup]
++** Ensembl Database Adaptor Group enumeration
+ ** @param [r] multi [AjBool] Multiple species
+ ** @param [r] identifier [ajuint] Species identifier
+ **
+@@ -555,15 +559,15 @@
+
+ /* @section destructors *******************************************************
+ **
+-** Destruction destroys all internal data structures and frees the
+-** memory allocated for an Ensembl Database Adaptor object.
++** Destruction destroys all internal data structures and frees the memory
++** allocated for an Ensembl Database Adaptor object.
+ **
+ ** @fdata [EnsPDatabaseadaptor]
+ **
+-** @nam3rule Del Destroy (free) an Ensembl Database Adaptor object
++** @nam3rule Del Destroy (free) an Ensembl Database Adaptor
+ **
+-** @argrule * Pdba [EnsPDatabaseadaptor*] Ensembl Database Adaptor
+-** object address
++** @argrule * Pdba [EnsPDatabaseadaptor*]
++** Ensembl Database Adaptor address
+ **
+ ** @valrule * [void]
+ **
+@@ -586,8 +590,7 @@
+ ** @see ensExit
+ ** @see ensRegistryExit
+ **
+-** @param [d] Pdba [EnsPDatabaseadaptor*] Ensembl Database Adaptor
+-** object address
++** @param [d] Pdba [EnsPDatabaseadaptor*] Ensembl Database Adaptor address
+ **
+ ** @return [void]
+ ** @@
+@@ -652,8 +655,8 @@
+ ** @valrule Databaseconnection [EnsPDatabaseconnection]
+ ** Ensembl Database Connection or NULL
+ ** @valrule Species [AjPStr] Species or NULL
+-** @valrule Group [EnsEDatabaseadaptorGroup] Ensembl Database Adaptor Group
+-** enumeration or ensEDatabaseadaptorGroupNULL
++** @valrule Group [EnsEDatabaseadaptorGroup]
++** Ensembl Database Adaptor Group enumeration or ensEDatabaseadaptorGroupNULL
+ ** @valrule Multispecies [AjBool] Multiple species or ajFalse
+ ** @valrule Identifier [ajuint] Species identifier or 0
+ **
+@@ -693,8 +696,8 @@
+ ** @cc Bio::EnsEMBL::DBSQL::DBAdaptor::group
+ ** @param [r] dba [const EnsPDatabaseadaptor] Ensembl Database Adaptor
+ **
+-** @return [EnsEDatabaseadaptorGroup] Ensembl Database Adaptor Group
+-** enumeration or ensEDatabaseadaptorGroupNULL
++** @return [EnsEDatabaseadaptorGroup]
++** Ensembl Database Adaptor Group enumeration or ensEDatabaseadaptorGroupNULL
+ ** @@
+ ******************************************************************************/
+
+@@ -793,10 +796,10 @@
+ ** @nam4rule Species Set the species
+ **
+ ** @argrule * dba [EnsPDatabaseadaptor] Ensembl Database Adaptor object
+-** @argrule Databaseconnection dbc [EnsPDatabaseconnection] Ensembl Database
+-** Connection
+-** @argrule Group dbag [EnsEDatabaseadaptorGroup] Ensembl Database Adaptor
+-** Group enumeration
++** @argrule Databaseconnection dbc [EnsPDatabaseconnection]
++** Ensembl Database Connection
++** @argrule Group dbag [EnsEDatabaseadaptorGroup]
++** Ensembl Database Adaptor Group enumeration
+ ** @argrule Identifier identifier [ajuint] Species identifier
+ ** @argrule Multispecies multi [AjBool] Multi-species attribute
+ ** @argrule Species species [AjPStr] Species
+--- emboss-6.4.0.orig/ajax/ensembl/ensdatabaseadaptor.h
++++ emboss-6.4.0/ajax/ensembl/ensdatabaseadaptor.h
+@@ -121,7 +121,7 @@
+
+ EnsPDatabaseadaptor ensRegistryGetDatabaseadaptor(
+ EnsEDatabaseadaptorGroup dbag,
+- const AjPStr alias);
++ AjPStr alias);
+
+ EnsPDatabaseadaptor ensRegistryGetReferenceadaptor(EnsPDatabaseadaptor dba);
+
+--- emboss-6.4.0.orig/ajax/ensembl/ensregistry.c
++++ emboss-6.4.0/ajax/ensembl/ensregistry.c
+@@ -569,8 +569,6 @@
+ const RegistryPQualityCheck rqc,
+ ajuint level);
+
+-static AjPStr registryAliasRegister(const AjPStr alias);
+-
+ static AjBool registryAliasLoadDatabaseconnection(
+ EnsPDatabaseconnection dbc,
+ EnsPDatabaseadaptor dba);
+@@ -2029,6 +2027,8 @@
+
+ AjBool ensRegistryLoadServername(AjPStr servername)
+ {
++ ajuint dbid = 0;
++
+ AjBool debug = AJFALSE;
+ AjBool registered = AJFALSE;
+
+@@ -2037,6 +2037,9 @@
+ AjPList svrnames = NULL;
+ AjPList dbnames = NULL;
+
++ AjPRegexp dbidre = NULL;
++
++ AjPStr dbidstr = NULL;
+ AjPStr dbname = NULL;
+ AjPStr source = NULL;
+ AjPStr svrname = NULL;
+@@ -2059,6 +2062,8 @@
+ ** List objects must be re-created and freed for each server.
+ */
+
++ dbidre = ajRegCompC("SpeciesIdentifier=(\\d+)");
++
+ value = ajStrNew();
+
+ svrnames = ajListstrNew();
+@@ -2103,17 +2108,15 @@
+
+ registrySourceRegister(source, ®istered);
+
++ if((debug == ajTrue) && (registered == ajTrue))
++ ajDebug("ensRegistryLoadServername '%S' already "
++ "registered via source '%S'.\n",
++ svrname, source);
++
+ ajStrDel(&source);
+
+ if(registered == ajTrue)
+- {
+- if(debug)
+- ajDebug("ensRegistryLoadServername '%S' already "
+- "registered.\n",
+- svrname);
+-
+ continue;
+- }
+
+ /*
+ ** Create an Ensembl Database Connection to the AJAX Server for
+@@ -2150,40 +2153,64 @@
+
+ dba = ensDatabaseadaptorNewUrl(value);
+
+- if((ensDatabaseadaptorGetMultispecies(dba) == ajTrue) &&
+- (ensDatabaseadaptorGetIdentifier(dba) == 0))
++ if(ensDatabaseadaptorGetMultispecies(dba) == ajTrue)
+ {
+ /*
+- ** Expand an Ensembl Database Adaptor representing a
+- ** collection database into species-specific
+- ** Ensembl Database Adaptor objects before registering.
+- ** Delete the Ensembl Database Adaptor for the collection.
++ ** For Ensembl Database Adaptors representing collection
++ ** databases, the species name needs resetting to the AJAX
++ ** database name and the species identifier needs parsing
++ ** from the comment field of the AJAX database definition.
+ */
+
+- registryEntryLoadCollection(
+- dbc,
+- ensDatabaseconnectionGetDatabasename(
+- ensDatabaseadaptorGetDatabaseconnection(dba)),
+- ensDatabaseadaptorGetGroup(dba));
++ ensDatabaseadaptorSetSpecies(dba, dbname);
+
+- ensDatabaseadaptorDel(&dba);
+- }
+- else
+- {
+- /*
+- ** Register Ensembl Database Adaptor objects for
+- ** multi-species and species-specific databases.
+- ** Add the species as alias if registered or delete the
+- ** Ensembl Database Adaptor if not registered,
+- ** successfully.
+- */
++ ajNamSvrGetdbAttrC(svrname, dbname, "comment", &value);
+
+- if(ensRegistryAddDatabaseadaptor(dba))
+- ensRegistryAliasAdd(ensDatabaseadaptorGetSpecies(dba),
+- ensDatabaseadaptorGetSpecies(dba));
++ if(ajRegExec(dbidre, value))
++ {
++ dbid = 0;
++ dbidstr = ajStrNew();
++
++ ajRegSubI(dbidre, 1, &dbidstr);
++
++ if(ajStrToUint(dbidstr, &dbid))
++ {
++ ensDatabaseadaptorSetIdentifier(dba, dbid);
++
++ ajStrDel(&dbidstr);
++ }
++ else
++ {
++ ajDebug("ensRegistryLoadServer could not parse a "
++ "valid unsigned integer from the "
++ "'SpeciesIdentifer=INTEGER' expression in "
++ "the comment field of AJAX database "
++ "definition for Ensembl collection "
++ "database '%S'.\n", dbname);
++
++ ajStrDel(&dbidstr);
++
++ ensDatabaseadaptorDel(&dba);
++
++ continue;
++ }
++ }
+ else
++ {
++ ajDebug("ensRegistryLoadServer could not find a "
++ "'SpeciesIdentifer=INTEGER' entry in the "
++ "comment field of AJAX database "
++ "definition for Ensembl collection "
++ "database '%S'.\n", dbname);
++
+ ensDatabaseadaptorDel(&dba);
++
++ continue;
++ }
+ }
++
++ if(ensRegistryAddDatabaseadaptor(dba) == ajFalse)
++ ensDatabaseadaptorDel(&dba);
+ }
+
+ ajListIterDel(&dbniter);
+@@ -2196,6 +2223,8 @@
+ ajListIterDel(&svriter);
+ ajListstrFree(&svrnames);
+
++ ajRegFree(&dbidre);
++
+ ajStrDel(&value);
+
+ if(debug)
+@@ -2370,70 +2399,6 @@
+
+
+
+-/* @funcstatic registryAliasRegister ******************************************
+-**
+-** Check, whether an alias name can be resolved directly or after replacing
+-** underscore characters into a species name. If not, register the alias
+-** without underscore characters and set the alias with underscores as alias.
+-**
+-** @param [r] alias [const AjPStr] Alias name
+-**
+-** @return [AjPStr] Species name or NULL
+-** @@
+-******************************************************************************/
+-
+-static AjPStr registryAliasRegister(const AjPStr alias)
+-{
+- AjPStr species = NULL;
+- AjPStr unalias = NULL;
+-
+- if(!(alias && ajStrGetLen(alias)))
+- return NULL;
+-
+- /* Resolve an eventual alias to the species name. */
+-
+- ensRegistryAliasResolve(alias, &species);
+-
+- if(!species)
+- {
+- /*
+- ** If this alias has not been registered before, test if it has been
+- ** registered without underscores.
+- */
+-
+- unalias = ajStrNewS(alias);
+-
+- /*
+- ** FIXME: Since EMBOSS DBNAMES cannot cope with spaces species names
+- ** must include underscores.
+- ajStrExchangeCC(&unalias, "_", " ");
+- */
+-
+- ensRegistryAliasResolve(unalias, &species);
+-
+- if(!species)
+- {
+- /*
+- ** If the alias without underscores has also not been registered
+- ** before, register it as species before registering the one
+- ** with underscores as alias.
+- */
+-
+- ensRegistryAliasAdd(unalias, unalias);
+- ensRegistryAliasAdd(unalias, alias);
+-
+- ensRegistryAliasResolve(alias, &species);
+- }
+-
+- ajStrDel(&unalias);
+- }
+-
+- return species;
+-}
+-
+-
+-
+-
+ /* @func ensRegistryAliasAdd **************************************************
+ **
+ ** Add a Registry Alias entry to the Ensembl Registry.
+@@ -2861,8 +2826,6 @@
+
+ ajStrAssignS(&species, line);
+
+- ensRegistryAliasAdd(species, species);
+-
+ block = ajTrue;
+ }
+ }
+@@ -3387,8 +3350,6 @@
+ ajSqlcolumnToUint(sqlr, &identifier);
+ ajSqlcolumnToStr(sqlr, &species);
+
+- ensRegistryAliasAdd(species, species);
+-
+ dba = ensRegistryNewDatabaseadaptor(dbc,
+ dbname,
+ species,
+@@ -3699,7 +3660,10 @@
+ if(!alias)
+ return NULL;
+
+- species = registryAliasRegister(alias);
++ ensRegistryAliasResolve(alias, &species);
++
++ if(species == NULL)
++ species = alias;
+
+ dba = ensDatabaseadaptorNewIni(dbc,
+ database,
+@@ -3801,7 +3765,10 @@
+ if(!alias)
+ return NULL;
+
+- species = registryAliasRegister(alias);
++ ensRegistryAliasResolve(alias, &species);
++
++ if(species == NULL)
++ species = alias;
+
+ rsa = ensDatabaseadaptorNewIni(dbc,
+ database,
+@@ -4517,13 +4484,13 @@
+ **
+ ** @argrule AllDatabaseadaptors dbag [EnsEDatabaseadaptorGroup]
+ ** Ensembl Database Adaptor Group enumeration
+-** @argrule AllDatabaseadaptors alias [const AjPStr]
++** @argrule AllDatabaseadaptors alias [AjPStr]
+ ** Ensembl Database Adaptor alias name or species name
+ ** @argrule AllDatabaseadaptors dbas [AjPList] AJAX List of
+ ** Ensembl Database Adaptor objects
+ ** @argrule Databaseadaptor dbag [EnsEDatabaseadaptorGroup]
+ ** Ensembl Database Adaptor Group enumeration
+-** @argrule Databaseadaptor alias [const AjPStr]
++** @argrule Databaseadaptor alias [AjPStr]
+ ** Ensembl Database Adaptor alias name or species name
+ ** @argrule Referenceadaptor dba [EnsPDatabaseadaptor] Ensembl Database Adaptor
+ **
+@@ -4549,7 +4516,7 @@
+ **
+ ** @param [uN] dbag [EnsEDatabaseadaptorGroup] Ensembl Database Adaptor Group
+ ** enumeration
+-** @param [rN] alias [const AjPStr] Ensembl Database Adaptor alias name or
++** @param [rN] alias [AjPStr] Ensembl Database Adaptor alias name or
+ ** species name
+ ** @param [u] dbas [AjPList] AJAX List of Ensembl Database Adaptor objects
+ **
+@@ -4558,7 +4525,7 @@
+ ******************************************************************************/
+
+ AjBool ensRegistryGetAllDatabaseadaptors(EnsEDatabaseadaptorGroup dbag,
+- const AjPStr alias,
++ AjPStr alias,
+ AjPList dbas)
+ {
+ void** keyarray = NULL;
+@@ -4593,8 +4560,17 @@
+ if(!dbas)
+ return ajFalse;
+
++ /*
++ ** Resolve an alias name into a valid species name. If the alias did not
++ ** resolve into a species name, use the alias directly. If an alias was
++ ** not passed in, it is still NULL, implying all species.
++ */
++
+ ensRegistryAliasResolve(alias, &species);
+
++ if(species == NULL)
++ species = alias;
++
+ ajTableToarrayKeysValues(registryEntry, &keyarray, &valarray);
+
+ for(i = 0; keyarray[i]; i++)
+@@ -4761,7 +4737,7 @@
+ ** @cc Bio::EnsEMBL::Registry::get_DBAdaptor
+ ** @param [u] dbag [EnsEDatabaseadaptorGroup] Ensembl Database Adaptor Group
+ ** enumeration
+-** @param [r] alias [const AjPStr] Scientific species name or alias name
++** @param [r] alias [AjPStr] Scientific species name or alias name
+ **
+ ** @return [EnsPDatabaseadaptor] Ensembl Database Adaptor or NULL
+ ** @@
+@@ -4769,7 +4745,7 @@
+
+ EnsPDatabaseadaptor ensRegistryGetDatabaseadaptor(
+ EnsEDatabaseadaptorGroup dbag,
+- const AjPStr alias)
++ AjPStr alias)
+ {
+ AjBool debug = AJFALSE;
+
+@@ -4797,8 +4773,16 @@
+ if(!alias)
+ return NULL;
+
++ /*
++ ** Resolve an alias name into a valid species name. If the alias did not
++ ** resolve into a species name, use the alias directly.
++ */
++
+ ensRegistryAliasResolve(alias, &species);
+
++ if(species == NULL)
++ species = alias;
++
+ if(debug)
+ ajDebug("ensRegistryGetDatabaseadaptor alias '%S' -> species '%S'\n",
+ alias, species);
+--- emboss-6.4.0.orig/ajax/ensembl/ensregistry.h
++++ emboss-6.4.0/ajax/ensembl/ensregistry.h
+@@ -116,7 +116,7 @@
+ AjBool ensRegistryRemoveDatabaseadaptor(EnsPDatabaseadaptor* Pdba);
+
+ AjBool ensRegistryGetAllDatabaseadaptors(EnsEDatabaseadaptorGroup dbag,
+- const AjPStr alias,
++ AjPStr alias,
+ AjPList dbas);
+
+ AjPStr ensRegistryGetStableidentifierprefix(EnsPDatabaseadaptor dba);
+--- emboss-6.4.0.orig/emboss/cacheensembl.c
++++ emboss-6.4.0/emboss/cacheensembl.c
+@@ -181,6 +181,11 @@
+ ajFmtPrintF(outf, "%S\n", dbname);
+
+ ajFmtPrintF(cachef, "DBNAME %S [\n", dbname);
++
++ if(ensDatabaseadaptorGetMultispecies(dba) == ajTrue)
++ ajFmtPrintF(cachef, " comment: \"SpeciesIdentifier=%u\"\n",
++ ensDatabaseadaptorGetIdentifier(dba));
++
+ ajFmtPrintF(cachef, " release: \"%s\"\n", ensSoftwareGetVersion());
+ ajFmtPrintF(cachef, " server: \"%S\"\n", svrname);
+ ajFmtPrintF(cachef, " url: \"%S\"\n", dbcurl);
+--- emboss-6.4.0.orig/emboss/cirdna.c
++++ emboss-6.4.0/emboss/cirdna.c
+@@ -970,7 +970,7 @@
+ {
+ token = ajStrParseC(Name2, ";");
+ /*ajStrExchangeCC(&Name2, ";", " ");*/
+- stringLength = ajGraphicsCalcTextlengthS(token);
++ stringLength = mmtolen * ajGraphicsCalcTextlengthS(token);
+ xy1 = ajGraphicsCalcCoord(xDraw, yDraw, r2Ticks+postext, Angle);
+ xy2 = ajGraphicsCalcCoord(xDraw, yDraw, r2Ticks+postext+stringLength,
+ Angle);
+@@ -1029,6 +1029,10 @@
+ float stringHeight;
+ float r1Blocks;
+ float r2Blocks;
++ float mmtolen;
++
++ /* radius is 2pi*radius in mm, RealLength in bases */
++ mmtolen = RealLength/(Radius * (float) 2.0 * (float) 3.1416);
+
+ r1Blocks = Radius+((float)1.0*BlockHeight/(float)2);
+ r2Blocks = r1Blocks-BlockHeight;
+@@ -1053,15 +1057,17 @@
+ ajGraphicsSetFgcolour(Colour);
+ }
+
+- stringLength = cirdna_HorTextPileLengthMax(Name2, NumNames);
++ stringLength = mmtolen * cirdna_HorTextPileLengthMax(Name2, NumNames);
+ stringHeight = ajGraphicsCalcTextheight();
+- StartAngle = cirdna_ComputeAngle(RealLength, (To+From)/2+stringLength/2,
++ StartAngle = cirdna_ComputeAngle(RealLength,
++ (To+From)/2 + stringLength/2,
+ OriginAngle);
+- EndAngle = cirdna_ComputeAngle(RealLength, (To+From)/2-stringLength/2,
++ EndAngle = cirdna_ComputeAngle(RealLength,
++ (To+From)/2 - stringLength/2,
+ OriginAngle);
+
+ if(ajStrMatchCaseC(PosBlocks, "Out") )
+- cirdna_HorTextPile(xDraw, yDraw, r1Blocks+(Adjust*postext), StartAngle,
++ cirdna_HorTextPile(xDraw, yDraw, r1Blocks+Adjust*postext, StartAngle,
+ EndAngle, Name2, postext, 1);
+ else
+ cirdna_HorTextPile(xDraw, yDraw,
+--- emboss-6.4.0.orig/emboss/data/Efeatures.gff3protein
++++ emboss-6.4.0/emboss/data/Efeatures.gff3protein
+@@ -193,7 +193,7 @@
+
+ # METAL - Binding site for a metal ion.
+
+-metal_binding SO:0001092 SO:0001092_metal
++polypeptide_metal_contact SO:0001092 SO:0001092_metal
+ /note
+ /comment
+
+@@ -215,11 +215,7 @@
+ # internal cyclic lactam
+ #SULFATATION Generally of tyrosine
+
+-protein_modification_categorized_by_chemical_process MOD:01156
+- /note
+- /comment
+-
+-post_translational_modification SO:0001089
++post_translationally_modified_region MOD:01156 SO:0001089
+ /note
+ /comment
+
+@@ -351,7 +347,7 @@
+
+ # TURN - DSSP secondary structure
+
+-turn SO:0001128
++polypeptide_turn_motif SO:0001128
+ /note
+ /comment
+
+@@ -371,7 +367,7 @@
+ # /comment
+ /ftid
+
+-natural_variant SO:0001147 SO:0001147_variant
++natural_variant_site SO:0001147 SO:0001147_variant
+ /note
+ /comment
+ /ftid
+--- emboss-6.4.0.orig/emboss/data/Etcode.dat
++++ emboss-6.4.0/emboss/data/Etcode.dat
+@@ -22,6 +22,7 @@
+ 0.25
+ 0.23
+ 0.21
++0.19
+ 0.17
+ 0.00
+ #
+--- emboss-6.4.0.orig/emboss/dbiflat.c
++++ emboss-6.4.0/emboss/dbiflat.c
+@@ -91,6 +91,10 @@
+
+ static AjPList* fdl = NULL;
+
++static AjBool dbiflat_ParseSwiss(AjPFile libr, AjPFile* alistfile,
++ AjBool systemsort, AjPStr* fields,
++ ajint* maxFieldLen, ajuint* countfield,
++ ajint *dpos, AjPStr* myid, AjPList* acl);
+ static AjBool dbiflat_ParseEmbl(AjPFile libr, AjPFile* alistfile,
+ AjBool systemsort, AjPStr* fields,
+ ajint* maxFieldLen, ajuint* countfield,
+@@ -135,7 +139,7 @@
+ static DbiflatOParser parser[] =
+ {
+ {"EMBL", dbiflat_ParseEmbl},
+- {"SWISS", dbiflat_ParseEmbl},
++ {"SWISS", dbiflat_ParseSwiss},
+ {"GB", dbiflat_ParseGenbank},
+ {"REFSEQ", dbiflat_ParseRefseq},
+ {NULL, NULL}
+@@ -594,6 +598,385 @@
+ }
+
+
++
++
++/* @funcstatic dbiflat_ParseSwiss *********************************************
++**
++** Parse the ID, accession from a SwissProt or UniProtKB entry.
++**
++** Reads to the end of the entry and then returns.
++**
++** @param [u] libr [AjPFile] Input database file
++** @param [u] alistfile [AjPFile*] field data files array
++** @param [r] systemsort [AjBool] If ajTrue use system sort, else internal sort
++** @param [w] fields [AjPStr*] Fields required
++** @param [w] maxFieldLen [ajint*] Maximum token length for each field
++** @param [w] countfield [ajuint*] Number of tokens for each field
++** @param [w] dpos [ajint*] Byte offset
++** @param [w] myid [AjPStr*] ID
++** @param [w] myfdl [AjPList*] Lists of field values
++** @return [AjBool] ajTrue on success.
++** @@
++******************************************************************************/
++
++static AjBool dbiflat_ParseSwiss(AjPFile libr, AjPFile* alistfile,
++ AjBool systemsort, AjPStr* fields,
++ ajint* maxFieldLen, ajuint* countfield,
++ ajint* dpos, AjPStr* myid,
++ AjPList* myfdl)
++{
++ AjPStr tmpacnum = NULL;
++ char* fd;
++ ajint lineType;
++ static ajint numFields;
++ static ajint accfield = -1;
++ static ajint desfield = -1;
++ static ajint keyfield = -1;
++ static ajint taxfield = -1;
++ static ajint svnfield = -1;
++ static AjBool reset = AJTRUE;
++ AjBool svndone = ajFalse;
++ AjBool done = ajFalse;
++ ajint i;
++ ajint lo;
++ ajint hi;
++ ajint fieldwidth;
++ AjPStr tmpac = NULL;
++ AjPStr format = NULL;
++ AjPStr prefix = NULL;
++ const char* p;
++ const char* q;
++ const char* swissprefix[] = {
++ "RecName: ", "AltName: ", "SubName: ",
++ "Includes:", "Contains:", "Flags: ",
++ "Full=", "Short=", "EC=",
++ "Allergen=", "Biotech=", "CD_antigen=", "INN=",
++ NULL
++ };
++ ajuint j;
++
++ if(!fields)
++ {
++ reset = ajTrue;
++ accfield = svnfield = desfield = keyfield = taxfield = -1;
++ return ajFalse;
++ }
++
++ if(reset)
++ {
++ numFields = 0;
++ while(fields[numFields])
++ {
++ countfield[numFields]=0;
++ if(ajStrMatchCaseC(fields[numFields], "acc"))
++ accfield=numFields;
++ else if(ajStrMatchCaseC(fields[numFields], "sv"))
++ svnfield=numFields;
++ else if(ajStrMatchCaseC(fields[numFields], "des"))
++ desfield=numFields;
++ else if(ajStrMatchCaseC(fields[numFields], "key"))
++ keyfield=numFields;
++ else if(ajStrMatchCaseC(fields[numFields], "org"))
++ taxfield=numFields;
++ else
++ ajWarn("EMBL parsing unknown field '%S' ignored",
++ fields[numFields]);
++ numFields++;
++ }
++
++ reset = ajFalse;
++ }
++
++ if(!regEmblType)
++ regEmblType = ajRegCompC("^([A-Z][A-Z]) +");
++
++ if(!regEmblAcc)
++ regEmblAcc = ajRegCompC("([A-Za-z0-9-]+)");
++
++ if(!regEmblWrd)
++ regEmblWrd = ajRegCompC("([A-Za-z0-9_]+)");
++
++ if(!regEmblVer)
++ regEmblVer = ajRegCompC("([A-Za-z0-9_.]+)");
++
++ if(!regEmblPhr)
++ regEmblPhr = ajRegCompC(" *([^;.\n\r]+)");
++
++ if(!regEmblTax)
++ regEmblTax = ajRegCompC(" *([^;.\n\r()]+)");
++
++ if(!regEmblId)
++ regEmblId = ajRegCompC("^ID ([^\\s;]+)(;\\s+SV\\s+(\\d+))?");
++
++ if(!regEmblEnd)
++ regEmblEnd = ajRegCompC("^//");
++
++ *dpos = (ajint) ajFileResetPos(libr); /* Lossy cast */
++
++ while(ajReadline(libr, &rline))
++ {
++ if(ajRegExec(regEmblEnd, rline))
++ {
++ done = ajTrue;
++ break;
++ }
++
++ if(ajRegExec(regEmblType, rline))
++ {
++ ajRegSubI(regEmblType, 1, &typStr);
++ if(ajStrMatchC(typStr, "ID"))
++ lineType = FLATTYPE_ID;
++ else if(ajStrMatchC(typStr, "SV") ||
++ ajStrMatchC(typStr, "IV")) /* emblcds database */
++ lineType = FLATTYPE_VER;
++ else if(ajStrMatchC(typStr, "AC") ||
++ ajStrMatchC(typStr, "PA")) /* emblcds database */
++ lineType = FLATTYPE_ACC;
++ else if(ajStrMatchC(typStr, "DE"))
++ lineType = FLATTYPE_DES;
++ else if(ajStrMatchC(typStr, "KW"))
++ lineType = FLATTYPE_KEY;
++ else if(ajStrMatchC(typStr, "OS"))
++ lineType = FLATTYPE_TAX;
++ else if(ajStrMatchC(typStr, "OC"))
++ lineType = FLATTYPE_TAX;
++ else
++ lineType=FLATTYPE_OTHER;
++
++ if(lineType != FLATTYPE_OTHER)
++ ajRegPost(regEmblType, &tmpline);
++ }
++ else
++ lineType = FLATTYPE_OTHER;
++
++ if(lineType == FLATTYPE_ID)
++ {
++ ajRegExec(regEmblId, rline);
++ ajRegSubI(regEmblId, 1, myid);
++ ajStrFmtUpper(myid);
++ ajDebug("++id '%S'\n", *myid);
++ ajRegSubI(regEmblId, 3, &tmpfd);
++ if(svnfield >= 0 && ajStrGetLen(tmpfd))
++ {
++ ajStrFmtUpper(&tmpfd);
++ ajStrInsertK(&tmpfd, 0, '.');
++ ajStrInsertS(&tmpfd, 0, *myid);
++ /*ajDebug("++sv '%S'\n", tmpfd);*/
++ embDbiMaxlen(&tmpfd, &maxFieldLen[svnfield]);
++
++ countfield[svnfield]++;
++ if(systemsort)
++ ajFmtPrintF(alistfile[svnfield], "%S %S\n", *myid, tmpfd);
++ else
++ {
++ fd = ajCharNewS(tmpfd);
++ ajListPushAppend(myfdl[svnfield], fd);
++ }
++ svndone = ajTrue;
++ }
++ continue;
++ }
++
++ if(lineType == FLATTYPE_ACC && accfield >= 0)
++ {
++ while(ajRegExec(regEmblAcc, tmpline))
++ {
++ ajRegSubI(regEmblAcc, 1, &tmpfd);
++ ajStrFmtUpper(&tmpfd);
++ /*ajDebug("++acc '%S'\n", tmpfd);*/
++
++ if(!tmpacnum)
++ ajStrAssignS(&tmpacnum, tmpfd);
++
++ if((p=strchr(MAJSTRGETPTR(tmpfd),(int)'-')))
++ {
++ q = p;
++ while(isdigit((int)*(--q)));
++ ++q;
++ ajStrAssignSubC(&tmpstr,q,0,(ajint)(p-q-1));
++ ajStrToInt(tmpstr,&lo);
++ fieldwidth = (ajint) (p-q);
++ ajFmtPrintS(&format,"%%S%%0%dd",fieldwidth);
++
++ ++p;
++ q = p;
++ while(!isdigit((int)*q))
++ ++q;
++ sscanf(q,"%d",&hi);
++ ajStrAssignSubC(&prefix,p,0,(ajint)(q-p-1));
++
++ if(systemsort)
++ {
++ for(i=lo;i<=hi;++i)
++ {
++ ajFmtPrintS(&tmpac,MAJSTRGETPTR(format),prefix,i);
++ embDbiMaxlen(&tmpac, &maxFieldLen[accfield]);
++ countfield[accfield]++;
++ ajFmtPrintF(alistfile[accfield],
++ "%S %S\n", *myid, tmpac);
++ }
++ ajStrDel(&tmpac);
++ }
++ else
++ {
++ for(i=lo;i<=hi;++i)
++ {
++ ajFmtPrintS(&tmpac,MAJSTRGETPTR(format),prefix,i);
++ embDbiMaxlen(&tmpac, &maxFieldLen[accfield]);
++ countfield[accfield]++;
++ fd = ajCharNewS(tmpac);
++ ajListPushAppend(myfdl[accfield], fd);
++ }
++ ajStrDel(&tmpac);
++ }
++ ajStrDel(&format);
++ ajStrDel(&prefix);
++ }
++ else {
++ embDbiMaxlen(&tmpfd, &maxFieldLen[accfield]);
++
++ countfield[accfield]++;
++ if(systemsort)
++ ajFmtPrintF(alistfile[accfield],
++ "%S %S\n", *myid, tmpfd);
++ else
++ {
++ fd = ajCharNewS(tmpfd);
++ ajListPushAppend(myfdl[accfield], fd);
++ }
++ }
++ ajRegPost(regEmblAcc, &tmpstr);
++ ajStrAssignS(&tmpline, tmpstr);
++ }
++ continue;
++ }
++ else if(lineType == FLATTYPE_DES && desfield >= 0)
++ {
++ ajStrTrimWhiteStart(&tmpline);
++ for(j=0; swissprefix[j]; j++)
++ {
++ if(ajStrPrefixC(tmpline, swissprefix[j]))
++ ajStrCutStart(&tmpline, strlen(swissprefix[j]));
++ }
++ while(ajRegExec(regEmblWrd, tmpline))
++ {
++ ajRegSubI(regEmblWrd, 1, &tmpfd);
++ ajStrFmtUpper(&tmpfd);
++ /*ajDebug("++des '%S'\n", tmpfd);*/
++ embDbiMaxlen(&tmpfd, &maxFieldLen[desfield]);
++
++ countfield[desfield]++;
++ if(systemsort)
++ ajFmtPrintF(alistfile[desfield], "%S %S\n", *myid, tmpfd);
++ else
++ {
++ fd = ajCharNewS(tmpfd);
++ ajListPushAppend(myfdl[desfield], fd);
++ }
++ ajRegPost(regEmblWrd, &tmpstr);
++ ajStrAssignS(&tmpline, tmpstr);
++ }
++ continue;
++ }
++ else if(lineType == FLATTYPE_VER && svnfield >= 0)
++ {
++ while(ajRegExec(regEmblVer, tmpline))
++ {
++ ajRegSubI(regEmblVer, 1, &tmpfd);
++ ajStrFmtUpper(&tmpfd);
++ /*ajDebug("++sv '%S'\n", tmpfd);*/
++ embDbiMaxlen(&tmpfd, &maxFieldLen[svnfield]);
++
++ countfield[svnfield]++;
++ if(systemsort)
++ ajFmtPrintF(alistfile[svnfield], "%S %S\n", *myid, tmpfd);
++ else
++ {
++ fd = ajCharNewS(tmpfd);
++ ajListPushAppend(myfdl[svnfield], fd);
++ }
++ ajRegPost(regEmblVer, &tmpstr);
++ ajStrAssignS(&tmpline, tmpstr);
++ }
++ svndone = ajTrue;
++ continue;
++ }
++ else if(lineType == FLATTYPE_KEY && keyfield >= 0)
++ {
++ while(ajRegExec(regEmblPhr, tmpline))
++ {
++ ajRegSubI(regEmblPhr, 1, &tmpfd);
++ ajRegPost(regEmblPhr, &tmpstr);
++ ajStrAssignS(&tmpline, tmpstr);
++ ajStrTrimWhiteEnd(&tmpfd);
++ if(!ajStrGetLen(tmpfd))
++ continue;
++ ajStrFmtUpper(&tmpfd);
++ /*ajDebug("++key '%S'\n", tmpfd);*/
++ embDbiMaxlen(&tmpfd, &maxFieldLen[keyfield]);
++
++ countfield[keyfield]++;
++ if(systemsort)
++ ajFmtPrintF(alistfile[keyfield], "%S %S\n", *myid, tmpfd);
++ else
++ {
++ fd = ajCharNewS(tmpfd);
++ ajListPushAppend(myfdl[keyfield], fd);
++ }
++ }
++ continue;
++ }
++ else if(lineType == FLATTYPE_TAX && taxfield >= 0)
++ {
++ while(ajRegExec(regEmblTax, tmpline))
++ {
++ ajRegSubI(regEmblTax, 1, &tmpfd);
++ ajRegPost(regEmblTax, &tmpstr);
++ ajStrAssignS(&tmpline, tmpstr);
++ ajStrFmtUpper(&tmpfd);
++ ajStrTrimWhiteEnd(&tmpfd);
++ if(!ajStrGetLen(tmpfd))
++ continue;
++ /*ajDebug("++tax '%S'\n", tmpfd);*/
++ embDbiMaxlen(&tmpfd, &maxFieldLen[taxfield]);
++
++ countfield[taxfield]++;
++ if(systemsort)
++ ajFmtPrintF(alistfile[taxfield], "%S %S\n", *myid, tmpfd);
++ else
++ {
++ fd = ajCharNewS(tmpfd);
++ ajListPushAppend(myfdl[taxfield], fd);
++ }
++ }
++ continue;
++ }
++ }
++
++ if(!done)
++ return ajFalse;
++
++ if(svnfield >= 0 && !svndone && tmpacnum)
++ {
++ ajFmtPrintS(&tmpfd, "%S.0", tmpacnum);
++ embDbiMaxlen(&tmpfd, &maxFieldLen[svnfield]);
++
++ countfield[svnfield]++;
++ if(systemsort)
++ ajFmtPrintF(alistfile[svnfield], "%S %S\n", *myid, tmpfd);
++ else
++ {
++ fd = ajCharNewS(tmpfd);
++ ajListPushAppend(myfdl[svnfield], fd);
++ }
++ }
++
++ ajStrDel(&tmpacnum);
++
++ return ajTrue;
++}
++
++
+
+
+ /* @funcstatic dbiflat_ParseEmbl **********************************************
+--- emboss-6.4.0.orig/emboss/dbxflat.c
++++ emboss-6.4.0/emboss/dbxflat.c
+@@ -32,6 +32,7 @@
+ static AjBool dbxflat_ParseFastq(EmbPBtreeEntry entry, AjPFile inf);
+ static AjBool dbxflat_ParseEmbl(EmbPBtreeEntry entry, AjPFile inf);
+ static AjBool dbxflat_ParseGenbank(EmbPBtreeEntry entry, AjPFile inf);
++static AjBool dbxflat_ParseSwiss(EmbPBtreeEntry entry, AjPFile inf);
+
+ static AjBool dbxflat_NextEntry(EmbPBtreeEntry entry, AjPFile inf);
+
+@@ -76,7 +77,7 @@
+ static DbxflatOParser parser[] =
+ {
+ {"EMBL", dbxflat_ParseEmbl},
+- {"SWISS", dbxflat_ParseEmbl},
++ {"SWISS", dbxflat_ParseSwiss},
+ {"GB", dbxflat_ParseGenbank},
+ {"REFSEQ", dbxflat_ParseGenbank},
+ {"FASTQ", dbxflat_ParseFastq},
+@@ -715,6 +716,101 @@
+
+
+
++
++/* @funcstatic dbxflat_ParseSwiss *********************************************
++**
++** Parse the ID, accession from a SwissProt or UniProtKB entry.
++**
++** Reads to the end of the entry and then returns.
++**
++** @param [w] entry [EmbPBtreeEntry] entry
++** @param [u] inf [AjPFile] Input file
++**
++** @return [AjBool] ajTrue on success.
++** @@
++******************************************************************************/
++
++static AjBool dbxflat_ParseSwiss(EmbPBtreeEntry entry, AjPFile inf)
++{
++ AjPStr line = NULL;
++ ajlong pos = 0L;
++ const char* swissprefix[] = {
++ "RecName: ", "AltName: ", "SubName: ",
++ "Includes:", "Contains:", "Flags: ",
++ "Full=", "Short=", "EC=",
++ "Allergen=", "Biotech=", "CD_antigen=", "INN=",
++ NULL
++ };
++ ajuint i;
++
++ if(!dbxflat_wrdexp)
++ dbxflat_wrdexp = ajRegCompC("([A-Za-z0-9_-]+)");
++
++ line = ajStrNewC("");
++
++ while(!ajStrPrefixC(line,"//"))
++ {
++ pos = ajFileResetPos(inf);
++
++ if(!ajReadlineTrim(inf,&line))
++ {
++ ajStrDel(&line);
++ return ajFalse;
++ }
++ if(ajStrPrefixC(line,"ID"))
++ {
++ entry->fpos = pos;
++ ajFmtScanS(line,"%*S%S",&entry->id);
++ ajStrTrimEndC(&entry->id, ";");
++/*
++ ++global;
++ printf("%d. %s\n",global,ajStrGetPtr(entry->id));
++*/
++ if(svfield)
++ embBtreeEmblSV(line,svfield->data);
++ }
++
++
++ if(svfield)
++ if(ajStrPrefixC(line,"SV") ||
++ ajStrPrefixC(line,"IV")) /* emblcds database format */
++ embBtreeEmblAC(line,svfield->data);
++
++ if(accfield)
++ if(ajStrPrefixC(line,"AC") ||
++ ajStrPrefixC(line,"PA")) /* emblcds database format */
++ embBtreeEmblAC(line,accfield->data);
++
++ if(keyfield)
++ if(ajStrPrefixC(line,"KW"))
++ embBtreeEmblKW(line,keyfield->data,keyfield->len);
++
++ if(desfield)
++ if(ajStrPrefixC(line,"DE"))
++ {
++ ajStrCutStart(&line, 5);
++ ajStrTrimWhiteStart(&line);
++ for(i=0; swissprefix[i]; i++)
++ {
++ if(ajStrPrefixC(line, swissprefix[i]))
++ ajStrCutStart(&line, strlen(swissprefix[i]));
++ }
++ embBtreeParseField(line,dbxflat_wrdexp, desfield);
++ }
++
++ if(orgfield)
++ if(ajStrPrefixC(line,"OC") || ajStrPrefixC(line,"OS"))
++ embBtreeEmblTX(line,orgfield->data,orgfield->len);
++ }
++
++
++ ajStrDel(&line);
++
++ return ajTrue;
++}
++
++
++
+
+ /* @funcstatic dbxflat_NextEntry ********************************************
+ **
+--- emboss-6.4.0.orig/emboss/dbxresource.c
++++ emboss-6.4.0/emboss/dbxresource.c
+@@ -535,6 +535,19 @@
+ if(urlfield && !ajStrMatchC(rest, "None"))
+ embBtreeParseField(rest, dbxresource_wrdexp, urlfield);
+ }
++ else if(ajStrMatchC(name, "NARCat"))
++ {
++ if(catfield && !ajStrMatchC(rest, "None"))
++ {
++ handle = ajStrTokenNewC(rest, "|");
++ while(ajStrTokenNextParse(&handle, &token))
++ {
++ ajStrRemoveWhiteExcess(&token);
++ ajListstrPush(catfield->data,ajStrNewS(token));
++ }
++ ajStrTokenDel(&handle);
++ }
++ }
+ else if(ajStrSuffixC(name, "Cat"))
+ {
+ if(catfield && !ajStrMatchC(rest, "None"))
+--- emboss-6.4.0.orig/emboss/drfinddata.c
++++ emboss-6.4.0/emboss/drfinddata.c
+@@ -155,8 +155,9 @@
+ {
+ if(!ajTableMatchS(foundtable, resource->Id))
+ {
+- ajDebug("drcat id '%S' category '%S'\n",
+- resource->Id, resource->Cat);
++ ajDebug("drcat id '%S' categories %u\n",
++ resource->Id,
++ ajListGetLength(resource->Cat));
+ ajResourceoutWrite(outfile, resource);
+ ajTablePut(foundtable, ajStrNewS(resource->Id),
+ (void *) 1);
+--- emboss-6.4.0.orig/emboss/drfindformat.c
++++ emboss-6.4.0/emboss/drfindformat.c
+@@ -152,8 +152,9 @@
+ {
+ if(!ajTableMatchS(foundtable, resource->Id))
+ {
+- ajDebug("drcat id '%S' category '%S'\n",
+- resource->Id, resource->Cat);
++ ajDebug("drcat id '%S' categories %u\n",
++ resource->Id,
++ ajListGetLength(resource->Cat));
+ ajResourceoutWrite(outfile, resource);
+ ajTablePut(foundtable, ajStrNewS(resource->Id),
+ (void *) 1);
+--- emboss-6.4.0.orig/emboss/drfindid.c
++++ emboss-6.4.0/emboss/drfindid.c
+@@ -152,8 +152,9 @@
+ {
+ if(!ajTableMatchS(foundtable, resource->Id))
+ {
+- ajDebug("drcat id '%S' category '%S'\n",
+- resource->Id, resource->Cat);
++ ajDebug("drcat id '%S' categories %u\n",
++ resource->Id,
++ ajListGetLength(resource->Cat));
+ ajResourceoutWrite(outfile, resource);
+ ajTablePut(foundtable, ajStrNewS(resource->Id),
+ (void *) 1);
+--- emboss-6.4.0.orig/emboss/drfindresource.c
++++ emboss-6.4.0/emboss/drfindresource.c
+@@ -162,9 +162,10 @@
+ {
+ if(!ajTableMatchS(foundtable, resource->Id))
+ {
+- ajDebug("drcat id '%S' category '%S'\n",
+- resource->Id, resource->Cat);
+- ajResourceoutWrite(outfile, resource);
++ ajDebug("drcat id '%S' categories %u\n",
++ resource->Id,
++ ajListGetLength(resource->Cat));
++ ajResourceoutWrite(outfile, resource);
+ ajTablePut(foundtable, ajStrNewS(resource->Id),
+ (void *) 1);
+ }
+--- emboss-6.4.0.orig/emboss/server.ensemblgenomes
++++ emboss-6.4.0/emboss/server.ensemblgenomes
+@@ -1,4 +1,4 @@
+-# server.ensemblgenomes 2011-07-05 00:00:00
++# server.ensemblgenomes 2011-07-27 00:00:00
+ # Automatically generated by cacheensembl for server 'ensemblgenomes'.
+
+ DBNAME acyrthosiphon_pisum [
+@@ -194,6 +194,7 @@
+ ALIAS 15368 brachypodium_distachyon
+
+ DBNAME b_afzelii [
++ comment: "SpeciesIdentifier=4"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/borrelia_collection_core_9_62_1a"
+@@ -202,6 +203,7 @@
+ ALIAS 390236 b_afzelii
+
+ DBNAME b_amyloliquefaciens [
++ comment: "SpeciesIdentifier=2"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -210,6 +212,7 @@
+ ALIAS 326423 b_amyloliquefaciens
+
+ DBNAME b_anthracis_a0248 [
++ comment: "SpeciesIdentifier=25"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -218,6 +221,7 @@
+ ALIAS 592021 b_anthracis_a0248
+
+ DBNAME b_anthracis_ames [
++ comment: "SpeciesIdentifier=3"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -226,6 +230,7 @@
+ ALIAS 198094 b_anthracis_ames
+
+ DBNAME b_anthracis_ames_ancestor [
++ comment: "SpeciesIdentifier=4"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -234,6 +239,7 @@
+ ALIAS 261594 b_anthracis_ames_ancestor
+
+ DBNAME b_anthracis_cdc_684 [
++ comment: "SpeciesIdentifier=24"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -242,6 +248,7 @@
+ ALIAS 568206 b_anthracis_cdc_684
+
+ DBNAME b_anthracis_sterne [
++ comment: "SpeciesIdentifier=5"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -250,6 +257,7 @@
+ ALIAS 260799 b_anthracis_sterne
+
+ DBNAME b_aphidicola_5a [
++ comment: "SpeciesIdentifier=2"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/buchnera_collection_core_9_62_1a"
+@@ -258,6 +266,7 @@
+ ALIAS 563178 b_aphidicola_5a
+
+ DBNAME b_aphidicola_baizongia [
++ comment: "SpeciesIdentifier=5"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/buchnera_collection_core_9_62_1a"
+@@ -266,6 +275,7 @@
+ ALIAS 224915 b_aphidicola_baizongia
+
+ DBNAME b_aphidicola_cinara [
++ comment: "SpeciesIdentifier=3"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/buchnera_collection_core_9_62_1a"
+@@ -274,6 +284,7 @@
+ ALIAS 372461 b_aphidicola_cinara
+
+ DBNAME b_aphidicola_schizaphis [
++ comment: "SpeciesIdentifier=1"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/buchnera_collection_core_9_62_1a"
+@@ -282,6 +293,7 @@
+ ALIAS 198804 b_aphidicola_schizaphis
+
+ DBNAME b_aphidicola_tokyo_1998 [
++ comment: "SpeciesIdentifier=6"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/buchnera_collection_core_9_62_1a"
+@@ -290,6 +302,7 @@
+ ALIAS 107806 b_aphidicola_tokyo_1998
+
+ DBNAME b_aphidicola_tuc7 [
++ comment: "SpeciesIdentifier=4"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/buchnera_collection_core_9_62_1a"
+@@ -298,6 +311,7 @@
+ ALIAS 561501 b_aphidicola_tuc7
+
+ DBNAME b_burgdorferi_dsm_4680 [
++ comment: "SpeciesIdentifier=8"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/borrelia_collection_core_9_62_1a"
+@@ -306,6 +320,7 @@
+ ALIAS 224326 b_burgdorferi_dsm_4680
+
+ DBNAME b_burgdorferi_zs7 [
++ comment: "SpeciesIdentifier=3"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/borrelia_collection_core_9_62_1a"
+@@ -314,6 +329,7 @@
+ ALIAS 445985 b_burgdorferi_zs7
+
+ DBNAME b_cereus_03bb102 [
++ comment: "SpeciesIdentifier=20"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -322,6 +338,7 @@
+ ALIAS 572264 b_cereus_03bb102
+
+ DBNAME b_cereus_172560w [
++ comment: "SpeciesIdentifier=50"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -330,6 +347,7 @@
+ ALIAS 526967 b_cereus_172560w
+
+ DBNAME b_cereus_95_8201 [
++ comment: "SpeciesIdentifier=36"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -338,6 +356,7 @@
+ ALIAS 526979 b_cereus_95_8201
+
+ DBNAME b_cereus_ah1271 [
++ comment: "SpeciesIdentifier=71"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -346,6 +365,7 @@
+ ALIAS 526992 b_cereus_ah1271
+
+ DBNAME b_cereus_ah1272 [
++ comment: "SpeciesIdentifier=53"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -354,6 +374,7 @@
+ ALIAS 526993 b_cereus_ah1272
+
+ DBNAME b_cereus_ah1273 [
++ comment: "SpeciesIdentifier=43"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -362,6 +383,7 @@
+ ALIAS 526994 b_cereus_ah1273
+
+ DBNAME b_cereus_ah187 [
++ comment: "SpeciesIdentifier=19"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -370,6 +392,7 @@
+ ALIAS 405534 b_cereus_ah187
+
+ DBNAME b_cereus_ah603 [
++ comment: "SpeciesIdentifier=49"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -378,6 +401,7 @@
+ ALIAS 526990 b_cereus_ah603
+
+ DBNAME b_cereus_ah621 [
++ comment: "SpeciesIdentifier=46"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -386,6 +410,7 @@
+ ALIAS 526972 b_cereus_ah621
+
+ DBNAME b_cereus_ah676 [
++ comment: "SpeciesIdentifier=38"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -394,6 +419,7 @@
+ ALIAS 526991 b_cereus_ah676
+
+ DBNAME b_cereus_ah820 [
++ comment: "SpeciesIdentifier=18"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -402,6 +428,7 @@
+ ALIAS 405535 b_cereus_ah820
+
+ DBNAME b_cereus_atcc_10876 [
++ comment: "SpeciesIdentifier=70"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -410,6 +437,7 @@
+ ALIAS 526980 b_cereus_atcc_10876
+
+ DBNAME b_cereus_atcc_10987 [
++ comment: "SpeciesIdentifier=6"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -418,6 +446,7 @@
+ ALIAS 222523 b_cereus_atcc_10987
+
+ DBNAME b_cereus_atcc_14579 [
++ comment: "SpeciesIdentifier=7"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -426,6 +455,7 @@
+ ALIAS 226900 b_cereus_atcc_14579
+
+ DBNAME b_cereus_atcc_4342 [
++ comment: "SpeciesIdentifier=72"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -434,6 +464,7 @@
+ ALIAS 526977 b_cereus_atcc_4342
+
+ DBNAME b_cereus_b4264 [
++ comment: "SpeciesIdentifier=23"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -442,6 +473,7 @@
+ ALIAS 405532 b_cereus_b4264
+
+ DBNAME b_cereus_bdrd_bcer4 [
++ comment: "SpeciesIdentifier=62"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -450,6 +482,7 @@
+ ALIAS 526978 b_cereus_bdrd_bcer4
+
+ DBNAME b_cereus_bdrd_st196 [
++ comment: "SpeciesIdentifier=34"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -458,6 +491,7 @@
+ ALIAS 526976 b_cereus_bdrd_st196
+
+ DBNAME b_cereus_bdrd_st24 [
++ comment: "SpeciesIdentifier=37"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -466,6 +500,7 @@
+ ALIAS 526974 b_cereus_bdrd_st24
+
+ DBNAME b_cereus_bdrd_st26 [
++ comment: "SpeciesIdentifier=39"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -474,6 +509,7 @@
+ ALIAS 526975 b_cereus_bdrd_st26
+
+ DBNAME b_cereus_bgsc_6e1 [
++ comment: "SpeciesIdentifier=67"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -482,6 +518,7 @@
+ ALIAS 526970 b_cereus_bgsc_6e1
+
+ DBNAME b_cereus_cytotoxis [
++ comment: "SpeciesIdentifier=8"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -490,6 +527,7 @@
+ ALIAS 315749 b_cereus_cytotoxis
+
+ DBNAME b_cereus_f65185 [
++ comment: "SpeciesIdentifier=30"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -498,6 +536,7 @@
+ ALIAS 526989 b_cereus_f65185
+
+ DBNAME b_cereus_g9842 [
++ comment: "SpeciesIdentifier=22"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -506,6 +545,7 @@
+ ALIAS 405531 b_cereus_g9842
+
+ DBNAME b_cereus_m1293 [
++ comment: "SpeciesIdentifier=40"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -514,6 +554,7 @@
+ ALIAS 526973 b_cereus_m1293
+
+ DBNAME b_cereus_mm1550 [
++ comment: "SpeciesIdentifier=65"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -522,6 +563,7 @@
+ ALIAS 526969 b_cereus_mm1550
+
+ DBNAME b_cereus_mm3 [
++ comment: "SpeciesIdentifier=52"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -530,6 +572,7 @@
+ ALIAS 526971 b_cereus_mm3
+
+ DBNAME b_cereus_q1 [
++ comment: "SpeciesIdentifier=21"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -538,6 +581,7 @@
+ ALIAS 361100 b_cereus_q1
+
+ DBNAME b_cereus_r309803 [
++ comment: "SpeciesIdentifier=33"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -546,6 +590,7 @@
+ ALIAS 526968 b_cereus_r309803
+
+ DBNAME b_cereus_rock1_15 [
++ comment: "SpeciesIdentifier=42"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -554,6 +599,7 @@
+ ALIAS 526982 b_cereus_rock1_15
+
+ DBNAME b_cereus_rock1_3 [
++ comment: "SpeciesIdentifier=78"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -562,6 +608,7 @@
+ ALIAS 526981 b_cereus_rock1_3
+
+ DBNAME b_cereus_rock3_28 [
++ comment: "SpeciesIdentifier=57"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -570,6 +617,7 @@
+ ALIAS 526983 b_cereus_rock3_28
+
+ DBNAME b_cereus_rock3_29 [
++ comment: "SpeciesIdentifier=51"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -578,6 +626,7 @@
+ ALIAS 526984 b_cereus_rock3_29
+
+ DBNAME b_cereus_rock3_42 [
++ comment: "SpeciesIdentifier=77"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -586,6 +635,7 @@
+ ALIAS 526985 b_cereus_rock3_42
+
+ DBNAME b_cereus_rock3_44 [
++ comment: "SpeciesIdentifier=48"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -594,6 +644,7 @@
+ ALIAS 526986 b_cereus_rock3_44
+
+ DBNAME b_cereus_rock4_18 [
++ comment: "SpeciesIdentifier=55"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -602,6 +653,7 @@
+ ALIAS 526988 b_cereus_rock4_18
+
+ DBNAME b_cereus_rock4_2 [
++ comment: "SpeciesIdentifier=76"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -610,6 +662,7 @@
+ ALIAS 526987 b_cereus_rock4_2
+
+ DBNAME b_cereus_var_anthracis [
++ comment: "SpeciesIdentifier=69"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -618,6 +671,7 @@
+ ALIAS 637380 b_cereus_var_anthracis
+
+ DBNAME b_cereus_zk [
++ comment: "SpeciesIdentifier=9"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -626,6 +680,7 @@
+ ALIAS 288681 b_cereus_zk
+
+ DBNAME b_clausii [
++ comment: "SpeciesIdentifier=10"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -634,6 +689,7 @@
+ ALIAS 66692 b_clausii
+
+ DBNAME b_duttonii [
++ comment: "SpeciesIdentifier=2"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/borrelia_collection_core_9_62_1a"
+@@ -642,6 +698,7 @@
+ ALIAS 412419 b_duttonii
+
+ DBNAME b_garinii [
++ comment: "SpeciesIdentifier=7"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/borrelia_collection_core_9_62_1a"
+@@ -650,6 +707,7 @@
+ ALIAS 290434 b_garinii
+
+ DBNAME b_halodurans [
++ comment: "SpeciesIdentifier=11"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -658,6 +716,7 @@
+ ALIAS 272558 b_halodurans
+
+ DBNAME b_hermsii [
++ comment: "SpeciesIdentifier=6"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/borrelia_collection_core_9_62_1a"
+@@ -666,6 +725,7 @@
+ ALIAS 314723 b_hermsii
+
+ DBNAME b_licheniformis_goettingen [
++ comment: "SpeciesIdentifier=12"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -674,6 +734,7 @@
+ ALIAS 279010 b_licheniformis_goettingen
+
+ DBNAME b_licheniformis_novozymes [
++ comment: "SpeciesIdentifier=13"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -681,6 +742,7 @@
+
+
+ DBNAME b_megaterium_atcc_12872 [
++ comment: "SpeciesIdentifier=73"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -689,6 +751,7 @@
+ ALIAS 545693 b_megaterium_atcc_12872
+
+ DBNAME b_megaterium_dsm_319 [
++ comment: "SpeciesIdentifier=80"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -697,6 +760,7 @@
+ ALIAS 592022 b_megaterium_dsm_319
+
+ DBNAME b_mycoides_dsm_2048 [
++ comment: "SpeciesIdentifier=47"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -705,6 +769,7 @@
+ ALIAS 526997 b_mycoides_dsm_2048
+
+ DBNAME b_mycoides_rock1_4 [
++ comment: "SpeciesIdentifier=28"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -713,6 +778,7 @@
+ ALIAS 526998 b_mycoides_rock1_4
+
+ DBNAME b_mycoides_rock3_17 [
++ comment: "SpeciesIdentifier=59"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -721,6 +787,7 @@
+ ALIAS 526999 b_mycoides_rock3_17
+
+ DBNAME b_pseudofirmus [
++ comment: "SpeciesIdentifier=54"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -729,6 +796,7 @@
+ ALIAS 398511 b_pseudofirmus
+
+ DBNAME b_pseudomycoides [
++ comment: "SpeciesIdentifier=58"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -737,6 +805,7 @@
+ ALIAS 527000 b_pseudomycoides
+
+ DBNAME b_pumilus [
++ comment: "SpeciesIdentifier=14"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -745,6 +814,7 @@
+ ALIAS 315750 b_pumilus
+
+ DBNAME b_recurrentis [
++ comment: "SpeciesIdentifier=5"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/borrelia_collection_core_9_62_1a"
+@@ -753,6 +823,7 @@
+ ALIAS 412418 b_recurrentis
+
+ DBNAME b_selenitireducens [
++ comment: "SpeciesIdentifier=32"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -761,6 +832,7 @@
+ ALIAS 439292 b_selenitireducens
+
+ DBNAME b_subtilis [
++ comment: "SpeciesIdentifier=1"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -769,6 +841,7 @@
+ ALIAS 224308 b_subtilis
+
+ DBNAME b_thuringiensis [
++ comment: "SpeciesIdentifier=15"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -777,6 +850,7 @@
+ ALIAS 412694 b_thuringiensis
+
+ DBNAME b_thuringiensis_atcc_10792 [
++ comment: "SpeciesIdentifier=41"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -785,6 +859,7 @@
+ ALIAS 527031 b_thuringiensis_atcc_10792
+
+ DBNAME b_thuringiensis_bgsc_4aj1 [
++ comment: "SpeciesIdentifier=75"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -793,6 +868,7 @@
+ ALIAS 527022 b_thuringiensis_bgsc_4aj1
+
+ DBNAME b_thuringiensis_bgsc_4aw1_andalous [
++ comment: "SpeciesIdentifier=56"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -801,6 +877,7 @@
+ ALIAS 527032 b_thuringiensis_bgsc_4aw1_andalous
+
+ DBNAME b_thuringiensis_bgsc_4ba1_pondicheri [
++ comment: "SpeciesIdentifier=29"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -809,6 +886,7 @@
+ ALIAS 527029 b_thuringiensis_bgsc_4ba1_pondicheri
+
+ DBNAME b_thuringiensis_bgsc_4bd1_huazhong [
++ comment: "SpeciesIdentifier=31"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -817,6 +895,7 @@
+ ALIAS 527030 b_thuringiensis_bgsc_4bd1_huazhong
+
+ DBNAME b_thuringiensis_bgsc_4cc1_pulsiensis [
++ comment: "SpeciesIdentifier=35"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -825,6 +904,7 @@
+ ALIAS 527028 b_thuringiensis_bgsc_4cc1_pulsiensis
+
+ DBNAME b_thuringiensis_bgsc_4y1_tochigiensis [
++ comment: "SpeciesIdentifier=44"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -833,6 +913,7 @@
+ ALIAS 527024 b_thuringiensis_bgsc_4y1_tochigiensis
+
+ DBNAME b_thuringiensis_bmb171 [
++ comment: "SpeciesIdentifier=68"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -841,6 +922,7 @@
+ ALIAS 714359 b_thuringiensis_bmb171
+
+ DBNAME b_thuringiensis_bt407 [
++ comment: "SpeciesIdentifier=26"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -849,6 +931,7 @@
+ ALIAS 527021 b_thuringiensis_bt407
+
+ DBNAME b_thuringiensis_ibl200 [
++ comment: "SpeciesIdentifier=27"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -857,6 +940,7 @@
+ ALIAS 527019 b_thuringiensis_ibl200
+
+ DBNAME b_thuringiensis_ibl4222 [
++ comment: "SpeciesIdentifier=64"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -865,6 +949,7 @@
+ ALIAS 527020 b_thuringiensis_ibl4222
+
+ DBNAME b_thuringiensis_konkukian [
++ comment: "SpeciesIdentifier=16"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -873,6 +958,7 @@
+ ALIAS 281309 b_thuringiensis_konkukian
+
+ DBNAME b_thuringiensis_t01001 [
++ comment: "SpeciesIdentifier=60"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -881,6 +967,7 @@
+ ALIAS 527025 b_thuringiensis_t01001
+
+ DBNAME b_thuringiensis_t03a001_kurstaki [
++ comment: "SpeciesIdentifier=63"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -889,6 +976,7 @@
+ ALIAS 527023 b_thuringiensis_t03a001_kurstaki
+
+ DBNAME b_thuringiensis_t04001_sotto [
++ comment: "SpeciesIdentifier=61"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -897,6 +985,7 @@
+ ALIAS 527026 b_thuringiensis_t04001_sotto
+
+ DBNAME b_thuringiensis_t13001_pakistani [
++ comment: "SpeciesIdentifier=45"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -905,6 +994,7 @@
+ ALIAS 527027 b_thuringiensis_t13001_pakistani
+
+ DBNAME b_turicatae [
++ comment: "SpeciesIdentifier=1"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/borrelia_collection_core_9_62_1a"
+@@ -913,6 +1003,7 @@
+ ALIAS 314724 b_turicatae
+
+ DBNAME b_tusciae [
++ comment: "SpeciesIdentifier=79"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -921,6 +1012,7 @@
+ ALIAS 562970 b_tusciae
+
+ DBNAME b_weihenstephanensis [
++ comment: "SpeciesIdentifier=17"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/bacillus_collection_core_9_62_4a"
+@@ -1221,6 +1313,7 @@
+ ]
+
+ DBNAME e_coli_042 [
++ comment: "SpeciesIdentifier=43"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1229,12 +1322,14 @@
+ ALIAS 216592 e_coli_042
+
+ DBNAME e_coli_042_funcgen [
++ comment: "SpeciesIdentifier=43"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_55989 [
++ comment: "SpeciesIdentifier=26"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1243,12 +1338,14 @@
+ ALIAS 585055 e_coli_55989
+
+ DBNAME e_coli_55989_funcgen [
++ comment: "SpeciesIdentifier=26"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_atcc_27325 [
++ comment: "SpeciesIdentifier=4"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1257,12 +1354,14 @@
+ ALIAS 316407 e_coli_atcc_27325
+
+ DBNAME e_coli_atcc_27325_funcgen [
++ comment: "SpeciesIdentifier=4"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_atcc_33849 [
++ comment: "SpeciesIdentifier=39"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1271,12 +1370,14 @@
+ ALIAS 536056 e_coli_atcc_33849
+
+ DBNAME e_coli_atcc_33849_funcgen [
++ comment: "SpeciesIdentifier=39"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_atcc_8739 [
++ comment: "SpeciesIdentifier=2"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1285,12 +1386,14 @@
+ ALIAS 481805 e_coli_atcc_8739
+
+ DBNAME e_coli_atcc_8739_funcgen [
++ comment: "SpeciesIdentifier=2"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_bl21 [
++ comment: "SpeciesIdentifier=32"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1299,12 +1402,14 @@
+ ALIAS 511693 e_coli_bl21
+
+ DBNAME e_coli_bl21_funcgen [
++ comment: "SpeciesIdentifier=32"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_bl21_de3_jgi [
++ comment: "SpeciesIdentifier=40"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1313,12 +1418,14 @@
+ ALIAS 866768 e_coli_bl21_de3_jgi
+
+ DBNAME e_coli_bl21_de3_jgi_funcgen [
++ comment: "SpeciesIdentifier=40"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_bl21_de3_kribb [
++ comment: "SpeciesIdentifier=38"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1327,12 +1434,14 @@
+ ALIAS 469008 e_coli_bl21_de3_kribb
+
+ DBNAME e_coli_bl21_de3_kribb_funcgen [
++ comment: "SpeciesIdentifier=38"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_bw2952 [
++ comment: "SpeciesIdentifier=31"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1341,12 +1450,14 @@
+ ALIAS 595496 e_coli_bw2952
+
+ DBNAME e_coli_bw2952_funcgen [
++ comment: "SpeciesIdentifier=31"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_dh10b [
++ comment: "SpeciesIdentifier=3"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1355,12 +1466,14 @@
+ ALIAS 316385 e_coli_dh10b
+
+ DBNAME e_coli_dh10b_funcgen [
++ comment: "SpeciesIdentifier=3"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_ec4115 [
++ comment: "SpeciesIdentifier=7"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1369,12 +1482,14 @@
+ ALIAS 444450 e_coli_ec4115
+
+ DBNAME e_coli_ec4115_funcgen [
++ comment: "SpeciesIdentifier=7"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_edl933 [
++ comment: "SpeciesIdentifier=6"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1383,12 +1498,14 @@
+ ALIAS 155864 e_coli_edl933
+
+ DBNAME e_coli_edl933_funcgen [
++ comment: "SpeciesIdentifier=6"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_k12 [
++ comment: "SpeciesIdentifier=1"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1397,12 +1514,14 @@
+ ALIAS 511145 e_coli_k12
+
+ DBNAME e_coli_k12_funcgen [
++ comment: "SpeciesIdentifier=1"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_o103_h2 [
++ comment: "SpeciesIdentifier=36"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1411,12 +1530,14 @@
+ ALIAS 585395 e_coli_o103_h2
+
+ DBNAME e_coli_o103_h2_funcgen [
++ comment: "SpeciesIdentifier=36"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_o111_h_ [
++ comment: "SpeciesIdentifier=37"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1425,12 +1546,14 @@
+ ALIAS 585396 e_coli_o111_h_
+
+ DBNAME e_coli_o111_h__funcgen [
++ comment: "SpeciesIdentifier=37"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_o127_h6 [
++ comment: "SpeciesIdentifier=23"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1439,12 +1562,14 @@
+ ALIAS 574521 e_coli_o127_h6
+
+ DBNAME e_coli_o127_h6_funcgen [
++ comment: "SpeciesIdentifier=23"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_o139_h28 [
++ comment: "SpeciesIdentifier=5"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1453,12 +1578,14 @@
+ ALIAS 331111 e_coli_o139_h28
+
+ DBNAME e_coli_o139_h28_funcgen [
++ comment: "SpeciesIdentifier=5"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_o157_h7_tw14588 [
++ comment: "SpeciesIdentifier=45"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1467,12 +1594,14 @@
+ ALIAS 502346 e_coli_o157_h7_tw14588
+
+ DBNAME e_coli_o157_h7_tw14588_funcgen [
++ comment: "SpeciesIdentifier=45"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_o17_k52_h18 [
++ comment: "SpeciesIdentifier=24"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1481,12 +1610,14 @@
+ ALIAS 585056 e_coli_o17_k52_h18
+
+ DBNAME e_coli_o17_k52_h18_funcgen [
++ comment: "SpeciesIdentifier=24"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_o18_k1_h7 [
++ comment: "SpeciesIdentifier=46"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1495,12 +1626,14 @@
+ ALIAS 714962 e_coli_o18_k1_h7
+
+ DBNAME e_coli_o18_k1_h7_funcgen [
++ comment: "SpeciesIdentifier=46"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_o1_k1_apec [
++ comment: "SpeciesIdentifier=8"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1509,12 +1642,14 @@
+ ALIAS 405955 e_coli_o1_k1_apec
+
+ DBNAME e_coli_o1_k1_apec_funcgen [
++ comment: "SpeciesIdentifier=8"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_o26_h11 [
++ comment: "SpeciesIdentifier=35"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1523,12 +1658,14 @@
+ ALIAS 573235 e_coli_o26_h11
+
+ DBNAME e_coli_o26_h11_funcgen [
++ comment: "SpeciesIdentifier=35"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_o45_k1 [
++ comment: "SpeciesIdentifier=28"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1537,12 +1674,14 @@
+ ALIAS 585035 e_coli_o45_k1
+
+ DBNAME e_coli_o45_k1_funcgen [
++ comment: "SpeciesIdentifier=28"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_o55_h7 [
++ comment: "SpeciesIdentifier=44"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1551,12 +1690,14 @@
+ ALIAS 701177 e_coli_o55_h7
+
+ DBNAME e_coli_o55_h7_funcgen [
++ comment: "SpeciesIdentifier=44"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_o6 [
++ comment: "SpeciesIdentifier=9"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1565,12 +1706,14 @@
+ ALIAS 217992 e_coli_o6
+
+ DBNAME e_coli_o6_funcgen [
++ comment: "SpeciesIdentifier=9"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_o6_k15_h31 [
++ comment: "SpeciesIdentifier=10"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1579,12 +1722,14 @@
+ ALIAS 362663 e_coli_o6_k15_h31
+
+ DBNAME e_coli_o6_k15_h31_funcgen [
++ comment: "SpeciesIdentifier=10"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_o7_k1 [
++ comment: "SpeciesIdentifier=30"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1593,12 +1738,14 @@
+ ALIAS 585057 e_coli_o7_k1
+
+ DBNAME e_coli_o7_k1_funcgen [
++ comment: "SpeciesIdentifier=30"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_o8 [
++ comment: "SpeciesIdentifier=27"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1607,12 +1754,14 @@
+ ALIAS 585034 e_coli_o8
+
+ DBNAME e_coli_o8_funcgen [
++ comment: "SpeciesIdentifier=27"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_o81 [
++ comment: "SpeciesIdentifier=29"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1621,12 +1770,14 @@
+ ALIAS 585397 e_coli_o81
+
+ DBNAME e_coli_o81_funcgen [
++ comment: "SpeciesIdentifier=29"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_o9_h4 [
++ comment: "SpeciesIdentifier=11"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1635,12 +1786,14 @@
+ ALIAS 331112 e_coli_o9_h4
+
+ DBNAME e_coli_o9_h4_funcgen [
++ comment: "SpeciesIdentifier=11"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_rel606 [
++ comment: "SpeciesIdentifier=33"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1649,12 +1802,14 @@
+ ALIAS 413997 e_coli_rel606
+
+ DBNAME e_coli_rel606_funcgen [
++ comment: "SpeciesIdentifier=33"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_sakai [
++ comment: "SpeciesIdentifier=12"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1663,12 +1818,14 @@
+ ALIAS 386585 e_coli_sakai
+
+ DBNAME e_coli_sakai_funcgen [
++ comment: "SpeciesIdentifier=12"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_se11 [
++ comment: "SpeciesIdentifier=22"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1677,12 +1834,14 @@
+ ALIAS 409438 e_coli_se11
+
+ DBNAME e_coli_se11_funcgen [
++ comment: "SpeciesIdentifier=22"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_se15 [
++ comment: "SpeciesIdentifier=42"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1691,12 +1850,14 @@
+ ALIAS 431946 e_coli_se15
+
+ DBNAME e_coli_se15_funcgen [
++ comment: "SpeciesIdentifier=42"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_sms_3_5 [
++ comment: "SpeciesIdentifier=13"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1705,12 +1866,14 @@
+ ALIAS 439855 e_coli_sms_3_5
+
+ DBNAME e_coli_sms_3_5_funcgen [
++ comment: "SpeciesIdentifier=13"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_tw14359 [
++ comment: "SpeciesIdentifier=34"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1719,12 +1882,14 @@
+ ALIAS 544404 e_coli_tw14359
+
+ DBNAME e_coli_tw14359_funcgen [
++ comment: "SpeciesIdentifier=34"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_coli_uti89 [
++ comment: "SpeciesIdentifier=14"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1733,12 +1898,14 @@
+ ALIAS 364106 e_coli_uti89
+
+ DBNAME e_coli_uti89_funcgen [
++ comment: "SpeciesIdentifier=14"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME e_fergusonii [
++ comment: "SpeciesIdentifier=25"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -1747,6 +1914,7 @@
+ ALIAS 585054 e_fergusonii
+
+ DBNAME e_fergusonii_funcgen [
++ comment: "SpeciesIdentifier=25"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+@@ -1843,6 +2011,7 @@
+ ]
+
+ DBNAME mycobacterium_sp_jls [
++ comment: "SpeciesIdentifier=11"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
+@@ -1851,6 +2020,7 @@
+ ALIAS 164757 mycobacterium_sp_jls
+
+ DBNAME mycobacterium_sp_kms [
++ comment: "SpeciesIdentifier=12"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
+@@ -1859,6 +2029,7 @@
+ ALIAS 189918 mycobacterium_sp_kms
+
+ DBNAME mycobacterium_sp_mcs [
++ comment: "SpeciesIdentifier=13"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
+@@ -1867,6 +2038,7 @@
+ ALIAS 164756 mycobacterium_sp_mcs
+
+ DBNAME m_abscessus [
++ comment: "SpeciesIdentifier=2"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
+@@ -1875,6 +2047,7 @@
+ ALIAS 36809 m_abscessus
+
+ DBNAME m_avium [
++ comment: "SpeciesIdentifier=3"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
+@@ -1883,6 +2056,7 @@
+ ALIAS 243243 m_avium
+
+ DBNAME m_bovis_af2122_97 [
++ comment: "SpeciesIdentifier=4"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
+@@ -1891,6 +2065,7 @@
+ ALIAS 233413 m_bovis_af2122_97
+
+ DBNAME m_bovis_pasteur_1173p2 [
++ comment: "SpeciesIdentifier=5"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
+@@ -1899,6 +2074,7 @@
+ ALIAS 410289 m_bovis_pasteur_1173p2
+
+ DBNAME m_bovis_tokyo_172 [
++ comment: "SpeciesIdentifier=19"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
+@@ -1907,6 +2083,7 @@
+ ALIAS 561275 m_bovis_tokyo_172
+
+ DBNAME m_gilvum [
++ comment: "SpeciesIdentifier=6"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
+@@ -1915,6 +2092,7 @@
+ ALIAS 350054 m_gilvum
+
+ DBNAME m_leprae_br4923 [
++ comment: "SpeciesIdentifier=18"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
+@@ -1923,6 +2101,7 @@
+ ALIAS 561304 m_leprae_br4923
+
+ DBNAME m_leprae_tn [
++ comment: "SpeciesIdentifier=7"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
+@@ -1931,6 +2110,7 @@
+ ALIAS 272631 m_leprae_tn
+
+ DBNAME m_marinum [
++ comment: "SpeciesIdentifier=8"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
+@@ -1939,6 +2119,7 @@
+ ALIAS 216594 m_marinum
+
+ DBNAME m_paratuberculosis [
++ comment: "SpeciesIdentifier=9"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
+@@ -1947,6 +2128,7 @@
+ ALIAS 262316 m_paratuberculosis
+
+ DBNAME m_smegmatis [
++ comment: "SpeciesIdentifier=10"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
+@@ -1955,6 +2137,7 @@
+ ALIAS 246196 m_smegmatis
+
+ DBNAME m_tuberculosis_atcc_25177 [
++ comment: "SpeciesIdentifier=14"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
+@@ -1963,6 +2146,7 @@
+ ALIAS 419947 m_tuberculosis_atcc_25177
+
+ DBNAME m_tuberculosis_cdc1551 [
++ comment: "SpeciesIdentifier=15"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
+@@ -1971,6 +2155,7 @@
+ ALIAS 83331 m_tuberculosis_cdc1551
+
+ DBNAME m_tuberculosis_h37rv [
++ comment: "SpeciesIdentifier=1"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
+@@ -1979,6 +2164,7 @@
+ ALIAS 83332 m_tuberculosis_h37rv
+
+ DBNAME m_tuberculosis_kzn_1435 [
++ comment: "SpeciesIdentifier=21"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
+@@ -1987,6 +2173,7 @@
+ ALIAS 478434 m_tuberculosis_kzn_1435
+
+ DBNAME m_ulcerans [
++ comment: "SpeciesIdentifier=16"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
+@@ -1995,6 +2182,7 @@
+ ALIAS 362242 m_ulcerans
+
+ DBNAME m_vanbaalenii [
++ comment: "SpeciesIdentifier=17"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/mycobacterium_collection_core_9_62_3a"
+@@ -2030,6 +2218,7 @@
+ ALIAS n_crassa neurospora_crassa
+
+ DBNAME n_gonorrhoeae_atcc_700825 [
++ comment: "SpeciesIdentifier=2"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/neisseria_collection_core_9_62_3a"
+@@ -2038,6 +2227,7 @@
+ ALIAS 242231 n_gonorrhoeae_atcc_700825
+
+ DBNAME n_gonorrhoeae_nccp11945 [
++ comment: "SpeciesIdentifier=3"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/neisseria_collection_core_9_62_3a"
+@@ -2046,6 +2236,7 @@
+ ALIAS 521006 n_gonorrhoeae_nccp11945
+
+ DBNAME n_meningitidis_053442 [
++ comment: "SpeciesIdentifier=6"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/neisseria_collection_core_9_62_3a"
+@@ -2054,6 +2245,7 @@
+ ALIAS 374833 n_meningitidis_053442
+
+ DBNAME n_meningitidis_2a [
++ comment: "SpeciesIdentifier=4"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/neisseria_collection_core_9_62_3a"
+@@ -2062,6 +2254,7 @@
+ ALIAS 272831 n_meningitidis_2a
+
+ DBNAME n_meningitidis_8013 [
++ comment: "SpeciesIdentifier=8"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/neisseria_collection_core_9_62_3a"
+@@ -2070,6 +2263,7 @@
+ ALIAS 604162 n_meningitidis_8013
+
+ DBNAME n_meningitidis_a [
++ comment: "SpeciesIdentifier=1"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/neisseria_collection_core_9_62_3a"
+@@ -2078,6 +2272,7 @@
+ ALIAS 122587 n_meningitidis_a
+
+ DBNAME n_meningitidis_alpha14 [
++ comment: "SpeciesIdentifier=7"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/neisseria_collection_core_9_62_3a"
+@@ -2086,6 +2281,7 @@
+ ALIAS 487 n_meningitidis_alpha14
+
+ DBNAME n_meningitidis_b [
++ comment: "SpeciesIdentifier=5"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/neisseria_collection_core_9_62_3a"
+@@ -2330,6 +2526,7 @@
+ ]
+
+ DBNAME p_abyssi [
++ comment: "SpeciesIdentifier=2"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/pyrococcus_collection_core_9_62_1a"
+@@ -2338,6 +2535,7 @@
+ ALIAS 272844 p_abyssi
+
+ DBNAME p_furiosus [
++ comment: "SpeciesIdentifier=3"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/pyrococcus_collection_core_9_62_1a"
+@@ -2346,6 +2544,7 @@
+ ALIAS 186497 p_furiosus
+
+ DBNAME p_horikoshii [
++ comment: "SpeciesIdentifier=1"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/pyrococcus_collection_core_9_62_1a"
+@@ -2354,6 +2553,7 @@
+ ALIAS 70601 p_horikoshii
+
+ DBNAME p_kodakaraensis [
++ comment: "SpeciesIdentifier=4"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/pyrococcus_collection_core_9_62_1a"
+@@ -2428,6 +2628,7 @@
+ ALIAS 7668 strongylocentrotus_purpuratus
+
+ DBNAME s_agalactiae_ia [
++ comment: "SpeciesIdentifier=3"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -2436,6 +2637,7 @@
+ ALIAS 205921 s_agalactiae_ia
+
+ DBNAME s_agalactiae_iii [
++ comment: "SpeciesIdentifier=2"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -2444,6 +2646,7 @@
+ ALIAS 211110 s_agalactiae_iii
+
+ DBNAME s_agalactiae_v [
++ comment: "SpeciesIdentifier=4"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -2452,6 +2655,7 @@
+ ALIAS 208435 s_agalactiae_v
+
+ DBNAME s_aureus_04_02981 [
++ comment: "SpeciesIdentifier=24"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2460,12 +2664,14 @@
+ ALIAS 703339 s_aureus_04_02981
+
+ DBNAME s_aureus_04_02981_funcgen [
++ comment: "SpeciesIdentifier=24"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_aureus_bovine_rf122 [
++ comment: "SpeciesIdentifier=5"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2474,12 +2680,14 @@
+ ALIAS 273036 s_aureus_bovine_rf122
+
+ DBNAME s_aureus_bovine_rf122_funcgen [
++ comment: "SpeciesIdentifier=5"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_aureus_col [
++ comment: "SpeciesIdentifier=4"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2488,12 +2696,14 @@
+ ALIAS 93062 s_aureus_col
+
+ DBNAME s_aureus_col_funcgen [
++ comment: "SpeciesIdentifier=4"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_aureus_ed133 [
++ comment: "SpeciesIdentifier=25"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2502,12 +2712,14 @@
+ ALIAS 685039 s_aureus_ed133
+
+ DBNAME s_aureus_ed133_funcgen [
++ comment: "SpeciesIdentifier=25"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_aureus_ed98 [
++ comment: "SpeciesIdentifier=21"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2516,12 +2728,14 @@
+ ALIAS 681288 s_aureus_ed98
+
+ DBNAME s_aureus_ed98_funcgen [
++ comment: "SpeciesIdentifier=21"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_aureus_jh1 [
++ comment: "SpeciesIdentifier=6"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2530,12 +2744,14 @@
+ ALIAS 359787 s_aureus_jh1
+
+ DBNAME s_aureus_jh1_funcgen [
++ comment: "SpeciesIdentifier=6"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_aureus_jh9 [
++ comment: "SpeciesIdentifier=7"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2544,12 +2760,14 @@
+ ALIAS 359786 s_aureus_jh9
+
+ DBNAME s_aureus_jh9_funcgen [
++ comment: "SpeciesIdentifier=7"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_aureus_jkd6008 [
++ comment: "SpeciesIdentifier=26"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2558,12 +2776,14 @@
+ ALIAS 546342 s_aureus_jkd6008
+
+ DBNAME s_aureus_jkd6008_funcgen [
++ comment: "SpeciesIdentifier=26"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_aureus_jkd6159 [
++ comment: "SpeciesIdentifier=23"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2572,12 +2792,14 @@
+ ALIAS 869816 s_aureus_jkd6159
+
+ DBNAME s_aureus_jkd6159_funcgen [
++ comment: "SpeciesIdentifier=23"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_aureus_mrsa252 [
++ comment: "SpeciesIdentifier=8"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2586,12 +2808,14 @@
+ ALIAS 282458 s_aureus_mrsa252
+
+ DBNAME s_aureus_mrsa252_funcgen [
++ comment: "SpeciesIdentifier=8"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_aureus_mssa476 [
++ comment: "SpeciesIdentifier=9"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2600,12 +2824,14 @@
+ ALIAS 282459 s_aureus_mssa476
+
+ DBNAME s_aureus_mssa476_funcgen [
++ comment: "SpeciesIdentifier=9"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_aureus_mu3 [
++ comment: "SpeciesIdentifier=2"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2614,12 +2840,14 @@
+ ALIAS 418127 s_aureus_mu3
+
+ DBNAME s_aureus_mu3_funcgen [
++ comment: "SpeciesIdentifier=2"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_aureus_mu50 [
++ comment: "SpeciesIdentifier=3"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2628,12 +2856,14 @@
+ ALIAS 158878 s_aureus_mu50
+
+ DBNAME s_aureus_mu50_funcgen [
++ comment: "SpeciesIdentifier=3"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_aureus_mw2 [
++ comment: "SpeciesIdentifier=10"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2642,12 +2872,14 @@
+ ALIAS 196620 s_aureus_mw2
+
+ DBNAME s_aureus_mw2_funcgen [
++ comment: "SpeciesIdentifier=10"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_aureus_n315 [
++ comment: "SpeciesIdentifier=1"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2656,12 +2888,14 @@
+ ALIAS 158879 s_aureus_n315
+
+ DBNAME s_aureus_n315_funcgen [
++ comment: "SpeciesIdentifier=1"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_aureus_nctc_8325 [
++ comment: "SpeciesIdentifier=11"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2670,12 +2904,14 @@
+ ALIAS 93061 s_aureus_nctc_8325
+
+ DBNAME s_aureus_nctc_8325_funcgen [
++ comment: "SpeciesIdentifier=11"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_aureus_newman [
++ comment: "SpeciesIdentifier=12"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2684,12 +2920,14 @@
+ ALIAS 426430 s_aureus_newman
+
+ DBNAME s_aureus_newman_funcgen [
++ comment: "SpeciesIdentifier=12"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_aureus_st398 [
++ comment: "SpeciesIdentifier=20"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2698,12 +2936,14 @@
+ ALIAS 523796 s_aureus_st398
+
+ DBNAME s_aureus_st398_funcgen [
++ comment: "SpeciesIdentifier=20"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_aureus_tch1516 [
++ comment: "SpeciesIdentifier=13"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2712,12 +2952,14 @@
+ ALIAS 451516 s_aureus_tch1516
+
+ DBNAME s_aureus_tch1516_funcgen [
++ comment: "SpeciesIdentifier=13"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_aureus_tw20 [
++ comment: "SpeciesIdentifier=22"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2726,12 +2968,14 @@
+ ALIAS 663951 s_aureus_tw20
+
+ DBNAME s_aureus_tw20_funcgen [
++ comment: "SpeciesIdentifier=22"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_aureus_usa300 [
++ comment: "SpeciesIdentifier=14"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2740,12 +2984,14 @@
+ ALIAS 451515 s_aureus_usa300
+
+ DBNAME s_aureus_usa300_funcgen [
++ comment: "SpeciesIdentifier=14"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_boydii_18 [
++ comment: "SpeciesIdentifier=15"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -2754,12 +3000,14 @@
+ ALIAS 344609 s_boydii_18
+
+ DBNAME s_boydii_18_funcgen [
++ comment: "SpeciesIdentifier=15"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME s_boydii_4 [
++ comment: "SpeciesIdentifier=16"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -2768,12 +3016,14 @@
+ ALIAS 300268 s_boydii_4
+
+ DBNAME s_boydii_4_funcgen [
++ comment: "SpeciesIdentifier=16"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME s_carnosus [
++ comment: "SpeciesIdentifier=19"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2782,12 +3032,14 @@
+ ALIAS 396513 s_carnosus
+
+ DBNAME s_carnosus_funcgen [
++ comment: "SpeciesIdentifier=19"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_dysenteriae [
++ comment: "SpeciesIdentifier=17"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -2796,12 +3048,14 @@
+ ALIAS 300267 s_dysenteriae
+
+ DBNAME s_dysenteriae_funcgen [
++ comment: "SpeciesIdentifier=17"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME s_dysgalactiae [
++ comment: "SpeciesIdentifier=40"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -2810,6 +3064,7 @@
+ ALIAS 486410 s_dysgalactiae
+
+ DBNAME s_epidermidis_atcc_12228 [
++ comment: "SpeciesIdentifier=15"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2818,12 +3073,14 @@
+ ALIAS 176280 s_epidermidis_atcc_12228
+
+ DBNAME s_epidermidis_atcc_12228_funcgen [
++ comment: "SpeciesIdentifier=15"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_epidermidis_atcc_35984 [
++ comment: "SpeciesIdentifier=16"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2832,12 +3089,14 @@
+ ALIAS 176279 s_epidermidis_atcc_35984
+
+ DBNAME s_epidermidis_atcc_35984_funcgen [
++ comment: "SpeciesIdentifier=16"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_equi [
++ comment: "SpeciesIdentifier=33"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -2846,6 +3105,7 @@
+ ALIAS 553482 s_equi
+
+ DBNAME s_equi_mgcs10565 [
++ comment: "SpeciesIdentifier=5"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -2854,6 +3114,7 @@
+ ALIAS 552526 s_equi_mgcs10565
+
+ DBNAME s_equi_zooepidemicus [
++ comment: "SpeciesIdentifier=32"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -2862,6 +3123,7 @@
+ ALIAS 40041 s_equi_zooepidemicus
+
+ DBNAME s_flexneri_2457t [
++ comment: "SpeciesIdentifier=18"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -2870,12 +3132,14 @@
+ ALIAS 198215 s_flexneri_2457t
+
+ DBNAME s_flexneri_2457t_funcgen [
++ comment: "SpeciesIdentifier=18"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME s_flexneri_301 [
++ comment: "SpeciesIdentifier=19"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -2884,12 +3148,14 @@
+ ALIAS 198214 s_flexneri_301
+
+ DBNAME s_flexneri_301_funcgen [
++ comment: "SpeciesIdentifier=19"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME s_flexneri_5b [
++ comment: "SpeciesIdentifier=20"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -2898,12 +3164,14 @@
+ ALIAS 373384 s_flexneri_5b
+
+ DBNAME s_flexneri_5b_funcgen [
++ comment: "SpeciesIdentifier=20"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME s_flexneri_x [
++ comment: "SpeciesIdentifier=41"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -2912,12 +3180,14 @@
+ ALIAS 591020 s_flexneri_x
+
+ DBNAME s_flexneri_x_funcgen [
++ comment: "SpeciesIdentifier=41"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME s_gallolyticus [
++ comment: "SpeciesIdentifier=45"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -2926,6 +3196,7 @@
+ ALIAS 637909 s_gallolyticus
+
+ DBNAME s_gordonii [
++ comment: "SpeciesIdentifier=6"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -2934,6 +3205,7 @@
+ ALIAS 467705 s_gordonii
+
+ DBNAME s_haemolyticus [
++ comment: "SpeciesIdentifier=17"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2942,12 +3214,14 @@
+ ALIAS 279808 s_haemolyticus
+
+ DBNAME s_haemolyticus_funcgen [
++ comment: "SpeciesIdentifier=17"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_lugdunensis [
++ comment: "SpeciesIdentifier=27"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -2956,12 +3230,14 @@
+ ALIAS 698737 s_lugdunensis
+
+ DBNAME s_lugdunensis_funcgen [
++ comment: "SpeciesIdentifier=27"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_mitis [
++ comment: "SpeciesIdentifier=48"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -2970,6 +3246,7 @@
+ ALIAS 365659 s_mitis
+
+ DBNAME s_mutans_atcc_700610 [
++ comment: "SpeciesIdentifier=7"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -2978,6 +3255,7 @@
+ ALIAS 210007 s_mutans_atcc_700610
+
+ DBNAME s_mutans_nn2025 [
++ comment: "SpeciesIdentifier=44"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -2986,6 +3264,7 @@
+ ALIAS 511691 s_mutans_nn2025
+
+ DBNAME s_pneumoniae_70585 [
++ comment: "SpeciesIdentifier=34"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -2994,6 +3273,7 @@
+ ALIAS 488221 s_pneumoniae_70585
+
+ DBNAME s_pneumoniae_a19 [
++ comment: "SpeciesIdentifier=49"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3002,6 +3282,7 @@
+ ALIAS 525381 s_pneumoniae_a19
+
+ DBNAME s_pneumoniae_atcc_700669 [
++ comment: "SpeciesIdentifier=39"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3010,6 +3291,7 @@
+ ALIAS 561276 s_pneumoniae_atcc_700669
+
+ DBNAME s_pneumoniae_atcc_baa_255 [
++ comment: "SpeciesIdentifier=8"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3018,6 +3300,7 @@
+ ALIAS 171101 s_pneumoniae_atcc_baa_255
+
+ DBNAME s_pneumoniae_cgsp14 [
++ comment: "SpeciesIdentifier=9"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3026,6 +3309,7 @@
+ ALIAS 516950 s_pneumoniae_cgsp14
+
+ DBNAME s_pneumoniae_d39 [
++ comment: "SpeciesIdentifier=10"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3034,6 +3318,7 @@
+ ALIAS 373153 s_pneumoniae_d39
+
+ DBNAME s_pneumoniae_g54 [
++ comment: "SpeciesIdentifier=11"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3042,6 +3327,7 @@
+ ALIAS 512566 s_pneumoniae_g54
+
+ DBNAME s_pneumoniae_hungary19a_6 [
++ comment: "SpeciesIdentifier=12"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3050,6 +3336,7 @@
+ ALIAS 487214 s_pneumoniae_hungary19a_6
+
+ DBNAME s_pneumoniae_jja [
++ comment: "SpeciesIdentifier=35"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3058,6 +3345,7 @@
+ ALIAS 488222 s_pneumoniae_jja
+
+ DBNAME s_pneumoniae_p1031 [
++ comment: "SpeciesIdentifier=37"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3066,6 +3354,7 @@
+ ALIAS 488223 s_pneumoniae_p1031
+
+ DBNAME s_pneumoniae_taiwan19f_14 [
++ comment: "SpeciesIdentifier=36"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3074,6 +3363,7 @@
+ ALIAS 487213 s_pneumoniae_taiwan19f_14
+
+ DBNAME s_pneumoniae_tigr4 [
++ comment: "SpeciesIdentifier=13"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3082,6 +3372,7 @@
+ ALIAS 170187 s_pneumoniae_tigr4
+
+ DBNAME s_pyogenes_atcc_baa_595 [
++ comment: "SpeciesIdentifier=17"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3090,6 +3381,7 @@
+ ALIAS 198466 s_pyogenes_atcc_baa_595
+
+ DBNAME s_pyogenes_m18 [
++ comment: "SpeciesIdentifier=15"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3098,6 +3390,7 @@
+ ALIAS 186103 s_pyogenes_m18
+
+ DBNAME s_pyogenes_m2 [
++ comment: "SpeciesIdentifier=20"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3106,6 +3399,7 @@
+ ALIAS 370552 s_pyogenes_m2
+
+ DBNAME s_pyogenes_m28 [
++ comment: "SpeciesIdentifier=16"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3114,6 +3408,7 @@
+ ALIAS 319701 s_pyogenes_m28
+
+ DBNAME s_pyogenes_m4 [
++ comment: "SpeciesIdentifier=21"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3122,6 +3417,7 @@
+ ALIAS 370554 s_pyogenes_m4
+
+ DBNAME s_pyogenes_m49 [
++ comment: "SpeciesIdentifier=25"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3130,6 +3426,7 @@
+ ALIAS 471876 s_pyogenes_m49
+
+ DBNAME s_pyogenes_m5 [
++ comment: "SpeciesIdentifier=24"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3138,6 +3435,7 @@
+ ALIAS 160491 s_pyogenes_m5
+
+ DBNAME s_pyogenes_m6 [
++ comment: "SpeciesIdentifier=19"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3146,6 +3444,7 @@
+ ALIAS 286636 s_pyogenes_m6
+
+ DBNAME s_pyogenes_mgas2096 [
++ comment: "SpeciesIdentifier=22"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3154,6 +3453,7 @@
+ ALIAS 370553 s_pyogenes_mgas2096
+
+ DBNAME s_pyogenes_mgas5005 [
++ comment: "SpeciesIdentifier=14"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3162,6 +3462,7 @@
+ ALIAS 293653 s_pyogenes_mgas5005
+
+ DBNAME s_pyogenes_mgas9429 [
++ comment: "SpeciesIdentifier=23"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3170,6 +3471,7 @@
+ ALIAS 370551 s_pyogenes_mgas9429
+
+ DBNAME s_pyogenes_sf370 [
++ comment: "SpeciesIdentifier=1"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3178,6 +3480,7 @@
+ ALIAS 160490 s_pyogenes_sf370
+
+ DBNAME s_pyogenes_ssi_1 [
++ comment: "SpeciesIdentifier=18"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3186,6 +3489,7 @@
+ ALIAS 193567 s_pyogenes_ssi_1
+
+ DBNAME s_sanguinis [
++ comment: "SpeciesIdentifier=26"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3194,6 +3498,7 @@
+ ALIAS 388919 s_sanguinis
+
+ DBNAME s_saprophyticus [
++ comment: "SpeciesIdentifier=18"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_core_9_62_4a"
+@@ -3202,12 +3507,14 @@
+ ALIAS 342451 s_saprophyticus
+
+ DBNAME s_saprophyticus_funcgen [
++ comment: "SpeciesIdentifier=18"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/staphylococcus_collection_funcgen_9_62_4a"
+ ]
+
+ DBNAME s_sonnei [
++ comment: "SpeciesIdentifier=21"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_core_9_62_5a"
+@@ -3216,12 +3523,14 @@
+ ALIAS 300269 s_sonnei
+
+ DBNAME s_sonnei_funcgen [
++ comment: "SpeciesIdentifier=21"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/escherichia_shigella_collection_funcgen_9_62_5a"
+ ]
+
+ DBNAME s_suis_05zyh33 [
++ comment: "SpeciesIdentifier=27"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3230,6 +3539,7 @@
+ ALIAS 391295 s_suis_05zyh33
+
+ DBNAME s_suis_98hah33 [
++ comment: "SpeciesIdentifier=28"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3238,6 +3548,7 @@
+ ALIAS 391296 s_suis_98hah33
+
+ DBNAME s_suis_bm407 [
++ comment: "SpeciesIdentifier=42"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3246,6 +3557,7 @@
+ ALIAS 568814 s_suis_bm407
+
+ DBNAME s_suis_gz1 [
++ comment: "SpeciesIdentifier=50"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3254,6 +3566,7 @@
+ ALIAS 423211 s_suis_gz1
+
+ DBNAME s_suis_p1_7 [
++ comment: "SpeciesIdentifier=43"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3262,6 +3575,7 @@
+ ALIAS 218494 s_suis_p1_7
+
+ DBNAME s_suis_sc84 [
++ comment: "SpeciesIdentifier=41"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3270,6 +3584,7 @@
+ ALIAS 568813 s_suis_sc84
+
+ DBNAME s_thermophilus_atcc_baa_250 [
++ comment: "SpeciesIdentifier=29"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3278,6 +3593,7 @@
+ ALIAS 264199 s_thermophilus_atcc_baa_250
+
+ DBNAME s_thermophilus_atcc_baa_491 [
++ comment: "SpeciesIdentifier=30"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3286,6 +3602,7 @@
+ ALIAS 322159 s_thermophilus_atcc_baa_491
+
+ DBNAME s_thermophilus_cnrz_1066 [
++ comment: "SpeciesIdentifier=31"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3294,6 +3611,7 @@
+ ALIAS 299768 s_thermophilus_cnrz_1066
+
+ DBNAME s_uberis [
++ comment: "SpeciesIdentifier=38"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/streptococcus_collection_core_9_62_4a"
+@@ -3350,6 +3668,7 @@
+ ]
+
+ DBNAME wolbachia_sp_brugia_malayi [
++ comment: "SpeciesIdentifier=3"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/wolbachia_collection_core_9_62_1a"
+@@ -3358,6 +3677,7 @@
+ ALIAS 292805 wolbachia_sp_brugia_malayi
+
+ DBNAME wolbachia_sp_drosophila_simulans [
++ comment: "SpeciesIdentifier=2"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/wolbachia_collection_core_9_62_1a"
+@@ -3366,6 +3686,7 @@
+ ALIAS 66084 wolbachia_sp_drosophila_simulans
+
+ DBNAME w_pipientis_culex_pipiens [
++ comment: "SpeciesIdentifier=1"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/wolbachia_collection_core_9_62_1a"
+@@ -3374,6 +3695,7 @@
+ ALIAS 570417 w_pipientis_culex_pipiens
+
+ DBNAME w_pipientis_wmel [
++ comment: "SpeciesIdentifier=4"
+ release: "62"
+ server: "ensemblgenomes"
+ url: "mysql://anonymous@mysql.ebi.ac.uk:4157/wolbachia_collection_core_9_62_1a"
+--- emboss-6.4.0.orig/nucleus/embgroup.c
++++ emboss-6.4.0/nucleus/embgroup.c
+@@ -1173,7 +1173,7 @@
+ AjPStr tail;
+ AjPStr revhead;
+ AjPStr revtail;
+- AjPStr dummy; /* dummy string for ajListstrPop() */
++ AjPStr dummy = NULL; /* dummy string for ajListstrPop() */
+
+
+ len = ajListstrToarray(sublist, &sub);
diff --git a/debian/patches/tfm-html.patch b/debian/patches/tfm-html.patch
index 2827e8c..32e504a 100644
--- a/debian/patches/tfm-html.patch
+++ b/debian/patches/tfm-html.patch
@@ -1,9 +1,9 @@
Author: Charles Plessy
Forwarded: https://sourceforge.net/tracker/?func=detail&aid=2877960&group_id=93650&atid=605031
Description: Corrects the name of the directory where tfm looks for HTML documentation.
---- emboss.orig/emboss/tfm.c
-+++ emboss/emboss/tfm.c
-@@ -215,7 +215,7 @@
+--- emboss-6.4.0.orig/emboss/tfm.c
++++ emboss-6.4.0/emboss/tfm.c
+@@ -231,7 +231,7 @@
** if that didn't work then try the doc directory from the
** distribution tarball
*/
diff --git a/debian/patches/using-pager-in-tfm.patch b/debian/patches/using-pager-in-tfm.patch
index fa1d5a1..ac83937 100644
--- a/debian/patches/using-pager-in-tfm.patch
+++ b/debian/patches/using-pager-in-tfm.patch
@@ -6,8 +6,8 @@ Description: Browse the documentation with default pager.
alternatives system. With this patch, `tfm' will use `/usr/bin/pager' by
default, which points on the user's favorite pager.
License: as if it were public domain.
---- emboss.orig/emboss/tfm.c
-+++ emboss/emboss/tfm.c
+--- emboss-6.4.0.orig/emboss/tfm.c
++++ emboss-6.4.0/emboss/tfm.c
@@ -87,7 +87,7 @@
if(shellpager)
ajStrAssignC(&pager,shellpager);
diff --git a/debian/rules b/debian/rules
index 0913369..d0a8e71 100755
--- a/debian/rules
+++ b/debian/rules
@@ -3,7 +3,7 @@
export DH_VERBOSE=1
%:
- dh $@ --with autotools-dev,quilt
+ dh $@ --with autotools-dev
VERSION := $(shell dpkg-parsechangelog | grep Ver | cut -d' ' -f2 | cut -d- -f1)
RENAMED := cons pscan
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
--
The European Molecular Biology Open Software Suite.
More information about the debian-med-commit
mailing list