\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(),
@@ -3634,59 +3646,53 @@
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"))
{
- hPrintf(" ");
- printEnsemblAnchor(database, NULL, chromName, winStart, winEnd);
- hPrintf("%s | ", "Ensembl");
+ printEnsemblAnchor(database, NULL, chromName, winStart, winEnd, &links);
}
else if (sameWord(database,"hg18"))
{
- hPrintf(" ");
- printEnsemblAnchor(database, "ncbi36", chromName, winStart, winEnd);
- hPrintf("%s | ", "Ensembl");
+ printEnsemblAnchor(database, "ncbi36", chromName, winStart, winEnd, &links);
}
else if (sameWord(database,"oryCun2") || sameWord(database,"anoCar2") || sameWord(database,"calJac3"))
{
- hPrintf(" ");
- printEnsemblAnchor(database, NULL, chromName, winStart, winEnd);
- hPrintf("%s | ", "Ensembl");
+ 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);
+ fr2ScaffoldEnsemblLink(archive, &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)
@@ -3694,152 +3700,150 @@
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;
- hPrintf(" ");
printEnsemblAnchor(database, archive, ctgItem->contig,
- ctgStart, ctgEnd);
- hPrintf("%s | ", "Ensembl");
+ ctgStart, ctgEnd, &links);
}
}
ctgPosFree(&ctgItem); // the one we maybe used
}
}
else
{
- hPrintf(" ");
- printEnsemblAnchor(database, archive, chromName, winStart, winEnd);
- hPrintf("%s | ", "Ensembl");
+ printEnsemblAnchor(database, archive, chromName, winStart, winEnd, &links);
}
}
}
}
if (!psOutput)
{
+ char buf[2056];
/* Print NCBI MapView anchor */
if (sameString(database, "hg18"))
{
- hPrintf(" ",
+ 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);
- hPrintf("%s | ", "NCBI");
+ appendLink(&links, buf, "NCBI", "ncbiLink");
}
if (sameString(database, "hg19"))
{
- hPrintf(" ",
+ 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);
- hPrintf("%s | ", "NCBI");
+ appendLink(&links, buf, "NCBI", "ncbiLink");
}
if (sameString(database, "mm8"))
{
- hPrintf("");
- hPrintf("",
+ 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);
- hPrintf("%s | ", "NCBI");
+ appendLink(&links, buf, "NCBI", "ncbiLink");
}
if (sameString(database, "danRer2"))
{
- hPrintf("");
- hPrintf("",
+ 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);
- hPrintf("%s | ", "NCBI");
+ appendLink(&links, buf, "NCBI", "ncbiLink");
}
if (sameString(database, "galGal3"))
{
- hPrintf("");
- hPrintf("",
+ 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);
- hPrintf("%s | ", "NCBI");
+ appendLink(&links, buf, "NCBI", "ncbiLink");
}
if (sameString(database, "canFam2"))
{
- hPrintf("");
- hPrintf("",
+ 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);
- hPrintf("%s | ", "NCBI");
+ appendLink(&links, buf, "NCBI", "ncbiLink");
}
if (sameString(database, "rheMac2"))
{
- hPrintf("");
- hPrintf("",
+ 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);
- hPrintf("%s | ", "NCBI");
+ appendLink(&links, buf, "NCBI", "ncbiLink");
}
if (sameString(database, "panTro2"))
{
- hPrintf("");
- hPrintf("",
+ 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);
- hPrintf("%s | ", "NCBI");
+ appendLink(&links, buf, "NCBI", "ncbiLink");
}
if (sameString(database, "anoGam1"))
{
- hPrintf("");
- hPrintf("",
+ 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);
- hPrintf("%s | ", "NCBI");
+ appendLink(&links, buf, "NCBI", "ncbiLink");
}
if (sameString(database, "bosTau6"))
{
- hPrintf("");
- hPrintf("",
+ 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);
- hPrintf("%s | ", "NCBI");
+ appendLink(&links, buf, "NCBI", "ncbiLink");
}
if (startsWith("oryLat", database))
{
- hPrintf(" %s | ",
- skipChr(chromName), winStart+1, winEnd, "UTGB");
+ 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"))
{
- hPrintf(" %s | ",
- skipChr(chromName), winStart+1, winEnd, "WormBase");
+ 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"))
{
- hPrintf(" %s | ",
- chromName, winStart+1, winEnd, "WormBase");
+ 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"))
{
- hPrintf(" %s | ",
- skipChr(chromName), winStart+1, winEnd, "WormBase");
+ 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"))
{
- hPrintf(" %s | ",
- skipChr(chromName), winStart+1, winEnd, "WormBase");
+ 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"))
{
- hPrintf(" %s | ",
- skipChr(chromName), winStart+1, winEnd, "WormBase");
+ 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");
}
|
|