52fb15ea6cf361e9343022643c8a6184af71057e
pchan
Fri Apr 5 23:58:37 2013 -0700
change Pfam track detail page for HMMER scan
diff --git src/hg/hgc/lowelab.c src/hg/hgc/lowelab.c
index c13105e..bf56d7e 100644
--- src/hg/hgc/lowelab.c
+++ src/hg/hgc/lowelab.c
@@ -496,31 +496,31 @@
char pepTableName[64];
char extraTableName[64];
if (startsWith("annotRev", table))
{
sprintf(pepTableName, "%s%s", table, pepTable);
sprintf(extraTableName, "%s%s", table, extraTable);
}
else
{
strcpy(pepTableName, pepTable);
strcpy(extraTableName, extraTable);
}
-spConn = sqlConnect( pdb);
+spConn = sqlConnect(UNIPROT_DB_NAME);
genericHeader(tdb, item);
wordCount = chopLine(dupe, words);
if (wordCount > 1)
num = atoi(words[1]);
if (num < 3) num = 3;
if (extraTableName != NULL && hTableExists(database, extraTableName))
{
sprintf(query, "select * from %s where name = '%s'", extraTableName, item);
sr = sqlGetResult(conn, query);
while ((row = sqlNextRow(sr)) != NULL)
{
minGeneInfoStaticLoad(row, &ginfo);
gi = cloneString(ginfo.gi);
if (ginfo.gene != NULL && differentString(ginfo.gene,"none"))
printf("Gene: %s
\n", ginfo.gene);
@@ -721,43 +721,42 @@
printf("
\n");
/* Protein domain and structure information */
printf("
\n");
printf("Protein Domain and Structure Information |
\n");
/* interpro domains */
list = spExtDbAcc1List(spConn, spAcc, "InterPro");
if (list != NULL)
{
char query[256], **row, **row2;
struct sqlResult *sr, *sr2;
printf("InterPro Domains: ");
- printf("",
+ printf("",
spAcc);
printf("Graphical view of domain structure "); safef(query, sizeof(query), "select extAcc1,extAcc2 from extDbRef,extDb" " where extDbRef.acc = '%s'" " and extDb.val = 'Interpro' and extDb.id = extDbRef.extDb" , spAcc); sr = sqlGetResult(spConn, query); while ((row = sqlNextRow(sr)) != NULL) { char interPro[256]; - char *pdb = hPdbFromGdb(database); safef(interPro, 128, "%s.interProXref", pdb); if (hTableExists(database, interPro)) { safef(query, sizeof(query), "select description from %s where accession = '%s' and interProId = '%s'", interPro, spAcc, row[0]); sr2 = sqlGetResult(conn, query); if ((row2 = sqlNextRow(sr2)) != NULL) { printf("", row[0]); printf("%s - %s \n", row[0], row2[0]); } sqlFreeResult(&sr2); } else @@ -1999,32 +1998,31 @@ void doPfamHit(struct trackDb *tdb, char *hitName) /* Handle the Pfam hits track. */ { struct lowelabPfamHits *pfamHit; char query[512]; struct sqlConnection *conn = hAllocConn(database); struct sqlConnection *spConn = NULL; struct sqlResult *sr; char *dupe, *words[16]; char **row; int wordCount; int rowOffset; char *description; int start = cartInt(cart, "o"); - char *pdb = hPdbFromGdb(database); - spConn = sqlConnect(pdb); + spConn = sqlConnect(UNIPROT_DB_NAME); genericHeader(tdb,hitName); dupe = cloneString(tdb->type); wordCount = chopLine(dupe, words); rowOffset = hOffsetPastBin(database, seqName, tdb->table); 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); safef(query, sizeof(query), "select description from proteome.pfamDesc where pfamAC='%s'", pfamHit->pfamAC); @@ -2035,35 +2033,42 @@ "where extDbRef.acc = '%s' " "and extDbRef.extDb = extDb.id " "and extDb.val = '%s'" , pfamHit->pfamAC,pfamHit->pfamID); } description = sqlQuickString(spConn, query); if (description == NULL) description = cloneString("n/a"); printf("", pfamHit->pfamAC ); printf("%s - %s \n", pfamHit->pfamAC, description); freez(&description); + if (pfamHit->ident > 0) printf("Domain assignment based on %d%% identity BlastP hit to Pfam-A SwissProt Sequence: \n" "%s (%s, %d%% full-length alignment) " - " [Pfam Domain Structure] \n", + " [Pfam Domain Structure] \n", pfamHit->ident,pfamHit->swissAC,pfamHit->swissAC,pfamHit->protCoord,pfamHit->percLen,pfamHit->swissAC); - + else + { + printf("Gene: %s \n", pfamHit->pfamID); + printf("Domain assignment based on Pfam model search using HMMER 3.0 \n" + "E-value: %s (%s, %d%% full-length) \n", + pfamHit->swissAC,pfamHit->protCoord,pfamHit->percLen); + } printf(" Position: " "", hgTracksPathAndSettings(), database, pfamHit->chrom, pfamHit->chromStart + 1, pfamHit->chromEnd); printf("%s:%d-%d \n", pfamHit->chrom, pfamHit->chromStart + 1, pfamHit->chromEnd); printf("Strand: %s \n", pfamHit->strand); printf("Genomic size: %d nt \n", (pfamHit->chromEnd - pfamHit->chromStart)); if (pfamHit->next != NULL) printf(" \n"); } sqlFreeResult(&sr); hFreeConn(&conn); printTrackHtml(tdb); lowelabPfamHitsFree(&pfamHit); } |