5f9dc35a87a2125dd115389b7d3b7c4d8709f740
chinhli
Tue Nov 13 15:45:12 2012 -0800
Pull doNumtS out from hgc.c and put it in numtsClick.c, in preparation for redmine #8533 NumtS tracks for 10 more organism.
diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c
index 90f23b4..5e5fa74 100644
--- src/hg/hgc/hgc.c
+++ src/hg/hgc/hgc.c
@@ -226,30 +226,31 @@
#include "twoBit.h"
#include "itemConf.h"
#include "chromInfo.h"
#include "gbWarn.h"
#include "lsSnpPdbChimera.h"
#include "mammalPsg.h"
#include "net.h"
#include "jsHelper.h"
#include "virusClick.h"
#include "gwasCatalog.h"
#include "parClick.h"
#include "mdb.h"
#include "yaleGencodeAssoc.h"
#include "itemDetailsHtml.h"
#include "trackVersion.h"
+#include "numtsClick.h"
static char *rootDir = "hgcData";
#define LINESIZE 70 /* size of lines in comp seq feature */
struct cart *cart; /* User's settings. */
char *seqName; /* Name of sequence we're working on. */
int winStart, winEnd; /* Bounds of sequence. */
char *database; /* Name of mySQL database. */
char *organism; /* Colloquial name of organism. */
char *genome; /* common name, e.g. Mouse, Human */
char *scientificName; /* Scientific name of organism. */
struct hash *trackHash; /* A hash of all tracks - trackDb valued */
@@ -23902,162 +23903,30 @@
bedDetailFree(&r);
freeMem(escName);
hFreeConn(&conn);
}
struct trackDb *tdbForTableArg()
/* get trackDb for track passed in table arg */
{
char *table = cartString(cart, "table");
struct trackDb *tdb = hashFindVal(trackHash, table);
if (tdb == NULL)
errAbort("no trackDb entry for %s", table);
return tdb;
}
-void doNumtS(struct trackDb *tdb, char *itemName)
-/* Put up page for NumtS. */
-{
-char *table = tdb->table;
-struct sqlConnection *conn = hAllocConn(database);
-struct bed *bed;
-char query[512];
-struct sqlResult *sr;
-char **row;
-boolean firstTime = TRUE;
-int start = cartInt(cart, "o");
-int num = 6;
-char itemNameDash[64]; /* itenName appended with a "_" */
-char itemNameTrimmed[64]; /* itemName trimed at last "_" */
-int sDiff = 30; /* acceptable difference of genomics size */
-/* message strings */
-char *clickMsg = NULL;
-char *openMsg1 = "Click 'browser' link below to open Genome Browser at genomic position where";
-char *openMsg2 = "maps\n";
-char *openMsgM = "Click 'browser' link below to open Genome Browser at mitochondrial position where";
-
-
-genericHeader(tdb, itemName);
-genericBedClick(conn, tdb, itemName, start, num);
-
-safecpy(itemNameDash, sizeof(itemNameDash),itemName);
-safecat(itemNameDash,64,"_");
-safecpy(itemNameTrimmed, sizeof(itemNameTrimmed),itemName);
-chopSuffixAt(itemNameTrimmed, '_');
-
-safef(query, sizeof(query), "select chrom, chromStart, chromEnd, name, score, strand from %s where name='%s'",
- table, itemName);
-sr = sqlGetResult(conn, query);
-int sSize=0;
-while ((row = sqlNextRow(sr)) != NULL)
- {
- bed = bedLoad6(row);
- sSize = bed->chromEnd - bed->chromStart;
- /* printf("sSize is: %5d
", sSize); */
- }
-
-
-if (sameString("hg18", database))
-{
- if (sameString("numtS", table))
- {
- safef(query, sizeof(query),
- "select chrom, chromStart, chromEnd, name, score, strand "
- "from numtSMitochondrionChrPlacement where ( "
- "(name = '%s') OR (((name REGEXP '^%s') OR (name='%s')) AND "
- " (ABS((chromEnd - chromStart)-%d) <= %d ))) ",
- itemName, itemNameDash, itemNameTrimmed, sSize, sDiff);
- clickMsg = openMsgM;
- }
- else if (sameString("numtSAssembled", table))
- {
- safef(query, sizeof(query),
- "select chrom, chromStart, chromEnd, name, score, strand "
- "from numtSMitochondrionChrPlacement where ( "
- "(name = '%s') OR (((name REGEXP '^%s') OR (name='%s')) AND "
- " (ABS((chromEnd - chromStart)-%d) <= %d ))) ",
- itemName, itemNameDash, itemNameTrimmed, sSize, sDiff);
- clickMsg = openMsgM;
- }
- else if (sameString("numtSMitochondrion", table))
- {
- safef(query, sizeof(query),
- "select chrom, chromStart, chromEnd, name, score, strand "
- "from numtS where ( "
- "(name = '%s') OR (((name REGEXP '^%s') OR (name='%s')) AND "
- " (ABS((chromEnd - chromStart)-%d) <= %d ))) ",
- itemName, itemNameDash, itemNameTrimmed, sSize, sDiff);
- clickMsg = openMsg1;
- }
- else if (sameString("numtSMitochondrionChrPlacement", table))
- {
- safef(query, sizeof(query),
- "select chrom, chromStart, chromEnd, name, score, strand "
- "from numtS where ( "
- "(name = '%s') OR (((name REGEXP '^%s') OR (name='%s')) AND "
- " (ABS((chromEnd - chromStart)-%d) <= %d ))) ",
- itemName, itemNameDash, itemNameTrimmed, sSize, sDiff);
- clickMsg = openMsg1;
- }
-} else {
- if (sameString("numtS", table) || sameString("numtSAssembled", table))
- {
- safef(query, sizeof(query),
- "select chrom, chromStart, chromEnd, name, score, strand "
- "from numtSMitochondrion where name = '%s' ", itemName);
- clickMsg = openMsgM;
- }
- else if (sameString("numtSMitochondrion", table))
- {
- safef(query, sizeof(query),
- "select chrom, chromStart, chromEnd, name, score, strand "
- "from numtS where name = '%s'", itemName);
- clickMsg = openMsg1;
- }
-}
-
- sr = sqlGetResult(conn, query);
- firstTime = TRUE;
-
- while ((row = sqlNextRow(sr)) != NULL)
- {
- printf("
"); - if (firstTime) - { - firstTime = FALSE; - printf(""); - } - - printf("%s item '%s' %s
", clickMsg, itemName, openMsg2); - - printf("BROWSER | NAME CHROMOSOME START END SIZE SCORE STRAND \n"); - printf("--------|--------------------------------------------------------------------------------------------\n"); - - } - bed = bedLoad6(row); - printf("browser | ", - hgTracksPathAndSettings(), database, - bed->chrom, bed->chromStart+1, bed->chromEnd); - - printf("%-20s %-10s %9d %9d %5d %5d %1s", - bed->name, bed->chrom, bed->chromStart+1, bed->chromEnd, - (bed->chromEnd - bed->chromStart),bed->score, bed->strand); - - printf("