static void getAligns(struct sqlConnection *conn, struct hash *refSeqVerInfoTbl, char *outFile) /* get request alignments from database */ { struct psl *psls = pslReaderLoadQuery(conn, "refSeqAli", NULL); slSort(psls, pslCmpQuery); FILE *fh = mustOpen(outFile, "w"); struct psl *psl; for (psl = psls; psl != NULL; psl = psl->next) processPsl(fh, refSeqVerInfoTbl, psl); carefulClose(&fh); pslFreeList(&psls); }
static void processPslFile(struct sqlConnection *conn, struct gbSelect* select, struct gbStatusTbl* statusTbl, char* pslPath) /* Parse a psl file looking for accessions to add to the database. */ { char* row[PSL_NUM_COLS]; struct lineFile *pslLf = gzLineFileOpen(pslPath); while (lineFileNextRow(pslLf, row, PSL_NUM_COLS)) { struct psl* psl = pslLoad(row); processPsl(conn, select, statusTbl, psl, pslLf); pslFree(&psl); } gzLineFileClose(&pslLf); }
static void getAligns(struct sqlConnection *conn, struct hash *refSeqVerInfoTbl, char *outFile) /* get request alignments from database */ { int off = hOffsetPastBin(sqlGetDatabase(conn), NULL, "refSeqAli"); struct sqlResult *sr = sqlGetResult(conn, "SELECT * FROM refSeqAli"); FILE *fh = mustOpen(outFile, "w"); char **row; while ((row = sqlNextRow(sr)) != NULL) { struct psl *psl = pslLoad(row+off); processPsl(fh, refSeqVerInfoTbl, psl); pslFree(&psl); } carefulClose(&fh); sqlFreeResult(&sr); }