\n");
-hPrintf("\n");
-hPrintf("\n");
-hPrintf("Home | ",
- orgEnc, database, cartSessionVarName(), cartSessionId(cart));
-
-if (hIsGisaidServer())
- {
- /* disable hgGateway for gisaid for now */
- //hPrintf(" Sequence View Gateway | ", orgEnc, database);
- hPrintf(
- " %s | ",
- '%', '%',
- cartSessionVarName(),
- cartSessionId(cart),
- "Select Subjects");
- }
-else
-if (hIsGsidServer())
- {
- hPrintf(" Sequence View Gateway | ", orgEnc, database);
- hPrintf(
- " %s | ",
- '%', '%', "Select Subjects");
- }
-else
- {
- hPrintf(" Genomes | ", orgEnc, database, cartSessionVarName(), cartSessionId(cart));
- }
-if (psOutput)
- {
- hPrintf(" Genome Browser | ", orgEnc, database, cartSessionVarName(), cartSessionId(cart));
- }
-if (gotBlat)
- {
- hPrintf(" Blat | ", uiVars->string);
- }
-if (hIsGisaidServer())
- {
- hPrintf(" %s | ",
- database,
- cartSessionVarName(),
- cartSessionId(cart),
- "Table View");
- }
-else if (hIsGsidServer())
- {
- hPrintf(" %s | ",
- database, "Table View");
- }
-else
- {
- /* disable TB for CGB servers */
- if (!hIsCgbServer())
- {
- hPrintf(" %s | ",
- database, cartSessionVarName(), cartSessionId(cart),
- "Tables");
- }
- }
-
-if (hgNearOk(database))
- {
- hPrintf(" %s | ",
- uiVars->string, "Gene Sorter");
- }
-if (hgPcrOk(database))
- {
- hPrintf(" PCR | ", uiVars->string);
- }
-if (!psOutput)
- {
- hPrintf(" "
- "%s | ", hgcNameAndSettings(),
- winStart, chromName, winStart, winEnd, database, uiVars->string, "DNA");
- }
-
-if (!psOutput)
- {
- /* disable Convert function for CGB servers for the time being */
- if (!hIsCgbServer())
- if (liftOverChainForDb(database) != NULL)
- {
- hPrintf(" string, database);
- hPrintf("\" class=\"topbar\">Convert | ");
- }
- }
-
-if (!psOutput)
- {
- hPrintf(" %s | ",cartSessionVarName(),
- cartSessionId(cart), "PS/PDF");
- }
-
-if (!psOutput)
- {
- if (wikiLinkEnabled())
- {
- printf(" Session | ",
- cartSessionVarName(), cartSessionId(cart));
- }
- }
-
-char ensVersionString[256];
-char ensDateReference[256];
-ensGeneTrackVersion(database, ensVersionString, ensDateReference,
- sizeof(ensVersionString));
-
-if (!psOutput)
- {
- if (differentWord(database,"susScr2"))
- {
- /* Print Ensembl anchor for latest assembly of organisms we have
- * supported by Ensembl == if versionString from trackVersion exists */
- if (sameWord(database,"hg19"))
- {
- printEnsemblAnchor(database, NULL, chromName, winStart, winEnd, &links);
- }
- else if (sameWord(database,"hg18"))
- {
- printEnsemblAnchor(database, "ncbi36", chromName, winStart, winEnd, &links);
- }
- else if (sameWord(database,"oryCun2") || sameWord(database,"anoCar2") || sameWord(database,"calJac3"))
- {
- printEnsemblAnchor(database, NULL, chromName, winStart, winEnd, &links);
- }
- else if (ensVersionString[0])
- {
- char *archive = NULL;
- if (ensDateReference[0] && differentWord("current", ensDateReference))
- archive = cloneString(ensDateReference);
- /* Can we perhaps map from a UCSC random chrom to an Ensembl contig ? */
- if (isUnknownChrom(database, chromName))
- {
- // which table to check
- char *ctgPos = "ctgPos";
-
- if (sameWord(database,"fr2"))
- fr2ScaffoldEnsemblLink(archive, &links);
- else if (hTableExists(database, UCSC_TO_ENSEMBL))
- printEnsemblAnchor(database, archive, chromName, winStart, winEnd, &links);
- else if (hTableExists(database, ctgPos))
- /* see if we are entirely within a single contig */
- {
- struct sqlConnection *conn = hAllocConn(database);
- struct sqlResult *sr = NULL;
- char **row = NULL;
- char query[256];
- safef(query, sizeof(query),
- "select * from %s where chrom = '%s' and chromStart<%u and chromEnd>%u",
- ctgPos, chromName, winEnd, winStart);
- sr = sqlGetResult(conn, query);
-
- int itemCount = 0;
- struct ctgPos *ctgItem = NULL;
- while ((row = sqlNextRow(sr)) != NULL)
- {
- ctgPosFree(&ctgItem); // if there is a second one
- ctgItem = ctgPosLoad(row);
- ++itemCount;
- if (itemCount > 1)
- break;
- }
- sqlFreeResult(&sr);
- hFreeConn(&conn);
- if (1 == itemCount)
- { // verify *entirely* within single contig
- if ((winEnd <= ctgItem->chromEnd) &&
- (winStart >= ctgItem->chromStart))
- {
- int ctgStart = winStart - ctgItem->chromStart;
- int ctgEnd = ctgStart + winEnd - winStart;
- printEnsemblAnchor(database, archive, ctgItem->contig,
- ctgStart, ctgEnd, &links);
- }
- }
- ctgPosFree(&ctgItem); // the one we maybe used
- }
- }
- else
- {
- printEnsemblAnchor(database, archive, chromName, winStart, winEnd, &links);
- }
- }
- }
- }
-
-if (!psOutput)
- {
- char buf[2056];
- /* Print NCBI MapView anchor */
- if (sameString(database, "hg18"))
- {
- safef(buf, sizeof(buf), "http://www.ncbi.nlm.nih.gov/mapview/maps.cgi?taxid=9606&build=previous&CHR=%s&BEG=%d&END=%d",
- skipChr(chromName), winStart+1, winEnd);
- appendLink(&links, buf, "NCBI", "ncbiLink");
- }
- if (sameString(database, "hg19"))
- {
- safef(buf, sizeof(buf), "http://www.ncbi.nlm.nih.gov/mapview/maps.cgi?taxid=9606&CHR=%s&BEG=%d&END=%d",
- skipChr(chromName), winStart+1, winEnd);
- appendLink(&links, buf, "NCBI", "ncbiLink");
- }
- if (sameString(database, "mm8"))
- {
- safef(buf, sizeof(buf), "http://www.ncbi.nlm.nih.gov/mapview/maps.cgi?taxid=10090&CHR=%s&BEG=%d&END=%d",
- skipChr(chromName), winStart+1, winEnd);
- appendLink(&links, buf, "NCBI", "ncbiLink");
- }
- if (sameString(database, "danRer2"))
- {
- safef(buf, sizeof(buf), "http://www.ncbi.nlm.nih.gov/mapview/maps.cgi?taxid=7955&CHR=%s&BEG=%d&END=%d",
- skipChr(chromName), winStart+1, winEnd);
- appendLink(&links, buf, "NCBI", "ncbiLink");
- }
- if (sameString(database, "galGal3"))
- {
- safef(buf, sizeof(buf), "http://www.ncbi.nlm.nih.gov/mapview/maps.cgi?taxid=9031&CHR=%s&BEG=%d&END=%d",
- skipChr(chromName), winStart+1, winEnd);
- appendLink(&links, buf, "NCBI", "ncbiLink");
- }
- if (sameString(database, "canFam2"))
- {
- safef(buf, sizeof(buf), "http://www.ncbi.nlm.nih.gov/mapview/maps.cgi?taxid=9615&CHR=%s&BEG=%d&END=%d",
- skipChr(chromName), winStart+1, winEnd);
- appendLink(&links, buf, "NCBI", "ncbiLink");
- }
- if (sameString(database, "rheMac2"))
- {
- safef(buf, sizeof(buf), "http://www.ncbi.nlm.nih.gov/mapview/maps.cgi?taxid=9544&CHR=%s&BEG=%d&END=%d",
- skipChr(chromName), winStart+1, winEnd);
- appendLink(&links, buf, "NCBI", "ncbiLink");
- }
- if (sameString(database, "panTro2"))
- {
- safef(buf, sizeof(buf), "http://www.ncbi.nlm.nih.gov/mapview/maps.cgi?taxid=9598&CHR=%s&BEG=%d&END=%d",
- skipChr(chromName), winStart+1, winEnd);
- appendLink(&links, buf, "NCBI", "ncbiLink");
- }
- if (sameString(database, "anoGam1"))
- {
- safef(buf, sizeof(buf), "http://www.ncbi.nlm.nih.gov/mapview/maps.cgi?taxid=7165&CHR=%s&BEG=%d&END=%d",
- skipChr(chromName), winStart+1, winEnd);
- appendLink(&links, buf, "NCBI", "ncbiLink");
- }
- if (sameString(database, "bosTau6"))
- {
- safef(buf, sizeof(buf), "http://www.ncbi.nlm.nih.gov/mapview/maps.cgi?taxid=9913&CHR=%s&BEG=%d&END=%d",
- skipChr(chromName), winStart+1, winEnd);
- appendLink(&links, buf, "NCBI", "ncbiLink");
- }
- if (startsWith("oryLat", database))
- {
- safef(buf, sizeof(buf), "http://medaka.utgenome.org/browser_ens_jump.php?revision=version1.0&chr=chromosome%s&start=%d&end=%d",
- skipChr(chromName), winStart+1, winEnd);
- appendLink(&links, buf, "UTGB", "medakaLink");
- }
- if (sameString(database, "cb3"))
- {
- safef(buf, sizeof(buf), "http://www.wormbase.org/db/seq/gbrowse/briggsae?name=%s:%d-%d",
- skipChr(chromName), winStart+1, winEnd);
- appendLink(&links, buf, "WormBase", "wormbaseLink");
- }
- if (sameString(database, "cb4"))
- {
- safef(buf, sizeof(buf), "http://www.wormbase.org/db/gb2/gbrowse/c_briggsae?name=%s:%d-%d",
- chromName, winStart+1, winEnd);
- appendLink(&links, buf, "WormBase", "wormbaseLink");
- }
- if (sameString(database, "ce10"))
- {
- safef(buf, sizeof(buf), "http://www.wormbase.org/db/gb2/gbrowse/c_elegans?name=%s:%d-%d",
- skipChr(chromName), winStart+1, winEnd);
- appendLink(&links, buf, "WormBase", "wormbaseLink");
- }
- if (sameString(database, "ce4"))
- {
- safef(buf, sizeof(buf), "http://ws170.wormbase.org/db/seq/gbrowse/wormbase?name=%s:%d-%d",
- skipChr(chromName), winStart+1, winEnd);
- appendLink(&links, buf, "WormBase", "wormbaseLink");
- }
- if (sameString(database, "ce2"))
- {
- safef(buf, sizeof(buf), "http://ws120.wormbase.org/db/seq/gbrowse/wormbase?name=%s:%d-%d",
- skipChr(chromName), winStart+1, winEnd);
- appendLink(&links, buf, "WormBase", "wormbaseLink");
- }
- }
-
-for(link = links; link != NULL; link = link->next)
- hPrintf(" %s | \n", link->url, link->id, link->name);
-
-if (hIsGisaidServer())
- {
- //hPrintf(" %s | \n", "Help");
- hPrintf(" %s | \n", "Help");
- }
-else
-if (hIsGsidServer())
- {
- hPrintf(" %s | \n", "Help");
- }
-else
- {
- hPrintf(" %s | \n", "Help");
- }
-
-hPuts(" |
| ");
-hPuts(" ");
-hPuts(" |