Esempio n. 1
0
struct expData *expDataLoadTableLimit(struct sqlConnection *conn, char *table, int limitRows)
/* Same as expDataLoadTable, but limit to only loading limitRows # of rows. */
{
char query[256];
char **row;
int numLoaded = 0;
struct expData *exps = NULL;
struct sqlResult *sr = NULL;
if (limitRows < 0)
    return NULL;
sqlSafef(query, sizeof(query), "select name, expCount, expScores from %s", table);
sr = sqlGetResult(conn, query);
if (limitRows > 0)
    {
    while (((row = sqlNextRow(sr)) != NULL) && (numLoaded < limitRows))
	{
	struct expData *addMe = expDataLoad(row);
	slAddHead(&exps, addMe);
	numLoaded++;
	}
    }
else
    {
    while ((row = sqlNextRow(sr)) != NULL)
	{
	struct expData *addMe = expDataLoad(row);
	slAddHead(&exps, addMe);
	}
    }
slReverse(&exps);
sqlFreeResult(&sr);
return exps;
}
Esempio n. 2
0
struct expData *expDataLoadAllByChar(char *fileName, char chopper) 
/* Load all expData from a chopper separated file.
 * Dispose of this with expDataFreeList(). */
{
struct expData *list = NULL, *el;
struct lineFile *lf = lineFileOpen(fileName, TRUE);
char *row[3];

while (lineFileNextCharRow(lf, chopper, row, ArraySize(row)))
    {
    el = expDataLoad(row);
    slAddHead(&list, el);
    }
lineFileClose(&lf);
slReverse(&list);
return list;
}
Esempio n. 3
0
struct expData *expDataLoadAll(char *fileName) 
/* Load all expData from a whitespace-separated file.
 * Dispose of this with expDataFreeList(). */
{
struct expData *list = NULL, *el;
struct lineFile *lf = lineFileOpen(fileName, TRUE);
char *row[3];

while (lineFileRow(lf, row))
    {
    el = expDataLoad(row);
    slAddHead(&list, el);
    }
lineFileClose(&lf);
slReverse(&list);
return list;
}
Esempio n. 4
0
void hgRatioMicroarray(char *absTable, char *relTable)
/* hgRatioMicroarray - Create a ratio form of microarray. */
{
struct maMedSpec *clumpList = NULL;
struct sqlConnection *conn = sqlConnect(database);
struct sqlResult *sr;
char **row;
char query[512];
struct expData *ex;
struct expData *expList = NULL;
FILE *f = hgCreateTabFile(tabDir, relTable);
int rowCount = 0;

if (clump != NULL)
    clumpList = maMedSpecReadAll(clump);

sqlSafef(query, sizeof(query),
	"select * from %s", absTable);
sr = sqlGetResult(conn, query);
while ((row = sqlNextRow(sr)) != NULL)
    {
    ex = expDataLoad(row);
    slAddHead(&expList, ex);
    if (limit != 0 && rowCount >= limit)
        break;
    }
sqlFreeResult(&sr);
slReverse(&expList);
maExpDataClipMin(expList, minAbsVal, minAbsVal * 0.5);
maExpDataAddConstant(expList, c);
if (transpose)
    maExpDataDoLogRatioTranspose(expList, doAverage);
else
    maExpDataDoLogRatioGivenMedSpec(expList, clumpList, (doAverage) ? useMean : useMedian);
for (ex = expList; ex != NULL; ex = ex->next)
    expDataTabOut(ex, f);
if (doLoad)
    {
    expDataCreateTable(conn, relTable);
    hgLoadTabFile(conn, tabDir, relTable, &f);
    hgRemoveTabFile(tabDir, relTable);
    }
expDataFreeList(&expList);
sqlDisconnect(&conn);
}