static void ccdsMkTables(char *ccdsDb, char *hgDb, int ccdsBuildId, char *ccdsInfoOut, char *ccdsNotesOut, char *ccdsGeneOut) /* create tables for hg db from imported CCDS database */ { if (verboseLevel() >= 2) sqlMonitorEnable(JKSQL_TRACE); struct sqlConnection *ccdsConn = ccdsSqlConn(ccdsDb); struct genomeInfo *genome = getGenomeInfo(hgDb, ccdsBuildId); struct hash *infoCcds = hashNew(20); struct hash *geneCcds = hashNew(20); struct hash* ignoreTbl = buildIgnoreTbl(ccdsConn, genome); char ccdsInfoFile[PATH_LEN], ccdsInfoTbl[PATH_LEN]; ccdsGetTblFileNames(ccdsInfoOut, ccdsInfoTbl, ccdsInfoFile); createCcdsInfo(ccdsConn, ccdsInfoFile, genome, ignoreTbl, infoCcds); char ccdsNotesFile[PATH_LEN], ccdsNotesTbl[PATH_LEN]; ccdsGetTblFileNames(ccdsNotesOut, ccdsNotesTbl, ccdsNotesFile); createCcdsNotes(ccdsConn, ccdsNotesFile, genome, infoCcds); char ccdsGeneFile[PATH_LEN], ccdsGeneTbl[PATH_LEN]; ccdsGetTblFileNames(ccdsGeneOut, ccdsGeneTbl, ccdsGeneFile); createCcdsGene(ccdsConn, ccdsGeneFile, genome, ignoreTbl, geneCcds); sqlDisconnect(&ccdsConn); sqlMonitorDisable(); gotCcdsValidate(infoCcds, geneCcds); if (loadDb) loadTables(hgDb, ccdsInfoTbl, ccdsInfoFile, ccdsGeneTbl, ccdsGeneFile, ccdsNotesTbl, ccdsNotesFile); }
void handle_genome_info_query(int sock, msgpack::unpacker& unpack) { #ifdef DEBUG std::cout << "mdps.cpp: handling genome info query.\n"; #endif std::string name; read(unpack, name); const GenomeInfo& info = getGenomeInfo(name); msgpack::sbuffer sbuf; message_id_t msg_id = STORE_GENOME_INFO_RESPONSE_ID; msgpack::pack(&sbuf, msg_id); msgpack::pack(&sbuf, info); sendBuffer(sock, sbuf); }