45
45
/*************************************
47
47
* $Log: wprint.c,v $
48
* Revision 6.71 2002/08/08 14:00:37 kans
49
* added FANTOM_DB hyperlink
51
* Revision 6.70 2002/07/24 21:08:47 kans
54
* Revision 6.69 2002/07/23 16:44:35 kans
55
* changed www.ncbi.nlm.nih.gov to www.ncbi.nih.gov
57
* Revision 6.68 2002/06/21 15:38:34 kans
60
* Revision 6.67 2002/06/18 21:00:00 kans
61
* added ISFinder as legal db_xref with hotlink
63
* Revision 6.66 2002/05/06 22:20:49 kans
64
* added IFO and JCM db_xref hotlinks
66
* Revision 6.65 2002/04/18 22:24:16 kans
67
* added dbEST and dbSTS links
69
* Revision 6.64 2002/02/20 21:59:44 tatiana
70
* IMGT/LIGM dbxref added
72
* Revision 6.63 2002/02/01 19:40:01 kans
73
* MGD uses id=MGI: URL prefix, strips MGI: if in db_xref text
75
* Revision 6.62 2002/01/02 13:21:16 kans
76
* added WormBase links
48
78
* Revision 6.61 2001/12/06 17:00:41 kans
49
79
* TextSave takes size_t, not Int2, otherwise titin protein tries to allocate negative number
395
427
static Char link_fly_fbgn[MAX_WWWBUF];
396
428
static Char link_cdd[MAX_WWWBUF];
397
429
static Char link_niaest[MAX_WWWBUF];
430
static Char link_worm_sequence[MAX_WWWBUF];
431
static Char link_worm_locus[MAX_WWWBUF];
432
static Char link_imgt[MAX_WWWBUF];
433
static Char link_ifo[MAX_WWWBUF];
434
static Char link_jcm[MAX_WWWBUF];
435
static Char link_isfinder[MAX_WWWBUF];
436
static Char link_gabi[MAX_WWWBUF];
437
static Char link_fantom[MAX_WWWBUF];
399
439
#define DEF_LINK_FF "/cgi-bin/Entrez/getfeat?"
442
484
#define DEF_LINK_CDD "http://www.ncbi.nlm.nih.gov/Structure/cdd/cddsrv.cgi?uid="
443
485
#define DEF_LINK_NIAEST "http://lgsun.grc.nia.nih.gov/cgi-bin/pro3?sname1="
486
#define DEF_LINK_WORM_SEQUENCE "http://www.wormbase.org/db/seq/sequence?name="
487
#define DEF_LINK_WORM_LOCUS "http://www.wormbase.org/db/gene/locus?name="
488
#define DEF_LINK_IMGT "http://imgt.cines.fr:8104/cgi-bin/IMGTlect.jv?query=202+"
489
#define DEF_LINK_IFO "http://www.ifo.or.jp/index_e.html"
490
#define DEF_LINK_JCM "http://www.jcm.riken.go.jp/cgi-bin/jcm/jcm_number?JCM="
491
#define DEF_LINK_ISFINDER "http://www-is.biotoul.fr/scripts/is/is_spec.idc?name="
492
#define DEF_LINK_GABI "https://gabi.rzpd.de/cgi-bin-protected/GreenCards.pl.cgi?Mode=ShowBioObject&BioObjectName="
493
#define DEF_LINK_FANTOM "http://fantom.gsc.riken.go.jp/db/view/main.cgi?masterid="
445
495
/* now other data bases are linked to Entrez. may be changed later
446
496
static char *link_epd =
518
568
link_omim, MAX_WWWBUF);
519
569
GetAppParam("NCBI", "WWWENTREZ", "LINK_UniSTS", DEF_LINK_UniSTS,
520
570
link_UniSTS, MAX_WWWBUF);
571
GetAppParam("NCBI", "WWWENTREZ", "LINK_dbSTS", DEF_LINK_dbSTS,
572
link_dbSTS, MAX_WWWBUF);
573
GetAppParam("NCBI", "WWWENTREZ", "LINK_dbEST", DEF_LINK_dbEST,
574
link_dbEST, MAX_WWWBUF);
521
575
GetAppParam("NCBI", "WWWENTREZ", "LINK_LOCUS", DEF_LINK_LOCUS,
522
576
link_locus, MAX_WWWBUF);
523
577
GetAppParam("NCBI", "WWWENTREZ", "LINK_SNP", DEF_LINK_SNP,
536
590
link_cdd, MAX_WWWBUF);
537
591
GetAppParam("NCBI", "WWWENTREZ", "LINK_NIAEST", DEF_LINK_NIAEST,
538
592
link_niaest, MAX_WWWBUF);
593
GetAppParam("NCBI", "WWWENTREZ", "LINK_WORM_SEQUENCE", DEF_LINK_WORM_SEQUENCE,
594
link_worm_sequence, MAX_WWWBUF);
595
GetAppParam("NCBI", "WWWENTREZ", "LINK_WORM_LOCUS", DEF_LINK_WORM_LOCUS,
596
link_worm_locus, MAX_WWWBUF);
597
GetAppParam("NCBI", "WWWENTREZ", "LINK_IMGT", DEF_LINK_IMGT,
598
link_imgt, MAX_WWWBUF);
599
GetAppParam("NCBI", "WWWENTREZ", "LINK_IFO", DEF_LINK_IFO,
600
link_ifo, MAX_WWWBUF);
601
GetAppParam("NCBI", "WWWENTREZ", "LINK_JCM", DEF_LINK_JCM,
602
link_jcm, MAX_WWWBUF);
603
GetAppParam("NCBI", "WWWENTREZ", "LINK_ISFINDER", DEF_LINK_ISFINDER,
604
link_isfinder, MAX_WWWBUF);
605
GetAppParam("NCBI", "WWWENTREZ", "LINK_GABI", DEF_LINK_GABI,
606
link_gabi, MAX_WWWBUF);
607
GetAppParam("NCBI", "WWWENTREZ", "LINK_FANTOM", DEF_LINK_FANTOM,
608
link_fantom, MAX_WWWBUF);
1093
1163
ff_AddString(p);
1094
1164
AddLink("</a>");
1166
if (( p = StringStr(str, "dbEST:")) != NULL) {
1168
p += StringLen("dbEST:");
1169
l = StringLen(link_dbEST) + StringLen(p);
1170
prefix = "<a href=%sval=gnl|dbest|%s>";
1171
ll = StringLen(prefix);
1172
s = (CharPtr)MemNew(l + ll);
1173
ss = (CharPtr)MemNew(p-str+1);
1174
StringNCpy(ss, str, p-str);
1179
sprintf(s, prefix, link_dbEST, p);
1185
if (( p = StringStr(str, "dbSTS:")) != NULL) {
1187
p += StringLen("dbSTS:");
1188
l = StringLen(link_dbSTS) + StringLen(p);
1189
prefix = "<a href=%sval=gnl|dbsts|%s>";
1190
ll = StringLen(prefix);
1191
s = (CharPtr)MemNew(l + ll);
1192
ss = (CharPtr)MemNew(p-str+1);
1193
StringNCpy(ss, str, p-str);
1198
sprintf(s, prefix, link_dbSTS, p);
1096
1204
if (( p = StringStr(str, "LocusID:")) != NULL) {
1097
1205
nothing = FALSE;
1098
1206
p += StringLen("LocusID:");
1169
1277
ff_AddString(p);
1170
1278
AddLink("</a>");
1280
if (( p = StringStr(str, "IMGT/LIGM:")) != NULL) {
1282
p += StringLen("IMGT/LIGM:");
1283
l = StringLen(link_imgt) + StringLen(p);
1284
prefix = "<a href=%s%s>";
1285
ll = StringLen(prefix);
1286
s = (CharPtr)MemNew(l + ll);
1287
ss = (CharPtr)MemNew(p-str+1);
1288
StringNCpy(ss, str, p-str);
1293
sprintf(s, prefix, link_imgt, p);
1172
1299
if (( p = StringStr(str, "GDB:")) != NULL) {
1173
1300
p += StringLen("GDB:");
1174
1301
if (( pp = StringStr(p, "G00-")) != NULL) {
1348
1478
ff_AddString(p);
1349
1479
AddLink("</a>");
1481
if (( p = StringStr(str, "WormBase:")) != NULL) {
1482
CharPtr worm_link = NULL;
1484
p += StringLen("WormBase:");
1485
if (StringStr (str, "unc") != NULL) {
1486
worm_link = link_worm_locus;
1487
l = StringLen(worm_link) + StringLen(p);
1488
prefix = "<a href=%s%s;class=Locus>";
1490
worm_link = link_worm_sequence;
1491
l = StringLen(worm_link) + StringLen(p);
1492
prefix = "<a href=%s%s;class=Sequence>";
1494
ll = StringLen(prefix);
1495
s = (CharPtr)MemNew(l + ll);
1496
ss = (CharPtr)MemNew(p-str+1);
1497
StringNCpy(ss, str, p-str);
1502
sprintf(s, prefix, worm_link, p);
1508
if (( p = StringStr(str, "IFO:")) != NULL) {
1510
p += StringLen("IFO:");
1511
l = StringLen(link_ifo) + StringLen(p);
1512
prefix = "<a href=%s>";
1513
ll = StringLen(prefix);
1514
s = (CharPtr)MemNew(l + ll);
1515
ss = (CharPtr)MemNew(p-str+1);
1516
StringNCpy(ss, str, p-str);
1521
sprintf(s, prefix, link_ifo);
1527
if (( p = StringStr(str, "JCM:")) != NULL) {
1529
p += StringLen("JCM:");
1530
l = StringLen(link_jcm) + StringLen(p);
1531
prefix = "<a href=%s%s>";
1532
ll = StringLen(prefix);
1533
s = (CharPtr)MemNew(l + ll);
1534
ss = (CharPtr)MemNew(p-str+1);
1535
StringNCpy(ss, str, p-str);
1540
sprintf(s, prefix, link_jcm, p);
1546
if (( p = StringStr(str, "ISFinder:")) != NULL) {
1548
p += StringLen("ISFinder:");
1549
l = StringLen(link_isfinder) + StringLen(p);
1550
prefix = "<a href=%s%s>";
1551
ll = StringLen(prefix);
1552
s = (CharPtr)MemNew(l + ll);
1553
ss = (CharPtr)MemNew(p-str+1);
1554
StringNCpy(ss, str, p-str);
1559
sprintf(s, prefix, link_isfinder, p);
1565
if (( p = StringStr(str, "GABI:")) != NULL) {
1567
p += StringLen("GABI:");
1568
l = StringLen(link_gabi) + StringLen(p);
1569
prefix = "<a href=%s%s>";
1570
ll = StringLen(prefix);
1571
s = (CharPtr)MemNew(l + ll);
1572
ss = (CharPtr)MemNew(p-str+1);
1573
StringNCpy(ss, str, p-str);
1578
sprintf(s, prefix, link_gabi, p);
1584
if (( p = StringStr(str, "FANTOM_DB:")) != NULL) {
1586
p += StringLen("FANTOM_DB:");
1587
l = StringLen(link_fantom) + StringLen(p);
1588
prefix = "<a href=%s%s>";
1589
ll = StringLen(prefix);
1590
s = (CharPtr)MemNew(l + ll);
1591
ss = (CharPtr)MemNew(p-str+1);
1592
StringNCpy(ss, str, p-str);
1597
sprintf(s, prefix, link_fantom, p);
1352
1604
ff_AddString(str);