2214
2220
FFAddOneString(ffstring, "</a>", FALSE, FALSE, TILDE_IGNORE);
2217
static void AddOldProjectBlock (
2222
IntAsn2gbJobPtr ajp;
2228
SeqMgrDescContext dcontext;
2229
StringItemPtr ffstring;
2231
UserObjectPtr gpuop = NULL;
2232
ValNodePtr head = NULL;
2242
if (awp == NULL) return;
2244
if (ajp == NULL) return;
2246
if (bsp == NULL) return;
2248
if (asp == NULL) return;
2250
if (! ISA_na (bsp->mol)) return;
2251
if (awp->format != GENBANK_FMT) return;
2254
gbseq = &asp->gbseq;
2259
sdp = SeqMgrGetNextDescriptor (bsp, NULL, Seq_descr_user, &dcontext);
2260
while (sdp != NULL) {
2261
uop = (UserObjectPtr) sdp->data.ptrvalue;
2264
if (oip != NULL && StringICmp (oip->str, "GenomeProjectsDB") == 0) {
2266
itemID = dcontext.itemID;
2269
sdp = SeqMgrGetNextDescriptor (bsp, sdp, Seq_descr_user, &dcontext);
2271
if (gpuop == NULL) return;
2273
ffstring = FFGetString (ajp);
2274
if ( ffstring == NULL ) return;
2276
bbp = Asn2gbAddBlock (awp, PROJECT_BLOCK, sizeof (BaseBlock));
2277
if (bbp == NULL) return;
2279
bbp->entityID = awp->entityID;
2280
bbp->itemID = itemID;
2281
bbp->itemtype = OBJ_SEQDESC;
2283
FFStartPrint (ffstring, awp->format, 0, 12, "PROJECT", 12, 5, 5, "XX", TRUE);
2285
prefix = "GenomeProject:";
2288
for (curr = gpuop->data; curr != NULL; curr = curr->next) {
2290
if (oip == NULL) continue;
2291
if (StringICmp (oip->str, "ProjectID") == 0) {
2292
if (curr->choice == 2) {
2293
val = (Int4) curr->data.intvalue;
2294
if (projectID > 0) {
2295
sprintf (buf, "%ld", (long) projectID);
2296
FFAddOneString (ffstring, prefix, FALSE, FALSE, TILDE_IGNORE);
2298
FF_asn2gb_www_projID (ffstring, buf);
2300
FFAddOneString (ffstring, buf, FALSE, FALSE, TILDE_IGNORE);
2303
FFAddTextToString (ffstring, prefix, buf, NULL, FALSE, FALSE, TILDE_IGNORE);
2305
if (gbseq != NULL) {
2307
sprintf (buf, "%ld", (long) projectID);
2309
sprintf (buf, ", %ld", (long) projectID);
2311
ValNodeCopyStr (&head, 0, buf);
2318
} else if (StringICmp (oip->str, "ParentID") == 0) {
2319
if (curr->choice == 2) {
2320
val = (Int4) curr->data.intvalue;
2325
if (projectID > 0) {
2326
sprintf (buf, "%ld", (long) projectID);
2327
FFAddOneString (ffstring, prefix, FALSE, FALSE, TILDE_IGNORE);
2329
FF_asn2gb_www_projID (ffstring, buf);
2331
FFAddOneString (ffstring, buf, FALSE, FALSE, TILDE_IGNORE);
2334
FFAddTextToString (ffstring, prefix, buf, NULL, FALSE, FALSE, TILDE_IGNORE);
2336
if (gbseq != NULL) {
2338
sprintf (buf, "%ld", (long) projectID);
2340
sprintf (buf, ", %ld", (long) projectID);
2342
ValNodeCopyStr (&head, 0, buf);
2346
bbp->string = FFEndPrint (ajp, ffstring, awp->format, 12, 12, 5, 5, "XX");
2347
FFRecycleString (ajp, ffstring);
2349
if (gbseq != NULL) {
2351
gbseq->project = MergeFFValNodeStrs (head);
2352
ValNodeFreeData (head);
2356
if (awp->afp != NULL) {
2357
DoImmediateFormat (awp->afp, bbp);
2361
2223
static CharPtr GetDBLinkString (
2362
2224
UserObjectPtr uop
2283
if (StringICmp (oip->str, "ProbeDB") == 0 && ufp->choice == 7) {
2284
cpp = (CharPtr PNTR) ufp->data.ptrvalue;
2285
if (ufp->num > 0 && cpp != NULL) {
2287
if (StringDoesHaveText (str)) {
2288
sprintf (buf3, "ProbeDB:%s", str);
2289
for (i = 1; i < ufp->num; i++) {
2291
if (StringDoesHaveText (str)) {
2292
sprintf (tmp, ",%s", str);
2293
StringCat (buf3, tmp);
2421
if (StringHasNoText (buf1) && StringHasNoText (buf2)) return NULL;
2301
if (StringHasNoText (buf1) && StringHasNoText (buf2) && StringHasNoText (buf3)) return NULL;
2423
len = StringLen (buf1) + StringLen (buf2);
2303
len = StringLen (buf1) + StringLen (buf2) + StringLen (buf3);
2424
2304
str = (CharPtr) MemNew (sizeof (Char) * (len + 2));
2425
2305
if (str == NULL) return NULL;
3468
3361
if (choice == SEQID_SWISSPROT) {
3469
3362
FFAddOneString (ffstring, "<a href=\"", FALSE, FALSE, TILDE_IGNORE);
3470
3363
FF_Add_NCBI_Base_URL (ffstring, link);
3364
for (text = temp; text != end; ++text ) {
3365
FFAddOneChar (ffstring, *text, FALSE);
3472
3368
FFAddOneString (ffstring, "<a href=\"", FALSE, FALSE, TILDE_IGNORE);
3473
3369
FF_Add_NCBI_Base_URL (ffstring, link);
3474
FFAddOneString (ffstring, /* "val=" */ NULL, FALSE, FALSE, TILDE_IGNORE);
3476
for (text = temp; text != end; ++text ) {
3477
FFAddOneChar(ffstring, *text, FALSE);
3370
gi = GetGIForSeqId (sip);
3372
sprintf (gibuf, "%ld", (long) gi);
3373
FFAddOneString (ffstring, gibuf, FALSE, FALSE, TILDE_IGNORE);
3375
for (text = temp; text != end; ++text ) {
3376
FFAddOneChar(ffstring, *text, FALSE);
3479
3380
FFAddOneString(ffstring, "\">", FALSE, FALSE, TILDE_IGNORE);