src/hg/hgc/lowelab.c 1.50
1.50 2010/05/11 01:43:29 kent
Refactoring to split the trackDb.tableName field into separate track and table fields. Similarly track.mapName field goes to the same track and table fields.
Index: src/hg/hgc/lowelab.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgc/lowelab.c,v
retrieving revision 1.49
retrieving revision 1.50
diff -b -B -U 4 -r1.49 -r1.50
--- src/hg/hgc/lowelab.c 15 Apr 2010 00:01:13 -0000 1.49
+++ src/hg/hgc/lowelab.c 11 May 2010 01:43:29 -0000 1.50
@@ -470,9 +470,9 @@
char *temparray[160];
char *giwords[5];
char *spAcc = NULL;
struct slName *el, *list;
-char *table = tdb->tableName;
+char *table = tdb->table;
char *pdb = hPdbFromGdb(database);
struct genePred *gpList = NULL, *gp = NULL;
char tableName[64];
boolean hasBin;
@@ -952,9 +952,8 @@
struct bed *cb=NULL;
struct sargassoSeaXra *cbs=NULL, *cbs2, *list=NULL;
struct sqlConnection *conn = hAllocConn(database);
struct sqlResult *sr;
-char *track = tdb->tableName;
char query[512];
char *dupe, *words[16];
char **row;
char tempstring[255]="";
@@ -968,11 +967,11 @@
if (wordCount > 1)
num = atoi(words[1]);
if (num < 3) num = 3;
genericBedClick(conn, tdb, trnaName, start, num);
-rowOffset = hOffsetPastBin(database, seqName, track);
+rowOffset = hOffsetPastBin(database, seqName, tdb->table);
-sprintf(query, "select * from %s where name = '%s'", track, trnaName);
+sprintf(query, "select * from %s where name = '%s'", tdb->table, trnaName);
sr = sqlGetResult(conn, query);
while ((row = sqlNextRow(sr)) != NULL)
cb=bedLoadN(row+1, 6);
sequenceLength=(cb->chromEnd - cb->chromStart);
@@ -1161,9 +1160,8 @@
void doTrnaGenes(struct trackDb *tdb, char *trnaName)
{
-char *track = tdb->tableName;
struct tRNAs *trna;
char query[512];
struct sqlConnection *conn = hAllocConn(database);
struct sqlResult *sr;
@@ -1177,10 +1175,10 @@
genericHeader(tdb,trnaName);
dupe = cloneString(tdb->type);
wordCount = chopLine(dupe, words);
-rowOffset = hOffsetPastBin(database, seqName, track);
-sprintf(query, "select * from %s where chrom = '%s' and name = '%s'", track, chrom, trnaName);
+rowOffset = hOffsetPastBin(database, seqName, tdb->table);
+sprintf(query, "select * from %s where chrom = '%s' and name = '%s'", tdb->table, chrom, trnaName);
sr = sqlGetResult(conn, query);
printf("<TABLE>\n");
while ((row = sqlNextRow(sr)) != NULL)
{
@@ -1230,9 +1228,8 @@
}
void doSnornaGenes(struct trackDb *tdb, char *snornaName)
{
-char *track = tdb->tableName;
struct snoRNAs *snorna;
char query[512];
struct sqlConnection *conn = hAllocConn(database);
struct sqlResult *sr;
@@ -1244,10 +1241,10 @@
genericHeader(tdb,snornaName);
dupe = cloneString(tdb->type);
wordCount = chopLine(dupe, words);
-rowOffset = hOffsetPastBin(database, seqName, track);
-sprintf(query, "select * from %s where name = '%s'", track, snornaName);
+rowOffset = hOffsetPastBin(database, seqName, tdb->table);
+sprintf(query, "select * from %s where name = '%s'", tdb->table, snornaName);
sr = sqlGetResult(conn, query);
while ((row = sqlNextRow(sr)) != NULL)
{
snorna = snoRNAsLoad(row+rowOffset);
@@ -1276,9 +1273,8 @@
}
void doGbRnaGenes(struct trackDb *tdb, char *gbRnaName)
{
-char *track = tdb->tableName;
struct gbRNAs *gbRna;
char query[512];
struct sqlConnection *conn = hAllocConn(database);
struct sqlResult *sr;
@@ -1291,10 +1287,10 @@
dupe = cloneString(tdb->type);
wordCount = chopLine(dupe, words);
-rowOffset = hOffsetPastBin(database, seqName, track);
-sprintf(query, "select * from %s where name = '%s'", track, gbRnaName);
+rowOffset = hOffsetPastBin(database, seqName, tdb->table);
+sprintf(query, "select * from %s where name = '%s'", tdb->table, gbRnaName);
sr = sqlGetResult(conn, query);
while ((row = sqlNextRow(sr)) != NULL)
@@ -1325,19 +1321,18 @@
}
void doEasyGenes(struct trackDb *tdb, char *egName)
{
-char *track = tdb->tableName;
struct easyGene *egList = NULL, *eg;
char query[512];
struct sqlConnection *conn = hAllocConn(database);
struct sqlResult *sr;
char **row;
int rowOffset;
genericHeader(tdb,egName);
-rowOffset = hOffsetPastBin(database, seqName, track);
-sprintf(query, "select * from %s where name = '%s'", track, egName);
+rowOffset = hOffsetPastBin(database, seqName, tdb->table);
+sprintf(query, "select * from %s where name = '%s'", tdb->table, egName);
sr = sqlGetResult(conn, query);
while ((row = sqlNextRow(sr)) != NULL)
slAddTail(&egList,easyGeneLoad(row+rowOffset));
slReverse(&egList);
@@ -1376,9 +1371,8 @@
struct codeBlast *cb=NULL;
struct codeBlastScore *cbs=NULL, *cbs2, *list=NULL;
struct sqlConnection *conn = hAllocConn(database);
struct sqlResult *sr;
-char *track = tdb->tableName;
char query[512];
char *dupe, *words[16];
char **row;
char tempstring[255]="";
@@ -1392,11 +1386,11 @@
if (wordCount > 1)
num = atoi(words[1]);
if (num < 3) num = 3;
genericBedClick(conn, tdb, trnaName, start, num);
-rowOffset = hOffsetPastBin(database, seqName, track);
+rowOffset = hOffsetPastBin(database, seqName, tdb->table);
-sprintf(query, "select * from %s where name = '%s'", track, trnaName);
+sprintf(query, "select * from %s where name = '%s'", tdb->table, trnaName);
sr = sqlGetResult(conn, query);
while ((row = sqlNextRow(sr)) != NULL)
{
cb=codeBlastLoad(row);
@@ -1788,9 +1782,8 @@
/*void doTigrOperons(struct trackDb *tdb, char *opName)*/
/* track handler for the TIGR operon predictions */
/*{
-char *track = tdb->tableName;
struct tigrOperon *op;
char query[512];
struct sqlConnection *conn = hAllocConn(database);
struct sqlResult *sr;
@@ -1805,9 +1798,9 @@
if (wordCount > 1)
num = atoi(words[1]);
if (num < 3) num = 3;
genericBedClick(conn, tdb, opName, start, num);
-sprintf(query, "select * from %sInfo where name = '%s'", track, opName);
+sprintf(query, "select * from %sInfo where name = '%s'", tdb->table, opName);
sr = sqlGetResult(conn, query);*/
/* Make the operon table like on the TIGR web page. */
/*if ((row = sqlNextRow(sr)) != NULL)
{
@@ -1853,9 +1846,8 @@
void doTigrCmrGene(struct trackDb *tdb, char *tigrName)
/* Handle the TIRG CMR gene track. */
{
- char *track = tdb->tableName;
struct tigrCmrGene *tigr;
char query[512];
struct sqlConnection *conn = hAllocConn(database);
struct sqlResult *sr;
@@ -1868,10 +1860,10 @@
genericHeader(tdb,tigrName);
dupe = cloneString(tdb->type);
wordCount = chopLine(dupe, words);
- rowOffset = hOffsetPastBin(database, seqName, track);
- sprintf(query, "select * from %s where name = '%s'", track, tigrName);
+ rowOffset = hOffsetPastBin(database, seqName, tdb->table);
+ sprintf(query, "select * from %s where name = '%s'", tdb->table, tigrName);
sr = sqlGetResult(conn, query);
while ((row = sqlNextRow(sr)) != NULL)
{
tigr = tigrCmrGeneLoad(row);
@@ -1919,9 +1911,8 @@
void doJgiGene(struct trackDb *tdb, char *jgiName)
/* Handle the JGI gene track. */
{
- char *track = tdb->tableName;
struct jgiGene *jgi;
char query[512];
struct sqlConnection *conn = hAllocConn(database);
struct sqlResult *sr;
@@ -1933,10 +1924,10 @@
genericHeader(tdb,jgiName);
dupe = cloneString(tdb->type);
wordCount = chopLine(dupe, words);
- rowOffset = hOffsetPastBin(database, seqName, track);
- sprintf(query, "select * from %s where name = '%s'", track, jgiName);
+ rowOffset = hOffsetPastBin(database, seqName, tdb->table);
+ sprintf(query, "select * from %s where name = '%s'", tdb->table, jgiName);
sr = sqlGetResult(conn, query);
while ((row = sqlNextRow(sr)) != NULL)
{
jgi = jgiGeneLoad(row+rowOffset);
@@ -1966,9 +1957,8 @@
void doPfamHit(struct trackDb *tdb, char *hitName)
/* Handle the Pfam hits track. */
{
- char *track = tdb->tableName;
struct lowelabPfamHits *pfamHit;
char query[512];
struct sqlConnection *conn = hAllocConn(database);
struct sqlConnection *spConn = NULL;
@@ -1985,11 +1975,11 @@
genericHeader(tdb,hitName);
dupe = cloneString(tdb->type);
wordCount = chopLine(dupe, words);
- rowOffset = hOffsetPastBin(database, seqName, track);
+ rowOffset = hOffsetPastBin(database, seqName, tdb->table);
- sprintf(query, "select * from %s where name = '%s' and chrom = '%s' and chromStart = %d", track, hitName,seqName,start);
+ sprintf(query, "select * from %s where name = '%s' and chrom = '%s' and chromStart = %d", tdb->table, hitName,seqName,start);
sr = sqlGetResult(conn, query);
while ((row = sqlNextRow(sr)) != NULL)
{
pfamHit = lowelabPfamHitsLoad(row+rowOffset);
@@ -2037,9 +2027,8 @@
void doTigrOperons(struct trackDb *tdb, char *tigrOperonName)
/* Handle the TIGR operons track. */
{
- char *track = tdb->tableName;
struct bed *tigrOperon;
struct lowelabTIGROperonScore *tigrOperonScore;
char query[512];
struct sqlConnection *conn = hAllocConn(database);
@@ -2057,10 +2046,10 @@
if (wordCount > 1)
bedSize = atoi(words[1]);
if (bedSize < 3) bedSize = 3;
- rowOffset = hOffsetPastBin(database, seqName, track);
- sprintf(query, "select * from %s where name = '%s'", track, tigrOperonName);
+ rowOffset = hOffsetPastBin(database, seqName, tdb->table);
+ sprintf(query, "select * from %s where name = '%s'", tdb->table, tigrOperonName);
sr = sqlGetResult(conn, query);
while ((row = sqlNextRow(sr)) != NULL)
{
tigrOperon = bedLoadN(row+rowOffset, bedSize);
@@ -2130,9 +2119,8 @@
void doArkinOperons(struct trackDb *tdb, char *arkinOperonName)
/* Handle the Arkin operons track. */
{
- char *track = tdb->tableName;
struct bed *arkinOperon;
struct lowelabArkinOperonScore *arkinOperonScore;
char query[512];
struct sqlConnection *conn = hAllocConn(database);
@@ -2150,10 +2138,10 @@
if (wordCount > 1)
bedSize = atoi(words[1]);
if (bedSize < 3) bedSize = 3;
- rowOffset = hOffsetPastBin(database, seqName, track);
- sprintf(query, "select * from %s where name = '%s'", track, arkinOperonName);
+ rowOffset = hOffsetPastBin(database, seqName, tdb->table);
+ sprintf(query, "select * from %s where name = '%s'", tdb->table, arkinOperonName);
sr = sqlGetResult(conn, query);
while ((row = sqlNextRow(sr)) != NULL)
{
arkinOperon = bedLoadN(row+rowOffset, bedSize);
@@ -2224,9 +2212,8 @@
struct bed * getBlastpTrackRecord(struct sqlConnection *conn, struct trackDb *tdb, char *targetName)
/* Get blastp track record clicked by user*/
{
- char *track = tdb->tableName;
struct bed *blastpTrack = NULL;
char *dupe, *words[16];
int wordCount;
int bedSize = 0;
@@ -2244,11 +2231,11 @@
if (wordCount > 1)
bedSize = atoi(words[1]);
if (bedSize < 3) bedSize = 3;
- rowOffset = hOffsetPastBin(database, seqName, track);
+ rowOffset = hOffsetPastBin(database, seqName, tdb->table);
sprintf(query, "select distinct * from %s where name = '%s' and chrom = '%s' and chromStart = %d and chromEnd = %d",
- track, targetName, chrom, start, end);
+ tdb->table, targetName, chrom, start, end);
sr = sqlGetResult(conn, query);
if ((row = sqlNextRow(sr)) != NULL)
blastpTrack = bedLoadN(row+rowOffset, bedSize);
@@ -3074,9 +3061,8 @@
void doPrimers(struct trackDb *tdb, char *primerName)
/* Handle the array primer and GOLD primer tracks. */
{
- char *track = tdb->tableName;
struct bed *primer;
struct dnaSeq *sequence;
char query[512];
struct sqlConnection *conn = hAllocConn(database);
@@ -3099,10 +3085,10 @@
if (wordCount > 1)
bedSize = atoi(words[1]);
if (bedSize < 3) bedSize = 3;
- rowOffset = hOffsetPastBin(database, seqName, track);
- sprintf(query, "select * from %s where name = '%s'", track, primerName);
+ rowOffset = hOffsetPastBin(database, seqName, tdb->table);
+ sprintf(query, "select * from %s where name = '%s'", tdb->table, primerName);
sr = sqlGetResult(conn, query);
while ((row = sqlNextRow(sr)) != NULL)
{
primer = bedLoadN(row+rowOffset, bedSize);
@@ -3343,24 +3329,24 @@
}
if(strlen(rnaHyb->JGITarget) > 0)
{
- saveTableName = tdb->tableName;
- tdb->tableName = jgiTable;
+ saveTableName = tdb->table;
+ tdb->table = jgiTable;
printf("<b>Additional information for target<b><br/>");
printf("<hr/>");
doJgiGene(tdb, rnaHyb->JGITarget);
- tdb->tableName = saveTableName;
+ tdb->table = saveTableName;
}
if(strlen(rnaHyb->trnaTarget) > 0)
{
- saveTableName = tdb->tableName;
- tdb->tableName = tRNATable;
+ saveTableName = tdb->table;
+ tdb->table = tRNATable;
printf("<b>Additional information for target<b><br/>");
printf("<hr/>");
doTrnaGenes(tdb, rnaHyb->trnaTarget);
- tdb->tableName = saveTableName;
+ tdb->table = saveTableName;
}
freeMem(rnaHyb);
@@ -3373,9 +3359,8 @@
}
void doarCOGs(struct trackDb *tdb, char *itemName)
{
- char *track = tdb->tableName;
char query[512];
struct sqlConnection *conn = hAllocConn(database);
struct sqlResult *sr;
char *dupe, *words[16];
@@ -3405,11 +3390,11 @@
genericHeader(tdb,itemName);
dupe = cloneString(tdb->type);
wordCount = chopLine(dupe, words);
- rowOffset = hOffsetPastBin(database,seqName, track);
+ rowOffset = hOffsetPastBin(database,seqName, tdb->table);
- sprintf(query, "select * from %s where name = '%s' and chrom = '%s' and chromStart = %d and chromEnd = '%d';", track, itemName,seqName,start, end);
+ sprintf(query, "select * from %s where name = '%s' and chrom = '%s' and chromStart = %d and chromEnd = '%d';", tdb->table, itemName,seqName,start, end);
sr = sqlGetResult(conn, query);
while ((row = sqlNextRow(sr)) != NULL)
{
infoload = arCOGsLoad(row+rowOffset);
@@ -3431,11 +3416,11 @@
hFreeConn(&conn);
arCOGsFree(&infoload);
printTrackHtml(tdb);
}
+
void doloweOrthologs(struct trackDb *tdb, char *itemName)
{
- char *track = tdb->tableName;
char query[512];
struct sqlConnection *conn = hAllocConn(database);
struct sqlResult *sr;
char *dupe, *words[16];
@@ -3456,11 +3441,11 @@
genericHeader(tdb,itemName);
dupe = cloneString(tdb->type);
wordCount = chopLine(dupe, words);
- rowOffset = hOffsetPastBin(database,seqName, track);
+ rowOffset = hOffsetPastBin(database,seqName, tdb->table);
- sprintf(query, "select * from %s where name = '%s' and chrom = '%s' and chromStart = %d and chromEnd = '%d';", track, itemName,seqName,start, end);
+ sprintf(query, "select * from %s where name = '%s' and chrom = '%s' and chromStart = %d and chromEnd = '%d';", tdb->table, itemName,seqName,start, end);
sr = sqlGetResult(conn, query);
while ((row = sqlNextRow(sr)) != NULL)
{
infoload = bedLoadN(row+rowOffset, bedSize);
@@ -3479,11 +3464,11 @@
sqlFreeResult(&sr);
hFreeConn(&conn);
printTrackHtml(tdb);
}
+
void doCddInfo(struct trackDb *tdb, char *itemName)
{
- char *track = tdb->tableName;
char query[512];
struct sqlConnection *conn = hAllocConn(database);
struct sqlResult *sr;
char *dupe, *words[16];
@@ -3518,11 +3503,11 @@
genericHeader(tdb,itemName);
dupe = cloneString(tdb->type);
wordCount = chopLine(dupe, words);
- rowOffset = hOffsetPastBin(database,seqName, track);
+ rowOffset = hOffsetPastBin(database,seqName, tdb->table);
- sprintf(query, "select * from %s where name = '%s' and chrom = '%s' and chromStart = %d and chromEnd = '%d';", track, itemName,seqName,start, end);
+ sprintf(query, "select * from %s where name = '%s' and chrom = '%s' and chromStart = %d and chromEnd = '%d';", tdb->table, itemName,seqName,start, end);
sr = sqlGetResult(conn, query);
while ((row = sqlNextRow(sr)) != NULL)
{
infoload = cddInfoLoad(row+rowOffset);
@@ -3547,11 +3532,11 @@
hFreeConn(&conn);
cddInfoFree(&infoload);
printTrackHtml(tdb);
}
+
void domegablastInfo(struct trackDb *tdb, char *itemName)
{
- char *track = tdb->tableName;
char query[512];
struct sqlConnection *conn = hAllocConn(database);
struct sqlResult *sr;
char *dupe, *words[16];
@@ -3566,11 +3551,11 @@
genericHeader(tdb,itemName);
dupe = cloneString(tdb->type);
wordCount = chopLine(dupe, words);
- rowOffset = hOffsetPastBin(database,seqName, track);
+ rowOffset = hOffsetPastBin(database,seqName, tdb->table);
- sprintf(query, "select * from %s where name = '%s' and chrom = '%s' and chromStart = %d and chromEnd = '%d';", track, itemName,seqName,start, end);
+ sprintf(query, "select * from %s where name = '%s' and chrom = '%s' and chromStart = %d and chromEnd = '%d';", tdb->table, itemName,seqName,start, end);
sr = sqlGetResult(conn, query);
while ((row = sqlNextRow(sr)) != NULL)
{
infoload = megablastInfoLoad(row+rowOffset);
@@ -3602,11 +3587,11 @@
hFreeConn(&conn);
megablastInfoFree(&infoload);
printTrackHtml(tdb);
}
+
void doAlignInfo(struct trackDb *tdb, char *itemName)
{
- char *track = tdb->tableName;
char query[512];
struct sqlConnection *conn = hAllocConn(database);
struct sqlResult *sr;
char *dupe, *words[16];
@@ -3627,11 +3612,11 @@
genericHeader(tdb,itemName);
dupe = cloneString(tdb->type);
wordCount = chopLine(dupe, words);
- rowOffset = hOffsetPastBin(database, seqName, track);
+ rowOffset = hOffsetPastBin(database, seqName, tdb->table);
- sprintf(query, "select * from %s where name = '%s' and chrom = '%s' and chromStart = %d;", track, itemName,seqName,start);
+ sprintf(query, "select * from %s where name = '%s' and chrom = '%s' and chromStart = %d;", tdb->table, itemName,seqName,start);
sr = sqlGetResult(conn, query);
while ((row = sqlNextRow(sr)) != NULL)
{
infoload = alignInfoLoad(row+rowOffset);
@@ -3660,9 +3645,8 @@
void doCRISPRs(struct trackDb *tdb, char *crisprName)
/* Handle the CRISPR array track. */
{
- char *track = tdb->tableName;
struct bed *crispr;
struct dnaSeq *sequence;
char tempSeq[512];
char query[512];
@@ -3682,10 +3666,10 @@
if (wordCount > 1)
bedSize = atoi(words[1]);
if (bedSize < 3) bedSize = 3;
- rowOffset = hOffsetPastBin(database, seqName, track);
- safef(query, ArraySize(query), "select * from %s where name = '%s'", track, crisprName);
+ rowOffset = hOffsetPastBin(database, seqName, tdb->table);
+ safef(query, ArraySize(query), "select * from %s where name = '%s'", tdb->table, crisprName);
sr = sqlGetResult(conn, query);
while ((row = sqlNextRow(sr)) != NULL)
{
crispr = bedLoadN(row+rowOffset, bedSize);