src/hg/protein/kgAliasM/kgAliasM.c 1.9
1.9 2009/09/23 18:42:23 angie
Fixed compiler warnings from gcc 4.3.3, mostly about system calls whose return values weren't checked and non-literal format strings with no args.
Index: src/hg/protein/kgAliasM/kgAliasM.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/protein/kgAliasM/kgAliasM.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -b -B -U 1000000 -r1.8 -r1.9
--- src/hg/protein/kgAliasM/kgAliasM.c 3 Sep 2008 19:20:56 -0000 1.8
+++ src/hg/protein/kgAliasM/kgAliasM.c 23 Sep 2009 18:42:23 -0000 1.9
@@ -1,148 +1,148 @@
/* kgAliasM - generate alias list table (the mRNA part, there is another protein part) */
#include "common.h"
#include "hCommon.h"
#include "hdb.h"
void usage()
/* Explain usage and exit. */
{
errAbort(
"kgAliasM - create gene alias (mRNA part) .tab files "
"usage:\n"
" kgAliasM xxxx yyyy\n"
" xxxx is genome database name\n"
" yyyy is protein database name \n"
"example: kgAliasM hg15 proteins0405\n");
}
int main(int argc, char *argv[])
{
struct sqlConnection *conn, *conn2;
char query2[256];
struct sqlResult *sr2;
char **row2;
char *chp0, *chp;
char *kgID;
FILE *o1, *o2;
char cond_str[256];
char *database;
char *proteinDB;
boolean doingAlias, bothDone;
char *answer;
char *symbol, *alias, *aliases;
if (argc != 3) usage();
database = cloneString(argv[1]);
proteinDB = cloneString(argv[2]);
conn = hAllocConn(database);
conn2= hAllocConn(database);
o1 = fopen("j.dat", "w");
o2 = fopen("jj.dat", "w");
doingAlias = TRUE;
bothDone = FALSE;
while (!bothDone)
{
if (doingAlias)
{
sprintf(query2,"select symbol, aliases from %s.hgnc;", proteinDB);
}
else
{
sprintf(query2,"select symbol, prvSymbols from %s.hgnc;", proteinDB);
}
sr2 = sqlMustGetResult(conn2, query2);
row2 = sqlNextRow(sr2);
while (row2 != NULL)
{
symbol = row2[0];
aliases = row2[1];
if ( (symbol != NULL) && (strlen(symbol) != 0) )
{
sprintf(cond_str, "geneSymbol = '%s'", symbol);
answer = sqlGetField(database, "kgXref", "kgID", cond_str);
if (answer != NULL)
{
kgID = strdup(answer);
fprintf(o2, "%s\t%s\n", kgID, symbol);
}
if ( (aliases != NULL) && (strlen(aliases) != 0) && (answer != NULL) )
{
kgID = strdup(answer);
chp0 = aliases;
while (chp0 != NULL)
{
while (*chp0 == ' ') chp0++;
chp = strstr(chp0, ",");
if (chp == NULL)
{
alias = strdup(chp0);
/* get rid of quote character in some aliases */
if (*alias == '"')
{
*(alias + strlen(alias) - 1) = '\0';
alias++;
printf("%s\n", alias);fflush(stdout);
}
chp0 = NULL;
}
else
{
*chp = '\0';
/* get rid of quote character in some aliases */
if (*chp0 == '"')
{
*(chp0 + strlen(chp0) - 1) = '\0';
chp0++;
printf("%s\n", chp0);fflush(stdout);
}
alias = strdup(chp0);
chp0 = chp+1;
}
if (kgID != NULL)
{
fprintf(o1, "%s\t%s\t%s\n", kgID, symbol, alias);
fprintf(o2, "%s\t%s\n", kgID, alias);
}
}
}
}
row2 = sqlNextRow(sr2);
}
sqlFreeResult(&sr2);
if (doingAlias)
{
doingAlias = FALSE;
}
else
{
bothDone = TRUE;
}
}
fclose(o1);
fclose(o2);
/* geneAlias.tab has 3 columns, the 2nd is HUGO.symbol
and 3rd contains aliases and withdraws */
-system("cat j.dat|sort|uniq >geneAlias.tab");
+mustSystem("cat j.dat|sort|uniq >geneAlias.tab");
/* kgAliasM.tab has 2 columns, all entries from HUGO.symbol, HUGO.aliass,
and HUGO.withdraws are listed in the 2nd column. */
-system("cat jj.dat|sort|uniq >kgAliasM.tab");
-system("rm j.dat");
-system("rm jj.dat");
+mustSystem("cat jj.dat|sort|uniq >kgAliasM.tab");
+mustSystem("rm j.dat");
+mustSystem("rm jj.dat");
return(0);
}