From fd8480905d0892cfcb2fb02f548442a80cd41627 Mon Sep 17 00:00:00 2001 From: Petar Petrov Date: Wed, 19 Oct 2011 19:39:37 -0200 Subject: academic/EMBOSS: Updated with newest patches. Signed-off-by: Niels Horn --- academic/EMBOSS/EMBOSS.SlackBuild | 6 +- academic/EMBOSS/patch-1-21 | 7232 ------------------------------------ academic/EMBOSS/patch-1-24 | 7326 +++++++++++++++++++++++++++++++++++++ 3 files changed, 7329 insertions(+), 7235 deletions(-) delete mode 100644 academic/EMBOSS/patch-1-21 create mode 100644 academic/EMBOSS/patch-1-24 (limited to 'academic/EMBOSS') diff --git a/academic/EMBOSS/EMBOSS.SlackBuild b/academic/EMBOSS/EMBOSS.SlackBuild index 900b1fd602..0321ba1146 100644 --- a/academic/EMBOSS/EMBOSS.SlackBuild +++ b/academic/EMBOSS/EMBOSS.SlackBuild @@ -10,7 +10,7 @@ PRGNAM=EMBOSS VERSION=${VERSION:-6.4.0} -BUILD=${BUILD:-2} +BUILD=${BUILD:-3} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -49,8 +49,8 @@ rm -rf $PRGNAM-$VERSION tar xvf $CWD/$PRGNAM-$VERSION.tar.gz cd $PRGNAM-$VERSION -# Apply EMBOSS bug-fix set 1-21. Thanks to ajb@ebi.ac.uk! -patch -p1 < $CWD/patch-1-21 +# Apply EMBOSS bug-fix set 1-24. Thanks to Alan at ajb@ebi.ac.uk! +patch -p1 < $CWD/patch-1-24 chown -R root:root . find . \ diff --git a/academic/EMBOSS/patch-1-21 b/academic/EMBOSS/patch-1-21 deleted file mode 100644 index cb182c65c8..0000000000 --- a/academic/EMBOSS/patch-1-21 +++ /dev/null @@ -1,7232 +0,0 @@ -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=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;jNseq;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;jNseq;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;jNseq;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;jNseq;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. - */ - -+ 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); diff --git a/academic/EMBOSS/patch-1-24 b/academic/EMBOSS/patch-1-24 new file mode 100644 index 0000000000..04fe05ba2b --- /dev/null +++ b/academic/EMBOSS/patch-1-24 @@ -0,0 +1,7326 @@ +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-10-05 14:56:07.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-10-05 14:56:07.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-10-05 14:56:07.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-10-05 14:56:07.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/ajfileio.c EMBOSS-6.4.0/ajax/core/ajfileio.c +*** EMBOSS-6.4.0old/ajax/core/ajfileio.c 2011-05-24 13:51:54.000000000 +0100 +--- EMBOSS-6.4.0/ajax/core/ajfileio.c 2011-10-05 14:56:07.000000000 +0100 +*************** +*** 2006,2025 **** + { + AjBool ret; + ajlong fpos = 0; +- AjPStr dest; + + ret = ajBuffreadLinePos(buff, Pdest, &fpos); + + /* trim any trailing newline */ + +- dest = *Pdest; +- + /*ajDebug("Remove carriage-return characters from PC-style files\n");*/ +! if(ajStrGetCharLast(dest) == '\n') + ajStrCutEnd(Pdest, 1); + + /* PC files have \r\n Macintosh files have just \r : this fixes both */ +! if(ajStrGetCharLast(dest) == '\r') + ajStrCutEnd(Pdest, 1); + + return ret; +--- 2006,2022 ---- + { + AjBool ret; + ajlong fpos = 0; + + ret = ajBuffreadLinePos(buff, Pdest, &fpos); + + /* trim any trailing newline */ + + /*ajDebug("Remove carriage-return characters from PC-style files\n");*/ +! if(ajStrGetCharLast(*Pdest) == '\n') + ajStrCutEnd(Pdest, 1); + + /* PC files have \r\n Macintosh files have just \r : this fixes both */ +! if(ajStrGetCharLast(*Pdest) == '\r') + ajStrCutEnd(Pdest, 1); + + return ret; +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-10-05 18:22:48.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/ajindex.c EMBOSS-6.4.0/ajax/core/ajindex.c +*** EMBOSS-6.4.0old/ajax/core/ajindex.c 2011-07-13 11:59:06.000000000 +0100 +--- EMBOSS-6.4.0/ajax/core/ajindex.c 2011-10-05 14:56:07.000000000 +0100 +*************** +*** 650,655 **** +--- 650,659 ---- + ajTablePut(btreeFieldsTable, + field->Name, + (void*) field); ++ field = btreeFieldNewField(&btreeFields[i]); ++ ajTablePut(btreeFieldsTable, ++ field->Extension, ++ (void*) field); + } + + return; +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-10-05 14:56:07.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-10-05 14:56:07.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-10-05 14:56:07.000000000 +0100 +*************** +*** 752,757 **** +--- 752,759 ---- + default: + mismreg = ajRegCompC(""); + ++ 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-10-05 14:56:07.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-10-05 14:56:07.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/ajreport.c EMBOSS-6.4.0/ajax/core/ajreport.c +*** EMBOSS-6.4.0old/ajax/core/ajreport.c 2011-07-08 15:54:59.000000000 +0100 +--- EMBOSS-6.4.0/ajax/core/ajreport.c 2011-10-05 14:56:07.000000000 +0100 +*************** +*** 677,682 **** +--- 677,684 ---- + istart = feature->Start; + iend = feature->End; + ilen = iend - istart + 1; ++ if(ilen == 2 && (feature->Flags & FEATFLAG_BETWEEN_SEQ)) ++ ilen = 0; + ajStrAssignSubS(&subseq, seqalias, istart-1, iend-1); + /* ajStrFmtUpper(&subseq); */ + i++; +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-10-05 14:56:07.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-10-05 14:56:07.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;jNseq;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;jNseq;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;jNseq;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;jNseq;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-10-05 14:56:07.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-10-05 14:56:07.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-10-05 14:56:07.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. + */ + ++ 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-10-05 14:56:07.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-10-05 14:56:07.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-10-05 14:56:07.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-10-05 14:56:08.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-10-05 14:56:08.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-10-05 14:56:08.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-10-05 14:56:08.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-10-05 14:56:08.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/diffseq.c EMBOSS-6.4.0/emboss/diffseq.c +*** EMBOSS-6.4.0old/emboss/diffseq.c 2010-04-14 09:19:27.000000000 +0100 +--- EMBOSS-6.4.0/emboss/diffseq.c 2011-10-05 14:56:08.000000000 +0100 +*************** +*** 338,344 **** + } + else + { +! gf = ajFeatNewII(ftab, diff->End1, diff->End1-1); + ajStrAssignC(&tmp, ""); + } + diffseq_Features("first_feature", gf, +--- 338,345 ---- + } + else + { +! gf = ajFeatNewII(ftab, diff->Start1-1, diff->Start1); +! gf->Flags |= FEATFLAG_BETWEEN_SEQ; + ajStrAssignC(&tmp, ""); + } + diffseq_Features("first_feature", gf, +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-10-05 14:56:08.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-10-05 14:56:08.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-10-05 14:56:08.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-10-05 14:56:08.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-10-05 14:56:08.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-10-05 14:56:08.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); -- cgit v1.2.3-65-gdbad