0bc6be88baf4061ca10c6f207331ec04e36c17f1
hiram
  Fri Feb 2 11:34:37 2024 -0800
better name for this table refs #23589

diff --git src/hg/lib/asmSummary.c src/hg/lib/asmSummary.c
new file mode 100644
index 0000000..f4319f4
--- /dev/null
+++ src/hg/lib/asmSummary.c
@@ -0,0 +1,844 @@
+/* asmSummary.c was originally generated by the autoSql program, which also 
+ * generated asmSummary.h and asmSummary.sql.  This module links the database and
+ * the RAM representation of objects. */
+
+#include "common.h"
+#include "linefile.h"
+#include "dystring.h"
+#include "jksql.h"
+#include "asmSummary.h"
+
+
+
+char *asmSummaryCommaSepFieldNames = "assemblyAccession,bioproject,biosample,wgsMaster,refseqCategory,taxId,speciesTaxid,organismName,infraspecificName,isolate,versionStatus,assemblyLevel,releaseType,genomeRep,seqRelDate,asmName,asmSubmitter,gbrsPairedAsm,pairedAsmComp,ftpPath,excludedFromRefseq,relationToTypeMaterial,assemblyType,phyloGroup,genomeSize,genomeSizeUngapped,gcPercent,repliconCount,scaffoldCount,contigCount,annotationProvider,annotationName,annotationDate,totalGeneCount,proteinCodingGeneCount,nonCodingGeneCount,pubmedId";
+
+void asmSummaryStaticLoadWithNull(char **row, struct asmSummary *ret)
+/* Load a row from asmSummary table into ret.  The contents of ret will
+ * be replaced at the next call to this function. */
+{
+
+ret->assemblyAccession = row[0];
+ret->bioproject = row[1];
+ret->biosample = row[2];
+ret->wgsMaster = row[3];
+ret->refseqCategory = row[4];
+if (row[5] != NULL)
+    {
+    ret->taxId = needMem(sizeof(*(ret->taxId)));
+    *(ret->taxId) = sqlUnsigned(row[5]);
+    }
+else
+    {
+    ret->taxId = NULL;
+    }
+if (row[6] != NULL)
+    {
+    ret->speciesTaxid = needMem(sizeof(*(ret->speciesTaxid)));
+    *(ret->speciesTaxid) = sqlUnsigned(row[6]);
+    }
+else
+    {
+    ret->speciesTaxid = NULL;
+    }
+ret->organismName = row[7];
+ret->infraspecificName = row[8];
+ret->isolate = row[9];
+ret->versionStatus = row[10];
+ret->assemblyLevel = row[11];
+ret->releaseType = row[12];
+ret->genomeRep = row[13];
+ret->seqRelDate = row[14];
+ret->asmName = row[15];
+ret->asmSubmitter = row[16];
+ret->gbrsPairedAsm = row[17];
+ret->pairedAsmComp = row[18];
+ret->ftpPath = row[19];
+ret->excludedFromRefseq = row[20];
+ret->relationToTypeMaterial = row[21];
+ret->assemblyType = row[22];
+ret->phyloGroup = row[23];
+if (row[24] != NULL)
+    {
+    ret->genomeSize = needMem(sizeof(*(ret->genomeSize)));
+    *(ret->genomeSize) = sqlLongLong(row[24]);
+    }
+else
+    {
+    ret->genomeSize = NULL;
+    }
+if (row[25] != NULL)
+    {
+    ret->genomeSizeUngapped = needMem(sizeof(*(ret->genomeSizeUngapped)));
+    *(ret->genomeSizeUngapped) = sqlLongLong(row[25]);
+    }
+else
+    {
+    ret->genomeSizeUngapped = NULL;
+    }
+if (row[26] != NULL)
+    {
+    ret->gcPercent = needMem(sizeof(float));
+    *(ret->gcPercent) = sqlFloat(row[26]);
+    }
+if (row[27] != NULL)
+    {
+    ret->repliconCount = needMem(sizeof(*(ret->repliconCount)));
+    *(ret->repliconCount) = sqlUnsigned(row[27]);
+    }
+else
+    {
+    ret->repliconCount = NULL;
+    }
+if (row[28] != NULL)
+    {
+    ret->scaffoldCount = needMem(sizeof(*(ret->scaffoldCount)));
+    *(ret->scaffoldCount) = sqlUnsigned(row[28]);
+    }
+else
+    {
+    ret->scaffoldCount = NULL;
+    }
+if (row[29] != NULL)
+    {
+    ret->contigCount = needMem(sizeof(*(ret->contigCount)));
+    *(ret->contigCount) = sqlUnsigned(row[29]);
+    }
+else
+    {
+    ret->contigCount = NULL;
+    }
+ret->annotationProvider = row[30];
+ret->annotationName = row[31];
+ret->annotationDate = row[32];
+ret->totalGeneCount = row[33];
+if (row[34] != NULL)
+    {
+    ret->proteinCodingGeneCount = needMem(sizeof(*(ret->proteinCodingGeneCount)));
+    *(ret->proteinCodingGeneCount) = sqlUnsigned(row[34]);
+    }
+else
+    {
+    ret->proteinCodingGeneCount = NULL;
+    }
+ret->nonCodingGeneCount = row[35];
+ret->pubmedId = row[36];
+}
+
+struct asmSummary *asmSummaryLoadByQuery(struct sqlConnection *conn, char *query)
+/* Load all asmSummary from table that satisfy the query given.  
+ * Where query is of the form 'select * from example where something=something'
+ * or 'select example.* from example, anotherTable where example.something = 
+ * anotherTable.something'.
+ * Dispose of this with asmSummaryFreeList(). */
+{
+struct asmSummary *list = NULL, *el;
+struct sqlResult *sr;
+char **row;
+
+sr = sqlGetResult(conn, query);
+while ((row = sqlNextRow(sr)) != NULL)
+    {
+    el = asmSummaryLoadWithNull(row);
+    slAddHead(&list, el);
+    }
+slReverse(&list);
+sqlFreeResult(&sr);
+return list;
+}
+
+void asmSummarySaveToDb(struct sqlConnection *conn, struct asmSummary *el, char *tableName, int updateSize)
+/* Save asmSummary as a row to the table specified by tableName. 
+ * As blob fields may be arbitrary size updateSize specifies the approx size
+ * of a string that would contain the entire query. Arrays of native types are
+ * converted to comma separated strings and loaded as such, User defined types are
+ * inserted as NULL. This function automatically escapes quoted strings for mysql. */
+{
+struct dyString *update = dyStringNew(updateSize);
+sqlDyStringPrintf(update, "insert into %s values ( '%s','%s','%s','%s','%s',%u,%u,'%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s',%lld,%lld,%g,%u,%u,%u,'%s','%s','%s','%s',%u,'%s','%s')", 
+	tableName,  el->assemblyAccession,  el->bioproject,  el->biosample,  el->wgsMaster,  el->refseqCategory,  *(el->taxId),  *(el->speciesTaxid),  el->organismName,  el->infraspecificName,  el->isolate,  el->versionStatus,  el->assemblyLevel,  el->releaseType,  el->genomeRep,  el->seqRelDate,  el->asmName,  el->asmSubmitter,  el->gbrsPairedAsm,  el->pairedAsmComp,  el->ftpPath,  el->excludedFromRefseq,  el->relationToTypeMaterial,  el->assemblyType,  el->phyloGroup,  *(el->genomeSize),  *(el->genomeSizeUngapped),  *(el->gcPercent),  *(el->repliconCount),  *(el->scaffoldCount),  *(el->contigCount),  el->annotationProvider,  el->annotationName,  el->annotationDate,  el->totalGeneCount,  *(el->proteinCodingGeneCount),  el->nonCodingGeneCount,  el->pubmedId);
+sqlUpdate(conn, update->string);
+dyStringFree(&update);
+}
+
+struct asmSummary *asmSummaryLoadWithNull(char **row)
+/* Load a asmSummary from row fetched with select * from asmSummary
+ * from database.  Dispose of this with asmSummaryFree(). */
+{
+struct asmSummary *ret;
+
+AllocVar(ret);
+ret->assemblyAccession = cloneString(row[0]);
+ret->bioproject = cloneString(row[1]);
+ret->biosample = cloneString(row[2]);
+ret->wgsMaster = cloneString(row[3]);
+ret->refseqCategory = cloneString(row[4]);
+if (row[5] != NULL)
+    {
+    ret->taxId = needMem(sizeof(*(ret->taxId)));
+    *(ret->taxId) = sqlUnsigned(row[5]);
+    }
+else
+    {
+    ret->taxId = NULL;
+    }
+if (row[6] != NULL)
+    {
+    ret->speciesTaxid = needMem(sizeof(*(ret->speciesTaxid)));
+    *(ret->speciesTaxid) = sqlUnsigned(row[6]);
+    }
+else
+    {
+    ret->speciesTaxid = NULL;
+    }
+ret->organismName = cloneString(row[7]);
+ret->infraspecificName = cloneString(row[8]);
+ret->isolate = cloneString(row[9]);
+ret->versionStatus = cloneString(row[10]);
+ret->assemblyLevel = cloneString(row[11]);
+ret->releaseType = cloneString(row[12]);
+ret->genomeRep = cloneString(row[13]);
+ret->seqRelDate = cloneString(row[14]);
+ret->asmName = cloneString(row[15]);
+ret->asmSubmitter = cloneString(row[16]);
+ret->gbrsPairedAsm = cloneString(row[17]);
+ret->pairedAsmComp = cloneString(row[18]);
+ret->ftpPath = cloneString(row[19]);
+ret->excludedFromRefseq = cloneString(row[20]);
+ret->relationToTypeMaterial = cloneString(row[21]);
+ret->assemblyType = cloneString(row[22]);
+ret->phyloGroup = cloneString(row[23]);
+if (row[24] != NULL)
+    {
+    ret->genomeSize = needMem(sizeof(*(ret->genomeSize)));
+    *(ret->genomeSize) = sqlLongLong(row[24]);
+    }
+else
+    {
+    ret->genomeSize = NULL;
+    }
+if (row[25] != NULL)
+    {
+    ret->genomeSizeUngapped = needMem(sizeof(*(ret->genomeSizeUngapped)));
+    *(ret->genomeSizeUngapped) = sqlLongLong(row[25]);
+    }
+else
+    {
+    ret->genomeSizeUngapped = NULL;
+    }
+if (row[26] != NULL)
+    {
+    ret->gcPercent = needMem(sizeof(float));
+    *(ret->gcPercent) = sqlFloat(row[26]);
+    }
+if (row[27] != NULL)
+    {
+    ret->repliconCount = needMem(sizeof(*(ret->repliconCount)));
+    *(ret->repliconCount) = sqlUnsigned(row[27]);
+    }
+else
+    {
+    ret->repliconCount = NULL;
+    }
+if (row[28] != NULL)
+    {
+    ret->scaffoldCount = needMem(sizeof(*(ret->scaffoldCount)));
+    *(ret->scaffoldCount) = sqlUnsigned(row[28]);
+    }
+else
+    {
+    ret->scaffoldCount = NULL;
+    }
+if (row[29] != NULL)
+    {
+    ret->contigCount = needMem(sizeof(*(ret->contigCount)));
+    *(ret->contigCount) = sqlUnsigned(row[29]);
+    }
+else
+    {
+    ret->contigCount = NULL;
+    }
+ret->annotationProvider = cloneString(row[30]);
+ret->annotationName = cloneString(row[31]);
+ret->annotationDate = cloneString(row[32]);
+ret->totalGeneCount = cloneString(row[33]);
+if (row[34] != NULL)
+    {
+    ret->proteinCodingGeneCount = needMem(sizeof(*(ret->proteinCodingGeneCount)));
+    *(ret->proteinCodingGeneCount) = sqlUnsigned(row[34]);
+    }
+else
+    {
+    ret->proteinCodingGeneCount = NULL;
+    }
+ret->nonCodingGeneCount = cloneString(row[35]);
+ret->pubmedId = cloneString(row[36]);
+return ret;
+}
+
+struct asmSummary *asmSummaryLoadAll(char *fileName) 
+/* Load all asmSummary from a whitespace-separated file.
+ * Dispose of this with asmSummaryFreeList(). */
+{
+struct asmSummary *list = NULL, *el;
+struct lineFile *lf = lineFileOpen(fileName, TRUE);
+char *row[37];
+
+while (lineFileRow(lf, row))
+    {
+    el = asmSummaryLoadWithNull(row);
+    slAddHead(&list, el);
+    }
+lineFileClose(&lf);
+slReverse(&list);
+return list;
+}
+
+struct asmSummary *asmSummaryLoadAllByChar(char *fileName, char chopper) 
+/* Load all asmSummary from a chopper separated file.
+ * Dispose of this with asmSummaryFreeList(). */
+{
+struct asmSummary *list = NULL, *el;
+struct lineFile *lf = lineFileOpen(fileName, TRUE);
+char *row[37];
+
+while (lineFileNextCharRow(lf, chopper, row, ArraySize(row)))
+    {
+    el = asmSummaryLoadWithNull(row);
+    slAddHead(&list, el);
+    }
+lineFileClose(&lf);
+slReverse(&list);
+return list;
+}
+
+struct asmSummary *asmSummaryCommaIn(char **pS, struct asmSummary *ret)
+/* Create a asmSummary out of a comma separated string. 
+ * This will fill in ret if non-null, otherwise will
+ * return a new asmSummary */
+{
+char *s = *pS;
+
+if (ret == NULL)
+    AllocVar(ret);
+ret->assemblyAccession = sqlStringComma(&s);
+ret->bioproject = sqlStringComma(&s);
+ret->biosample = sqlStringComma(&s);
+ret->wgsMaster = sqlStringComma(&s);
+ret->refseqCategory = sqlStringComma(&s);
+ret->taxId = needMem(sizeof(unsigned));
+*(ret->taxId) = sqlUnsignedComma(&s);
+ret->speciesTaxid = needMem(sizeof(unsigned));
+*(ret->speciesTaxid) = sqlUnsignedComma(&s);
+ret->organismName = sqlStringComma(&s);
+ret->infraspecificName = sqlStringComma(&s);
+ret->isolate = sqlStringComma(&s);
+ret->versionStatus = sqlStringComma(&s);
+ret->assemblyLevel = sqlStringComma(&s);
+ret->releaseType = sqlStringComma(&s);
+ret->genomeRep = sqlStringComma(&s);
+ret->seqRelDate = sqlStringComma(&s);
+ret->asmName = sqlStringComma(&s);
+ret->asmSubmitter = sqlStringComma(&s);
+ret->gbrsPairedAsm = sqlStringComma(&s);
+ret->pairedAsmComp = sqlStringComma(&s);
+ret->ftpPath = sqlStringComma(&s);
+ret->excludedFromRefseq = sqlStringComma(&s);
+ret->relationToTypeMaterial = sqlStringComma(&s);
+ret->assemblyType = sqlStringComma(&s);
+ret->phyloGroup = sqlStringComma(&s);
+ret->genomeSize = needMem(sizeof(*(ret->genomeSize)));
+*(ret->genomeSize) = sqlLongLongComma(&s);
+ret->genomeSizeUngapped = needMem(sizeof(*(ret->genomeSizeUngapped)));
+*(ret->genomeSizeUngapped) = sqlLongLongComma(&s);
+ret->gcPercent = needMem(sizeof(*(ret->gcPercent)));
+*(ret->gcPercent) = sqlFloatComma(&s);
+ret->repliconCount = needMem(sizeof(unsigned));
+*(ret->repliconCount) = sqlUnsignedComma(&s);
+ret->scaffoldCount = needMem(sizeof(unsigned));
+*(ret->scaffoldCount) = sqlUnsignedComma(&s);
+ret->contigCount = needMem(sizeof(unsigned));
+*(ret->contigCount) = sqlUnsignedComma(&s);
+ret->annotationProvider = sqlStringComma(&s);
+ret->annotationName = sqlStringComma(&s);
+ret->annotationDate = sqlStringComma(&s);
+ret->totalGeneCount = sqlStringComma(&s);
+ret->proteinCodingGeneCount = needMem(sizeof(unsigned));
+*(ret->proteinCodingGeneCount) = sqlUnsignedComma(&s);
+ret->nonCodingGeneCount = sqlStringComma(&s);
+ret->pubmedId = sqlStringComma(&s);
+*pS = s;
+return ret;
+}
+
+void asmSummaryFree(struct asmSummary **pEl)
+/* Free a single dynamically allocated asmSummary such as created
+ * with asmSummaryLoad(). */
+{
+struct asmSummary *el;
+
+if ((el = *pEl) == NULL) return;
+freeMem(el->assemblyAccession);
+freeMem(el->bioproject);
+freeMem(el->biosample);
+freeMem(el->wgsMaster);
+freeMem(el->refseqCategory);
+freeMem(el->organismName);
+freeMem(el->infraspecificName);
+freeMem(el->isolate);
+freeMem(el->versionStatus);
+freeMem(el->assemblyLevel);
+freeMem(el->releaseType);
+freeMem(el->genomeRep);
+freeMem(el->seqRelDate);
+freeMem(el->asmName);
+freeMem(el->asmSubmitter);
+freeMem(el->gbrsPairedAsm);
+freeMem(el->pairedAsmComp);
+freeMem(el->ftpPath);
+freeMem(el->excludedFromRefseq);
+freeMem(el->relationToTypeMaterial);
+freeMem(el->assemblyType);
+freeMem(el->phyloGroup);
+freeMem(el->annotationProvider);
+freeMem(el->annotationName);
+freeMem(el->annotationDate);
+freeMem(el->totalGeneCount);
+freeMem(el->nonCodingGeneCount);
+freeMem(el->pubmedId);
+freez(pEl);
+}
+
+void asmSummaryFreeList(struct asmSummary **pList)
+/* Free a list of dynamically allocated asmSummary's */
+{
+struct asmSummary *el, *next;
+
+for (el = *pList; el != NULL; el = next)
+    {
+    next = el->next;
+    asmSummaryFree(&el);
+    }
+*pList = NULL;
+}
+
+void asmSummaryOutput(struct asmSummary *el, FILE *f, char sep, char lastSep) 
+/* Print out asmSummary.  Separate fields with sep. Follow last field with lastSep. */
+{
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->assemblyAccession);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->bioproject);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->biosample);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->wgsMaster);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->refseqCategory);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+fprintf(f, "%u", *(el->taxId));
+fputc(sep,f);
+fprintf(f, "%u", *(el->speciesTaxid));
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->organismName);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->infraspecificName);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->isolate);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->versionStatus);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->assemblyLevel);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->releaseType);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->genomeRep);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->seqRelDate);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->asmName);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->asmSubmitter);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->gbrsPairedAsm);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->pairedAsmComp);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->ftpPath);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->excludedFromRefseq);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->relationToTypeMaterial);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->assemblyType);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->phyloGroup);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+fprintf(f, "%lld", *(el->genomeSize));
+fputc(sep,f);
+fprintf(f, "%lld", *(el->genomeSizeUngapped));
+fputc(sep,f);
+fprintf(f, "%g", *(el->gcPercent));
+fputc(sep,f);
+fprintf(f, "%u", *(el->repliconCount));
+fputc(sep,f);
+fprintf(f, "%u", *(el->scaffoldCount));
+fputc(sep,f);
+fprintf(f, "%u", *(el->contigCount));
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->annotationProvider);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->annotationName);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->annotationDate);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->totalGeneCount);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+fprintf(f, "%u", *(el->proteinCodingGeneCount));
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->nonCodingGeneCount);
+if (sep == ',') fputc('"',f);
+fputc(sep,f);
+if (sep == ',') fputc('"',f);
+fprintf(f, "%s", el->pubmedId);
+if (sep == ',') fputc('"',f);
+fputc(lastSep,f);
+}
+
+void asmSummaryJsonOutput(struct asmSummary *el, FILE *f) 
+/* Print out asmSummary in JSON format. */
+{
+fputc('{',f);
+fputc('"',f);
+fprintf(f,"assemblyAccession");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->assemblyAccession);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"bioproject");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->bioproject);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"biosample");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->biosample);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"wgsMaster");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->wgsMaster);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"refseqCategory");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->refseqCategory);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"taxId");
+fputc('"',f);
+fputc(':',f);
+fprintf(f, "%u", *(el->taxId));
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"speciesTaxid");
+fputc('"',f);
+fputc(':',f);
+fprintf(f, "%u", *(el->speciesTaxid));
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"organismName");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->organismName);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"infraspecificName");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->infraspecificName);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"isolate");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->isolate);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"versionStatus");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->versionStatus);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"assemblyLevel");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->assemblyLevel);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"releaseType");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->releaseType);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"genomeRep");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->genomeRep);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"seqRelDate");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->seqRelDate);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"asmName");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->asmName);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"asmSubmitter");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->asmSubmitter);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"gbrsPairedAsm");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->gbrsPairedAsm);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"pairedAsmComp");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->pairedAsmComp);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"ftpPath");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->ftpPath);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"excludedFromRefseq");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->excludedFromRefseq);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"relationToTypeMaterial");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->relationToTypeMaterial);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"assemblyType");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->assemblyType);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"phyloGroup");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->phyloGroup);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"genomeSize");
+fputc('"',f);
+fputc(':',f);
+fprintf(f, "%lld", *(el->genomeSize));
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"genomeSizeUngapped");
+fputc('"',f);
+fputc(':',f);
+fprintf(f, "%lld", *(el->genomeSizeUngapped));
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"gcPercent");
+fputc('"',f);
+fputc(':',f);
+fprintf(f, "%g", *(el->gcPercent));
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"repliconCount");
+fputc('"',f);
+fputc(':',f);
+fprintf(f, "%u", *(el->repliconCount));
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"scaffoldCount");
+fputc('"',f);
+fputc(':',f);
+fprintf(f, "%u", *(el->scaffoldCount));
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"contigCount");
+fputc('"',f);
+fputc(':',f);
+fprintf(f, "%u", *(el->contigCount));
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"annotationProvider");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->annotationProvider);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"annotationName");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->annotationName);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"annotationDate");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->annotationDate);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"totalGeneCount");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->totalGeneCount);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"proteinCodingGeneCount");
+fputc('"',f);
+fputc(':',f);
+fprintf(f, "%u", *(el->proteinCodingGeneCount));
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"nonCodingGeneCount");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->nonCodingGeneCount);
+fputc('"',f);
+fputc(',',f);
+fputc('"',f);
+fprintf(f,"pubmedId");
+fputc('"',f);
+fputc(':',f);
+fputc('"',f);
+fprintf(f, "%s", el->pubmedId);
+fputc('"',f);
+fputc('}',f);
+}
+
+/* -------------------------------- End autoSql Generated Code -------------------------------- */
+