void getText(struct kgXref *kg, struct hash *refSeqHash, struct sqlConnection *conn, struct sqlConnection *spConn, struct sqlConnection *goConn, FILE *f) /* Get loads of text and write it out. */ { char query[512]; struct hash *uniqHash = hashNew(0); char *spAcc = spFindAcc(spConn, kg->spID); subChar(kg->description, '\n', ' '); fprintf(f, "%s\t%s\t%s\t%s", kg->kgID, kg->geneSymbol, kg->kgID, kg->description); hashAdd(uniqHash, kg->geneSymbol, NULL); hashAdd(uniqHash, kg->kgID, NULL); addSimple(kg->kgID, "kgAlias", "kgID", "alias", conn, uniqHash, f); addSimple(kg->kgID, "kgProtAlias", "kgID", "alias", conn, uniqHash, f); if (refSeqHash != NULL) { char *s = hashFindVal(refSeqHash, kg->refseq); if (s == NULL && strchr(kg->refseq, '.') != NULL) { char *accOnly = cloneString(kg->refseq); chopSuffix(accOnly); s = hashFindVal(refSeqHash, accOnly); freeMem(accOnly); } if (s == NULL) s = ""; fprintf(f, "\t%s", s); } sqlSafef(query, sizeof(query), "select commentVal.val from comment,commentVal " "where comment.acc='%s' and comment.commentVal=commentVal.id" , spAcc); addText(query, spConn, f); sqlSafef(query, sizeof(query), "select term.name from goaPart,term " "where goaPart.dbObjectId='%s' " "and goaPart.goId=term.acc" , spAcc); addText(query, goConn, f); fprintf(f, "\n"); hashFree(&uniqHash); freeMem(spAcc); }
void Text::addSdata(const InternalEntity *entity, const ConstPtr<Origin> &origin) { addSimple(TextItem::sdata, Location(origin, 0)); chars_.append(entity->string().data(), entity->string().size()); }