void readTableTask(char *db, char *table) /* Implements the readTable task */ { FILE *outFh = NULL; struct sqlConnection *conn = sqlConnect(db); struct pslReader* pr = pslReaderQuery(conn, table, gWhere); struct psl* psl; int numRows = 0; if (gOutput != NULL) outFh = mustOpen(gOutput, "w"); while ((numRows < gMaxRows) && ((psl = pslReaderNext(pr)) != NULL)) { if (outFh != NULL) pslTabOut(psl, outFh); pslFree(&psl); numRows++; } carefulClose(&outFh); pslReaderFree(&pr); sqlDisconnect(&conn); checkNumRows(table, numRows); }
struct psl *pslReaderLoadFile(char* pslFile, char* chrom) /* Function that encapsulates reading a psl file */ { struct pslReader *pr = pslReaderFile(pslFile, chrom); struct psl *pslList = pslReaderAll(pr); pslReaderFree(&pr); return pslList; }
struct psl *pslReaderLoadQuery(struct sqlConnection* conn, char* table, char* where) /* Function that encapsulates doing a query and loading the results */ { struct pslReader *pr = pslReaderQuery(conn, table, where); struct psl *pslList = pslReaderAll(pr); pslReaderFree(&pr); return pslList; }
struct psl *pslReaderLoadRangeQuery(struct sqlConnection* conn, char* table, char* chrom, int start, int end, char* extraWhere) /* Function that encapsulates doing a range query and loading the results */ { struct pslReader *pr = pslReaderRangeQuery(conn, table, chrom, start, end, extraWhere); struct psl *pslList = pslReaderAll(pr); pslReaderFree(&pr); return pslList; }
static void pslLiftSubrangeBlat(char *inPsl, char *outPsl, char *qSizesFile, char *tSizesFile) /* pslLiftSubrangeBlat - lift PSLs from blat subrange alignments. */ { struct hash *qSizes = (qSizesFile != NULL) ? loadSizes(qSizesFile) : NULL; struct hash *tSizes = (tSizesFile != NULL) ? loadSizes(tSizesFile) : NULL; struct pslReader *inRd = pslReaderFile(inPsl, NULL); FILE *outFh = mustOpen(outPsl, "w"); struct psl *psl; while ((psl = pslReaderNext(inRd)) != NULL) { liftIt(psl, qSizes, tSizes); pslTabOut(psl, outFh); pslFree(&psl); } carefulClose(&outFh); pslReaderFree(&inRd); }
void readFile(char *pslFile) /* Implements the readFile task */ { FILE *outFh = NULL; struct pslReader* pr = pslReaderFile(pslFile, gChrom); struct psl* psl; int numRows = 0; if (gOutput != NULL) outFh = mustOpen(gOutput, "w"); while ((numRows < gMaxRows) && ((psl = pslReaderNext(pr)) != NULL)) { if (outFh != NULL) pslTabOut(psl, outFh); pslFree(&psl); numRows++; } carefulClose(&outFh); pslReaderFree(&pr); checkNumRows(pslFile, numRows); }