src/hg/protein/kgPepMrna/kgPepMrna.c 1.5
1.5 2009/09/23 18:42:24 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/kgPepMrna/kgPepMrna.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/protein/kgPepMrna/kgPepMrna.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -b -B -U 1000000 -r1.4 -r1.5
--- src/hg/protein/kgPepMrna/kgPepMrna.c 3 Sep 2008 19:20:57 -0000 1.4
+++ src/hg/protein/kgPepMrna/kgPepMrna.c 23 Sep 2009 18:42:24 -0000 1.5
@@ -1,125 +1,125 @@
/* kgPepMrna generates new .tab files with unused mRNA and protein sequences from known genes db tables removed. */
#include "common.h"
#include "hCommon.h"
#include "hdb.h"
void usage()
/* Explain usage and exit. */
{
errAbort(
"kgPepMrna - generate new .tab files with unused mRNA and protein sequences from known genes db tables removed."
"usage:\n"
" kgPepMrna tempKgDb roDb YYMMDD\n"
" tempKGDb is the temp KG build database name\n"
" roDb is the read only genome database name\n"
" YYMMDD is the release date of the UniProt and proteins DBs\n"
"example: kgPepMrna kgHg17FTemp hg17 0405\n");
}
int main(int argc, char *argv[])
{
struct sqlConnection *conn, *conn2;
char query2[256];
struct sqlResult *sr2;
char **row2;
char cond_str[256];
char *kgID;
char *proteinID;
char *protAcc;
char *seq;
char *tempKgDb;
char *roDbName;
char *protDbDate;
char proteinsDbName[100];
char spDbName[100];
FILE *o1, *o2;
struct dnaSeq *kgSeq;
if (argc != 4) usage();
o1 = fopen("j.dat", "w");
o2 = fopen("jj.dat", "w");
tempKgDb = argv[1];
roDbName = argv[2];
protDbDate = argv[3];
sprintf(proteinsDbName, "proteins%s", protDbDate);
sprintf(spDbName, "sp%s", protDbDate);
conn= hAllocConn(roDbName);
conn2= hAllocConn(roDbName);
sprintf(query2,"select name, proteinID from %s.knownGene;", roDbName);
sr2 = sqlMustGetResult(conn2, query2);
row2 = sqlNextRow(sr2);
while (row2 != NULL)
{
kgID = row2[0];
proteinID = row2[1];
sprintf(cond_str, "val = '%s';", proteinID);
protAcc = sqlGetField(spDbName, "displayId", "acc", cond_str);
if (protAcc != NULL)
{
sprintf(cond_str, "acc = '%s';", protAcc);
seq = sqlGetField(spDbName, "protein", "val", cond_str);
}
else
{
sprintf(cond_str, "acc = '%s';", proteinID);
seq = sqlGetField(spDbName, "varProtein", "val", cond_str);
if (seq == NULL)
{
fprintf(stderr,
"%s does not have a AA sequence in either protein or varProtein table.\n", proteinID);
exit(1);
}
}
fprintf(o1, "%s\t%s\n", kgID, seq);fflush(o1);
sprintf(cond_str, "name = '%s';", kgID);
seq = sqlGetField(tempKgDb, "mrnaSeq", "seq", cond_str);
if (seq != NULL)
{
fprintf(o2, "%s\t%s\n", kgID, seq);fflush(o1);
}
else
{
kgSeq = hGenBankGetMrna(roDbName, kgID, NULL);
if (kgSeq != NULL)
{
fprintf(o2, "%s\t%s\n", kgID, kgSeq->dna);fflush(o1);
}
else
{
fprintf(stderr, "No mRNA seq for %s\n", kgID);fflush(stderr);
}
}
row2 = sqlNextRow(sr2);
}
sqlFreeResult(&sr2);
hFreeConn(&conn);
hFreeConn(&conn2);
fclose(o1);
fclose(o2);
-system("cat j.dat |sort|uniq > knownGenePep.tab");
-system("cat jj.dat|sort|uniq > knownGeneMrna.tab");
-system("rm j.dat");
-system("rm jj.dat");
+mustSystem("cat j.dat |sort|uniq > knownGenePep.tab");
+mustSystem("cat jj.dat|sort|uniq > knownGeneMrna.tab");
+mustSystem("rm j.dat");
+mustSystem("rm jj.dat");
return(0);
}