032ef09c0d89b90b4967379956b2f8d9446575b9 ceisenhart Thu May 11 11:05:18 2017 -0700 Cosmic tracks scripts, code changes and documentation, refs #14461 and #18919 diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c index 4d7f9bb..6e5de89 100644 --- src/hg/hgc/hgc.c +++ src/hg/hgc/hgc.c @@ -9866,219 +9866,30 @@ printPosOnChrom(chrom, atoi(chromStart), atoi(chromEnd), NULL, FALSE, itemName); } sqlFreeResult(&sr); hFreeConn(&conn); } } void doGad(struct trackDb *tdb, char *item, char *itemForUrl) /* Put up GAD track info. */ { genericHeader(tdb, item); printGadDetails(tdb, item, FALSE); printTrackHtml(tdb); } -void printCosmicDetails(struct trackDb *tdb, char *itemName) -/* Print details of a COSMIC entry. */ -{ -struct sqlConnection *conn = hAllocConn(database); -struct sqlConnection *conn2 = hAllocConn(database); -char query[1024]; -char query2[1024]; -struct sqlResult *sr; -struct sqlResult *sr2; -char **row; -char **row2; - -char *chp; -char indent1[40] = {"    "}; -char indent2[40] = {""}; - -char *gene_name, *accession_number; -// char $source, *cosmic_mutation_id; unused variable -char *mut_description, *mut_syntax_cds, *mut_syntax_aa; -char *chromosome, *grch37_start, *grch37_stop, *mut_nt; -char *mut_aa, *tumour_site, *mutated_samples, *examined_samples, *mut_freq; -char *url = tdb->url; - -char *chrom, *chromStart, *chromEnd; -chrom = cartOptionalString(cart, "c"); -chromStart = cartOptionalString(cart, "o"); -chromEnd = cartOptionalString(cart, "t"); - -sqlSafef(query, sizeof(query), - "select source,cosmic_mutation_id,gene_name,accession_number,mut_description,mut_syntax_cds,mut_syntax_aa," - "chromosome,grch37_start,grch37_stop,mut_nt,mut_aa,tumour_site,mutated_samples,examined_samples,mut_freq" - " from cosmicRaw where cosmic_mutation_id='%s'", - itemName); - -sr = sqlMustGetResult(conn, query); -row = sqlNextRow(sr); -if (row != NULL) - { - int ii; - boolean multipleTumorSites; - char *indentString; - - ii=0; - - ii++; // source = row[ii];ii++; unused variable - ii++; // cosmic_mutation_id = row[ii];ii++; unused variable - gene_name = row[ii];ii++; - accession_number = row[ii];ii++; - mut_description = row[ii];ii++; - mut_syntax_cds = row[ii];ii++; - mut_syntax_aa = row[ii];ii++; - - chromosome = row[ii];ii++; - grch37_start = row[ii];ii++; - grch37_stop = row[ii];ii++; - mut_nt = row[ii];ii++; - mut_aa = row[ii];ii++; - tumour_site = row[ii];ii++; - mutated_samples = row[ii];ii++; - examined_samples = row[ii];ii++; - mut_freq = row[ii];ii++; - - // chromosome name adjustment - if (sameString(chromosome, "23")) - chromosome = "X"; - if (sameString(chromosome, "24")) - chromosome = "Y"; - if (sameString(chromosome, "25")) - chromosome = "M"; - - chp = strstr(itemName, "COSM")+strlen("COSM"); - printf("COSMIC ID: %s (details at COSMIC site)", url, chp, chp); - - // Embed URL to COSMIC site per COSMICT request. - // printf("
Source: "); - // printf("%s\n", source); - - printf("
Gene Name: %s\n", gene_name); - printf("
Accession Number: %s\n", accession_number); - printf("
Genomic Position: chr%s:%s-%s", chromosome, grch37_start, grch37_stop); - printf("
Mutation Description: %s\n", mut_description); - printf("
Mutation Syntax CDS: %s\n", mut_syntax_cds); - printf("
Mutation Syntax AA: %s\n", mut_syntax_aa); - printf("
Mutation NT: %s\n", mut_nt); - printf("
Mutation AA: %s\n", mut_aa); - - sqlSafef(query2, sizeof(query2), - "select count(tumour_site) from cosmicRaw where cosmic_mutation_id='%s'", itemName); - - sr2 = sqlMustGetResult(conn2, query2); - row2 = sqlNextRow(sr2); - if ((atoi(row2[0])) > 1) - { - multipleTumorSites = TRUE; - indentString = indent1; - } - else - { - multipleTumorSites = FALSE; - indentString = indent2; - } - sqlFreeResult(&sr2); - - sqlSafef(query2, sizeof(query2), - "select tumour_site,mutated_samples,examined_samples,mut_freq " - " from cosmicRaw where cosmic_mutation_id='%s' order by tumour_site", - itemName); - - sr2 = sqlMustGetResult(conn2, query2); - row2 = sqlNextRow(sr2); - while (row2 != NULL) - { - int ii; - ii=0; - tumour_site = row2[ii];ii++; - mutated_samples = row2[ii];ii++; - examined_samples = row2[ii];ii++; - mut_freq = row2[ii];ii++; - - if (multipleTumorSites) printf("
"); - printf("
%sTumor Site: %s\n", indentString, tumour_site); - printf("
%sMutated Samples: %s\n", indentString, mutated_samples); - printf("
%sExamined Samples: %s\n", indentString, examined_samples); - printf("
%sMutation Frequency: %s\n", indentString, mut_freq); - row2 = sqlNextRow(sr2); - } - sqlFreeResult(&sr2); - - sqlSafef(query2, sizeof(query2), - "select sum(mutated_samples) from cosmicRaw where cosmic_mutation_id='%s'", - itemName); - - sr2 = sqlMustGetResult(conn2, query2); - row2 = sqlNextRow(sr2); - if (row2 != NULL) - { - printf("

Total Mutated Samples: %s\n", row2[0]); - //printf("
%s ", row2[0]); - } - sqlFreeResult(&sr2); - - sqlSafef(query2, sizeof(query2), - "select sum(examined_samples) from cosmicRaw where cosmic_mutation_id='%s'", - itemName); - sr2 = sqlMustGetResult(conn2, query2); - row2 = sqlNextRow(sr2); - if (row2 != NULL) - { - printf("
Total Examined Samples: %s\n", row2[0]); - } - sqlFreeResult(&sr2); - sqlSafef(query2, sizeof(query2), - "select sum(mutated_samples)*100/sum(examined_samples) from cosmicRaw where cosmic_mutation_id='%s'", - itemName); - sr2 = sqlMustGetResult(conn2, query2); - row2 = sqlNextRow(sr2); - if (row2 != NULL) - { - char *chp; - chp = strstr(row2[0], "."); - if ((chp != NULL) && (strlen(chp) > 3)) - { - chp++; - chp++; - chp++; - chp++; - *chp = '\0'; - } - printf("
Total Mutation Frequency: %s%c\n", row2[0], '%'); - //printf("
%s", row2[0]); - } - sqlFreeResult(&sr2); - - } - -sqlFreeResult(&sr); -hFreeConn(&conn); - -printf("
"); -printPosOnChrom(chrom, atoi(chromStart), atoi(chromEnd), NULL, FALSE, itemName); -} - -void doCosmic(struct trackDb *tdb, char *item) -/* Put up COSMIC track info. */ -{ -genericHeader(tdb, item); -printCosmicDetails(tdb, item); -printTrackHtml(tdb); -} void printDecipherDetails(struct trackDb *tdb, char *itemName, boolean encode) /* Print details of a DECIPHER entry. */ { struct sqlConnection *conn = hAllocConn(database); char query[256]; struct sqlResult *sr; char **row; struct sqlConnection *conn2 = hAllocConn(database); char query2[256]; struct sqlResult *sr2; char **row2; char *strand={"+"}; int start = cartInt(cart, "o"); int end = cartInt(cart, "t"); @@ -26505,34 +26316,30 @@ { doParDetails(tdb, item); } else if (startsWith("pubs", table)) { doPubsDetails(tdb, item); } else if (tdb != NULL && startsWith("bedDetail", tdb->type)) { doBedDetail(tdb, NULL, item); } else if (startsWith("numtS", table)) { doNumtS(tdb, item); } -else if (startsWith("cosmic", table)) - { - doCosmic(tdb, item); - } else if (sameString("geneReviews", table)) { doGeneReviews(tdb, item); } else if (startsWith("qPcrPrimers", table)) { doQPCRPrimers(tdb, item); } else if (sameString("lrg", table)) { doLrg(tdb, item); } else if (sameString("lrgTranscriptAli", table)) { doLrgTranscriptPsl(tdb, item);