diff options
author | Aaron M. Ucko <ucko@debian.org> | 2005-06-17 02:24:46 +0000 |
---|---|---|
committer | Aaron M. Ucko <ucko@debian.org> | 2005-06-17 02:24:46 +0000 |
commit | d76c50353c9e74f6915ca6352afb29ae53d45777 (patch) | |
tree | 9045ebb0b61573bfa4ff3d8778899c5a2cb76d6c /api/asn2gnb4.c | |
parent | 402b112099aa816a02fd502b7f0261a99fe7126a (diff) |
Load /tmp/.../ncbi-tools6-6.1.20050605 into
branches/upstream/current.
Diffstat (limited to 'api/asn2gnb4.c')
-rw-r--r-- | api/asn2gnb4.c | 61 |
1 files changed, 54 insertions, 7 deletions
diff --git a/api/asn2gnb4.c b/api/asn2gnb4.c index d39c28fa..f22833cb 100644 --- a/api/asn2gnb4.c +++ b/api/asn2gnb4.c @@ -30,7 +30,7 @@ * * Version Creation Date: 10/21/98 * -* $Revision: 1.51 $ +* $Revision: 1.52 $ * * File Description: New GenBank flatfile generator - work in progress * @@ -1622,8 +1622,8 @@ static void GetStrFormRNAEvidence ( { size_t len; - CharPtr method = NULL; - Int2 nm = 0; + CharPtr method = NULL, prefix = NULL; + Int2 ne = 0, nm = 0, np = 0; ObjectIdPtr oip; CharPtr str = NULL; CharPtr PNTR strp; @@ -1653,10 +1653,32 @@ static void GetStrFormRNAEvidence ( } } } + } else if (StringCmp (oip->str, "EST") == 0) { + for (u = (UserFieldPtr) ufp->data.ptrvalue; u != NULL; u = u->next) { + if (u->data.ptrvalue == NULL) continue; + for (uu = (UserFieldPtr) u->data.ptrvalue; uu != NULL; uu = uu->next) { + oip = uu->label; + if (oip == NULL) continue; + if (StringCmp (oip->str, "accession") == 0) { + ne++; + } + } + } + } else if (StringCmp (oip->str, "Protein") == 0) { + for (u = (UserFieldPtr) ufp->data.ptrvalue; u != NULL; u = u->next) { + if (u->data.ptrvalue == NULL) continue; + for (uu = (UserFieldPtr) u->data.ptrvalue; uu != NULL; uu = uu->next) { + oip = uu->label; + if (oip == NULL) continue; + if (StringCmp (oip->str, "accession") == 0) { + np++; + } + } + } } } - len = StringLen (mrnaevtext1) + StringLen (mrnaevtext2) + StringLen (mrnaevtext3) + StringLen (method) + 30; + len = StringLen (mrnaevtext1) + StringLen (mrnaevtext2) + StringLen (mrnaevtext3) + StringLen (method) + 80; str = (CharPtr) MemNew (len); if (str == NULL) return; @@ -1665,15 +1687,40 @@ static void GetStrFormRNAEvidence ( } else { sprintf (str, "%s.", mrnaevtext1); } - if (nm > 0) { + if (nm > 0 || ne > 0 || np > 0) { StringCat (str, " "); StringCat (str, mrnaevtext3); + } + prefix = " "; + if (nm > 0) { + StringCat (str, prefix); if (nm > 1) { - sprintf (tmp, " %d mRNAs", (int) nm); + sprintf (tmp, "%d mRNAs", (int) nm); + } else { + sprintf (tmp, "%d mRNA", (int) nm); + } + StringCat (str, tmp); + prefix = ", "; + } + if (ne > 0) { + StringCat (str, prefix); + if (ne > 1) { + sprintf (tmp, "%d ESTs", (int) ne); + } else { + sprintf (tmp, "%d EST", (int) ne); + } + StringCat (str, tmp); + prefix = ", "; + } + if (np > 0) { + StringCat (str, prefix); + if (np > 1) { + sprintf (tmp, "%d Proteins", (int) np); } else { - sprintf (tmp, " %d mRNA", (int) nm); + sprintf (tmp, "%d Protein", (int) np); } StringCat (str, tmp); + prefix = ", "; } *strp = str; |