c20579fc7c537c1736650125c5d264357d2cfa78 angie Mon Sep 18 13:15:16 2017 -0700 Big search & replace: use https instead of http for NCBI URLs. refs #17793 diff --git src/hg/hgGene/mrnaDescriptions.c src/hg/hgGene/mrnaDescriptions.c index b92479c..ccf9590 100644 --- src/hg/hgGene/mrnaDescriptions.c +++ src/hg/hgGene/mrnaDescriptions.c @@ -1,101 +1,101 @@ /* mRNA descriptions. */ /* Copyright (C) 2013 The Regents of the University of California * See README in this or parent directory for licensing information. */ #include "common.h" #include "hash.h" #include "linefile.h" #include "dystring.h" #include "spDb.h" #include "hdb.h" #include "genePred.h" #include "bed.h" #include "hgGene.h" #include "genbank.h" static boolean mrnaDescriptionsExists(struct section *section, struct sqlConnection *conn, char *geneId) /* Return TRUE if mrna on this one. */ { struct psl *list = NULL; if (hTableExists(sqlGetDatabase(conn), "all_mrna")) { struct sqlResult *sr; char **row; struct psl *psl; int rowOffset; char extra[64]; safef(extra, sizeof(extra), "strand='%c'", curGenePred->strand[0]); sr = hRangeQuery(conn, "all_mrna", curGeneChrom, curGeneStart, curGeneEnd, extra, &rowOffset); while ((row = sqlNextRow(sr)) != NULL) { psl = pslLoad(row+rowOffset); slAddHead(&list, psl); } slReverse(&list); section->items = list; } return slCount(list) > 0; } static int basesShared(struct genePred *gp, struct psl *psl) /* Return number of bases a&b share. */ { int intersect = 0; int i, blockCount = psl->blockCount; int s,e; for (i=0; itStarts[i]; e = s + psl->blockSizes[i]; if (psl->strand[1] == '-') reverseIntRange(&s, &e, psl->tSize); intersect += gpRangeIntersection(gp, s, e); } return intersect; } static void mrnaDescriptionsPrint(struct section *section, struct sqlConnection *conn, char *geneId) /* Print out mrna descriptions annotations. */ { struct psl *psl, *pslList = section->items; for (psl = pslList; psl != NULL; psl = psl->next) { if (basesShared(curGenePred, psl) > 12) /* Filter out possible little noisy flecks. */ { char query[512]; char *description; sqlSafef(query, sizeof(query), "select d.name from %s g,%s d" " where g.acc='%s' and g.description = d.id" , gbCdnaInfoTable, descriptionTable, psl->qName); description = sqlQuickString(conn, query); if (description != NULL) { - char *url = "http://www.ncbi.nlm.nih.gov/entrez/query.fcgi" + char *url = "https://www.ncbi.nlm.nih.gov/entrez/query.fcgi" "?cmd=Search&db=Nucleotide&term=%s&doptcmdl=GenBank" "&tool=genome.ucsc.edu"; hPrintf("qName); hPrintf("\" TARGET=_blank>"); hPrintf("%s - ", psl->qName); hPrintf("%s
", description); } freeMem(description); } } } struct section *mrnaDescriptionsSection(struct sqlConnection *conn, struct hash *sectionRa) /* Create mrnaDescriptions section. */ { struct section *section = sectionNew(sectionRa, "mrnaDescriptions"); section->exists = mrnaDescriptionsExists; section->print = mrnaDescriptionsPrint; return section; }