src/hg/hgc/retroClick.c 1.14
1.14 2010/04/27 23:07:56 baertsch
fix bug with non human retros,
reference ucscRetroSeq instead of gbCdnaInfo for sequence data, to handle different versions
Index: src/hg/hgc/retroClick.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgc/retroClick.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -b -B -U 4 -r1.13 -r1.14
--- src/hg/hgc/retroClick.c 9 Sep 2009 17:02:02 -0000 1.13
+++ src/hg/hgc/retroClick.c 27 Apr 2010 23:07:56 -0000 1.14
@@ -89,9 +89,9 @@
/* get source gene info and version from gbCdnaInfo and save in mi */
{
char query[512], **row;
struct sqlResult *sr;
-char *defDb = hDefaultDb();
+char *defDb = database;
/* if id has been modified for multi-level ancestor mappings:
* NM_012345.1-1.1 -> db:NM_012345a.1.1
* then hack it back to the original accession. However, don't get version,
@@ -147,16 +147,18 @@
else if (startsWith("retro", tbl))
strcpy(mi->geneSet, "Mrna");
else
strcpy(mi->geneSet, "Retro");
-if (suffix != NULL)
+if (suffix != NULL && strlen(suffix) > 0)
mi->pg = sqlQueryObjs(conn, (sqlLoadFunc)retroMrnaInfoLoad, sqlQueryMust|sqlQuerySingle,
"select * from %s%sInfo%s where name='%s'", mi->tblPre, mi->geneSet, suffix,
mappedId);
else
+ {
mi->pg = sqlQueryObjs(conn, (sqlLoadFunc)retroMrnaInfoLoad, sqlQueryMust|sqlQuerySingle,
"select * from %s%sInfo where name='%s'", mi->tblPre, mi->geneSet,
mappedId);
+ }
parseSrcId(mi);
getGenbankInfo(conn, mi);
return mi;
}
@@ -796,21 +798,22 @@
psl = loadAlign(conn, mi, start);
if (startsWith("August",mi->geneSet))
safef(acc, sizeof(acc), "aug-%s.T1",mi->seqId);
else
- safef(acc, sizeof(acc), "%s.%d",mi->seqId, mi->gbCurVer);
+ safef(acc, sizeof(acc), "%s",mi->seqId);
// value is: extFile seqTbl extFileTbl
if ((nwords != (int)ArraySize(words)) || !sameString(words[0], "extFile"))
errAbort("invalid %s track setting: %s ", BASE_COLOR_USE_SEQUENCE, spec);
char *seqTable = words[1];
char *extTable = words[2];
rnaSeq = hDnaSeqGet(database, acc, seqTable, extTable);
if (rnaSeq == NULL)
{
+ safef(acc, sizeof(acc), "%s.%d",mi->seqId, mi->gbCurVer);
rnaSeq = hDnaSeqGet(database, acc, "seq", "extFile");
if (rnaSeq == NULL)
- errAbort("can't get mRNA sequence from %s prefix %s for %s from %s",
- database, mi->geneSet, acc, track);
+ errAbort("can't get mRNA sequence from %s prefix %s for %s from %s mappedId %s",
+ database, mi->geneSet, acc, track, mappedId);
}
sqlDisconnect(&defDbConn);
showSomeAlignment(psl, rnaSeq, gftDna, 0, rnaSeq->size, NULL, cds.start, cds.end);
pslFree(&psl);