summaryrefslogtreecommitdiff
path: root/network
diff options
context:
space:
mode:
authorAaron M. Ucko <ucko@debian.org>2008-03-14 21:05:36 +0000
committerAaron M. Ucko <ucko@debian.org>2008-03-14 21:05:36 +0000
commit57c46350c843512260030ae52710924dcb340f0b (patch)
tree8381b9111d6284abc1d779ad4dbcb37b2a276e4a /network
parent7647e504b18f91edcedba85e7a6ef772b2a0f48b (diff)
[svn-upgrade] Integrating new upstream version, ncbi-tools6 (6.1.20080302)
Diffstat (limited to 'network')
-rw-r--r--network/id2arch/id2.asn5
-rw-r--r--network/id2arch/id2.h87
-rw-r--r--network/medarch/client/medutil.c69
-rw-r--r--network/medarch/client/medutil.h9
-rw-r--r--network/taxon1/taxon2/txcdproc.c7
5 files changed, 128 insertions, 49 deletions
diff --git a/network/id2arch/id2.asn b/network/id2arch/id2.asn
index 00db0250..f2bf2950 100644
--- a/network/id2arch/id2.asn
+++ b/network/id2arch/id2.asn
@@ -1,4 +1,4 @@
---$Revision: 1.20 $
+--$Revision: 1.21 $
--********************************************************************
--
-- Network Id server network access
@@ -69,7 +69,8 @@ ID2-Request-Get-Seq-id ::= SEQUENCE {
gi (1), -- gi is preferred
text (2), -- text Seq-id (accession etc) is preferred
general (4), -- general Seq-id is preferred
- all (127) -- return all qualified Seq-ids of the sequence
+ all (127), -- return all qualified Seq-ids of the sequence
+ label (128) -- return a sequence string label as general id
} DEFAULT any
}
diff --git a/network/id2arch/id2.h b/network/id2arch/id2.h
index a76dd7ba..2092afb5 100644
--- a/network/id2arch/id2.h
+++ b/network/id2arch/id2.h
@@ -9,8 +9,8 @@
#include <asn.h>
#endif
-static char * asnfilename = "id2.h19";
-static AsnValxNode avnx[62] = {
+static char * asnfilename = "id2.h20";
+static AsnValxNode avnx[63] = {
{20,"set-value" ,1,0.0,&avnx[1] } ,
{20,"get-value" ,2,0.0,&avnx[2] } ,
{20,"force-value" ,3,0.0,&avnx[3] } ,
@@ -29,49 +29,50 @@ static AsnValxNode avnx[62] = {
{20,"mgc" ,16,0.0,&avnx[16] } ,
{20,"hprd" ,32,0.0,&avnx[17] } ,
{20,"sts" ,64,0.0,&avnx[18] } ,
- {20,"trna" ,128,0.0,NULL } ,
+ {20,"trna" ,128,0.0,&avnx[19] } ,
+ {20,"exon" ,512,0.0,NULL } ,
{3,NULL,0,0.0,NULL } ,
{3,NULL,1,0.0,NULL } ,
{3,NULL,1,0.0,NULL } ,
{3,NULL,0,0.0,NULL } ,
{3,NULL,0,0.0,NULL } ,
{3,NULL,0,0.0,NULL } ,
- {20,"none" ,0,0.0,&avnx[26] } ,
- {20,"seq-map" ,1,0.0,&avnx[27] } ,
+ {20,"none" ,0,0.0,&avnx[27] } ,
+ {20,"seq-map" ,1,0.0,&avnx[28] } ,
{20,"seq-data" ,2,0.0,NULL } ,
{3,NULL,0,0.0,NULL } ,
- {20,"warning" ,1,0.0,&avnx[30] } ,
- {20,"failed-command" ,2,0.0,&avnx[31] } ,
- {20,"failed-connection" ,3,0.0,&avnx[32] } ,
- {20,"failed-server" ,4,0.0,&avnx[33] } ,
- {20,"no-data" ,5,0.0,&avnx[34] } ,
- {20,"restricted-data" ,6,0.0,&avnx[35] } ,
- {20,"unsupported-command" ,7,0.0,&avnx[36] } ,
+ {20,"warning" ,1,0.0,&avnx[31] } ,
+ {20,"failed-command" ,2,0.0,&avnx[32] } ,
+ {20,"failed-connection" ,3,0.0,&avnx[33] } ,
+ {20,"failed-server" ,4,0.0,&avnx[34] } ,
+ {20,"no-data" ,5,0.0,&avnx[35] } ,
+ {20,"restricted-data" ,6,0.0,&avnx[36] } ,
+ {20,"unsupported-command" ,7,0.0,&avnx[37] } ,
{20,"invalid-arguments" ,8,0.0,NULL } ,
{3,NULL,0,0.0,NULL } ,
- {20,"live" ,0,0.0,&avnx[39] } ,
- {20,"suppressed-temp" ,1,0.0,&avnx[40] } ,
- {20,"suppressed" ,2,0.0,&avnx[41] } ,
- {20,"dead" ,3,0.0,&avnx[42] } ,
- {20,"protected" ,4,0.0,&avnx[43] } ,
+ {20,"live" ,0,0.0,&avnx[40] } ,
+ {20,"suppressed-temp" ,1,0.0,&avnx[41] } ,
+ {20,"suppressed" ,2,0.0,&avnx[42] } ,
+ {20,"dead" ,3,0.0,&avnx[43] } ,
+ {20,"protected" ,4,0.0,&avnx[44] } ,
{20,"withdrawn" ,5,0.0,NULL } ,
- {20,"seq-entry" ,0,0.0,&avnx[45] } ,
- {20,"seq-annot" ,1,0.0,&avnx[46] } ,
- {20,"id2s-split-info" ,2,0.0,&avnx[47] } ,
+ {20,"seq-entry" ,0,0.0,&avnx[46] } ,
+ {20,"seq-annot" ,1,0.0,&avnx[47] } ,
+ {20,"id2s-split-info" ,2,0.0,&avnx[48] } ,
{20,"id2s-chunk" ,3,0.0,NULL } ,
{3,NULL,0,0.0,NULL } ,
- {20,"asn-binary" ,0,0.0,&avnx[50] } ,
- {20,"asn-text" ,1,0.0,&avnx[51] } ,
+ {20,"asn-binary" ,0,0.0,&avnx[51] } ,
+ {20,"asn-text" ,1,0.0,&avnx[52] } ,
{20,"xml" ,2,0.0,NULL } ,
{3,NULL,0,0.0,NULL } ,
- {20,"none" ,0,0.0,&avnx[54] } ,
- {20,"gzip" ,1,0.0,&avnx[55] } ,
- {20,"nlmzip" ,2,0.0,&avnx[56] } ,
+ {20,"none" ,0,0.0,&avnx[55] } ,
+ {20,"gzip" ,1,0.0,&avnx[56] } ,
+ {20,"nlmzip" ,2,0.0,&avnx[57] } ,
{20,"bzip2" ,3,0.0,NULL } ,
{3,NULL,0,0.0,NULL } ,
{3,NULL,0,0.0,NULL } ,
- {20,"reply" ,0,0.0,&avnx[60] } ,
- {20,"last-octet-string" ,1,0.0,&avnx[61] } ,
+ {20,"reply" ,0,0.0,&avnx[61] } ,
+ {20,"last-octet-string" ,1,0.0,&avnx[62] } ,
{20,"nothing" ,2,0.0,NULL } };
static AsnType atx[148] = {
@@ -124,7 +125,7 @@ static AsnType atx[148] = {
{0, "blob-id" ,128,0,0,0,0,0,0,0,NULL,&atx[47],NULL,0,&atx[52]} ,
{415, "ID2-Blob-Id" ,1,0,0,0,0,0,0,0,NULL,&atx[20],&atx[48],0,&atx[58]} ,
{0, "sat" ,128,0,0,0,0,0,0,0,NULL,&atx[8],NULL,0,&atx[49]} ,
- {0, "sub-sat" ,128,1,0,0,1,0,0,0,&avnx[19],&atx[8],&avnx[11],0,&atx[50]} ,
+ {0, "sub-sat" ,128,1,0,0,1,0,0,0,&avnx[20],&atx[8],&avnx[11],0,&atx[50]} ,
{0, "sat-key" ,128,2,0,0,0,0,0,0,NULL,&atx[8],NULL,0,&atx[51]} ,
{0, "version" ,128,3,0,1,0,0,0,0,NULL,&atx[8],NULL,0,NULL} ,
{0, "resolve" ,128,1,0,0,0,0,0,0,NULL,&atx[20],&atx[53],0,NULL} ,
@@ -135,12 +136,12 @@ static AsnType atx[148] = {
{0, "get-data" ,128,2,0,1,0,0,0,0,NULL,&atx[58],NULL,0,NULL} ,
{416, "ID2-Get-Blob-Details" ,1,0,0,0,0,0,0,0,NULL,&atx[20],&atx[59],0,&atx[77]} ,
{0, "location" ,128,0,0,1,0,0,0,0,NULL,&atx[1],NULL,0,&atx[60]} ,
- {0, "seq-class-level" ,128,1,0,0,1,0,0,0,&avnx[20],&atx[8],NULL,0,&atx[61]} ,
- {0, "descr-level" ,128,2,0,0,1,0,0,0,&avnx[21],&atx[8],NULL,0,&atx[62]} ,
- {0, "descr-type-mask" ,128,3,0,0,1,0,0,0,&avnx[22],&atx[8],NULL,0,&atx[63]} ,
- {0, "annot-type-mask" ,128,4,0,0,1,0,0,0,&avnx[23],&atx[8],NULL,0,&atx[64]} ,
- {0, "feat-type-mask" ,128,5,0,0,1,0,0,0,&avnx[24],&atx[8],NULL,0,&atx[65]} ,
- {0, "sequence-level" ,128,6,0,0,1,0,0,0,&avnx[28],&atx[19],&avnx[25],0,NULL} ,
+ {0, "seq-class-level" ,128,1,0,0,1,0,0,0,&avnx[21],&atx[8],NULL,0,&atx[61]} ,
+ {0, "descr-level" ,128,2,0,0,1,0,0,0,&avnx[22],&atx[8],NULL,0,&atx[62]} ,
+ {0, "descr-type-mask" ,128,3,0,0,1,0,0,0,&avnx[23],&atx[8],NULL,0,&atx[63]} ,
+ {0, "annot-type-mask" ,128,4,0,0,1,0,0,0,&avnx[24],&atx[8],NULL,0,&atx[64]} ,
+ {0, "feat-type-mask" ,128,5,0,0,1,0,0,0,&avnx[25],&atx[8],NULL,0,&atx[65]} ,
+ {0, "sequence-level" ,128,6,0,0,1,0,0,0,&avnx[29],&atx[19],&avnx[26],0,NULL} ,
{0, "reget-blob" ,128,5,0,0,0,0,0,0,NULL,&atx[67],NULL,0,&atx[71]} ,
{412, "ID2-Request-ReGet-Blob" ,1,0,0,0,0,0,0,0,NULL,&atx[20],&atx[68],0,&atx[72]} ,
{0, "blob-id" ,128,0,0,0,0,0,0,0,NULL,&atx[47],NULL,0,&atx[69]} ,
@@ -158,7 +159,7 @@ static AsnType atx[148] = {
{0, "error" ,128,2,0,1,0,0,0,0,NULL,&atx[17],&atx[81],0,&atx[86]} ,
{0, NULL,1,-1,0,0,0,0,0,0,NULL,&atx[82],NULL,0,NULL} ,
{418, "ID2-Error" ,1,0,0,0,0,0,0,0,NULL,&atx[20],&atx[83],0,&atx[91]} ,
- {0, "severity" ,128,0,0,0,0,0,0,0,NULL,&atx[19],&avnx[29],0,&atx[84]} ,
+ {0, "severity" ,128,0,0,0,0,0,0,0,NULL,&atx[19],&avnx[30],0,&atx[84]} ,
{0, "retry-delay" ,128,1,0,1,0,0,0,0,NULL,&atx[8],NULL,0,&atx[85]} ,
{0, "message" ,128,2,0,1,0,0,0,0,NULL,&atx[14],NULL,0,NULL} ,
{0, "end-of-reply" ,128,3,0,1,0,0,0,0,NULL,&atx[23],NULL,0,&atx[87]} ,
@@ -179,27 +180,27 @@ static AsnType atx[148] = {
{421, "ID2-Reply-Get-Blob-Id" ,1,0,0,0,0,0,0,0,NULL,&atx[20],&atx[102],0,&atx[111]} ,
{0, "seq-id" ,128,0,0,0,0,0,0,0,NULL,&atx[0],NULL,0,&atx[103]} ,
{0, "blob-id" ,128,1,0,1,0,0,0,0,NULL,&atx[47],NULL,0,&atx[104]} ,
- {0, "split-version" ,128,2,0,0,1,0,0,0,&avnx[37],&atx[8],NULL,0,&atx[105]} ,
+ {0, "split-version" ,128,2,0,0,1,0,0,0,&avnx[38],&atx[8],NULL,0,&atx[105]} ,
{0, "annot-info" ,128,3,0,1,0,0,0,0,NULL,&atx[17],&atx[106],0,&atx[107]} ,
{0, NULL,1,-1,0,0,0,0,0,0,NULL,&atx[3],NULL,0,NULL} ,
{0, "end-of-reply" ,128,4,0,1,0,0,0,0,NULL,&atx[23],NULL,0,&atx[108]} ,
{0, "blob-state" ,128,5,0,1,0,0,0,0,NULL,&atx[109],NULL,0,NULL} ,
- {427, "ID2-Blob-State" ,1,0,0,0,0,0,0,0,NULL,&atx[19],&avnx[38],0,&atx[114]} ,
+ {427, "ID2-Blob-State" ,1,0,0,0,0,0,0,0,NULL,&atx[19],&avnx[39],0,&atx[114]} ,
{0, "get-blob-seq-ids" ,128,5,0,0,0,0,0,0,NULL,&atx[111],NULL,0,&atx[121]} ,
{422, "ID2-Reply-Get-Blob-Seq-ids" ,1,0,0,0,0,0,0,0,NULL,&atx[20],&atx[112],0,&atx[122]} ,
{0, "blob-id" ,128,0,0,0,0,0,0,0,NULL,&atx[47],NULL,0,&atx[113]} ,
{0, "ids" ,128,1,0,1,0,0,0,0,NULL,&atx[114],NULL,0,NULL} ,
{428, "ID2-Reply-Data" ,1,0,0,0,0,0,0,0,NULL,&atx[20],&atx[115],0,&atx[143]} ,
- {0, "data-type" ,128,0,0,0,1,0,0,0,&avnx[48],&atx[8],&avnx[44],0,&atx[116]} ,
- {0, "data-format" ,128,1,0,0,1,0,0,0,&avnx[52],&atx[8],&avnx[49],0,&atx[117]} ,
- {0, "data-compression" ,128,2,0,0,1,0,0,0,&avnx[57],&atx[8],&avnx[53],0,&atx[118]} ,
+ {0, "data-type" ,128,0,0,0,1,0,0,0,&avnx[49],&atx[8],&avnx[45],0,&atx[116]} ,
+ {0, "data-format" ,128,1,0,0,1,0,0,0,&avnx[53],&atx[8],&avnx[50],0,&atx[117]} ,
+ {0, "data-compression" ,128,2,0,0,1,0,0,0,&avnx[58],&atx[8],&avnx[54],0,&atx[118]} ,
{0, "data" ,128,3,0,0,0,0,0,0,NULL,&atx[17],&atx[119],0,NULL} ,
{0, NULL,1,-1,0,0,0,0,0,0,NULL,&atx[120],NULL,0,NULL} ,
{304, "OCTET STRING" ,0,4,0,0,0,0,0,0,NULL,NULL,NULL,0,NULL} ,
{0, "get-blob" ,128,6,0,0,0,0,0,0,NULL,&atx[122],NULL,0,&atx[126]} ,
{423, "ID2-Reply-Get-Blob" ,1,0,0,0,0,0,0,0,NULL,&atx[20],&atx[123],0,&atx[127]} ,
{0, "blob-id" ,128,0,0,0,0,0,0,0,NULL,&atx[47],NULL,0,&atx[124]} ,
- {0, "split-version" ,128,1,0,0,1,0,0,0,&avnx[58],&atx[8],NULL,0,&atx[125]} ,
+ {0, "split-version" ,128,1,0,0,1,0,0,0,&avnx[59],&atx[8],NULL,0,&atx[125]} ,
{0, "data" ,128,2,0,1,0,0,0,0,NULL,&atx[114],NULL,0,NULL} ,
{0, "reget-blob" ,128,7,0,0,0,0,0,0,NULL,&atx[127],NULL,0,&atx[132]} ,
{424, "ID2-Reply-ReGet-Blob" ,1,0,0,0,0,0,0,0,NULL,&atx[20],&atx[128],0,&atx[133]} ,
@@ -217,7 +218,7 @@ static AsnType atx[148] = {
{0, "blob-id" ,128,0,0,0,0,0,0,0,NULL,&atx[47],NULL,0,&atx[140]} ,
{0, "chunk-id" ,128,1,0,0,0,0,0,0,NULL,&atx[2],NULL,0,&atx[141]} ,
{0, "data" ,128,2,0,1,0,0,0,0,NULL,&atx[114],NULL,0,NULL} ,
- {0, "discard" ,128,5,0,1,0,0,0,0,NULL,&atx[19],&avnx[59],0,NULL} ,
+ {0, "discard" ,128,5,0,1,0,0,0,0,NULL,&atx[19],&avnx[60],0,NULL} ,
{429, "ID2-Blob-Seq-ids" ,1,0,0,0,0,0,0,0,NULL,&atx[17],&atx[144],0,&atx[145]} ,
{0, NULL,1,-1,0,0,0,0,0,0,NULL,&atx[145],NULL,0,NULL} ,
{430, "ID2-Blob-Seq-id" ,1,0,0,0,0,0,0,0,NULL,&atx[20],&atx[146],0,&atx[12]} ,
@@ -225,7 +226,7 @@ static AsnType atx[148] = {
{0, "replaced" ,128,1,0,1,0,0,0,0,NULL,&atx[23],NULL,0,NULL} };
static AsnModule ampx[1] = {
- { "NCBI-ID2Access" , "id2.h19",&atx[0],NULL,NULL,0,0} };
+ { "NCBI-ID2Access" , "id2.h20",&atx[0],NULL,NULL,0,0} };
static AsnValxNodePtr avn = avnx;
static AsnTypePtr at = atx;
diff --git a/network/medarch/client/medutil.c b/network/medarch/client/medutil.c
index 0b81a201..ff59c9fd 100644
--- a/network/medarch/client/medutil.c
+++ b/network/medarch/client/medutil.c
@@ -28,7 +28,7 @@
*
* Version Creation Date: 8/31/93
*
-* $Revision: 6.21 $
+* $Revision: 6.23 $
*
* File Description: Medline Utilities for MedArch
* Assumes user calls MedArchInit and Fini
@@ -44,6 +44,13 @@
*
* RCS Modification History:
* $Log: medutil.c,v $
+* Revision 6.23 2007/12/04 23:29:22 bazhin
+* MergePubIds() renamed to MergeNonPubmedPubIds(). Merging is
+* limited to types DOI and OTHER only.
+*
+* Revision 6.22 2007/12/04 20:07:02 bazhin
+* Added ability to merge input article ids with ones from med server.
+*
* Revision 6.21 2005/02/15 17:45:32 bazhin
* Modified MedlineToISO() function: now in addition to Cit-art.Auth-list.ml
* slot it also looks at Cit-art.Auth-list.Author.Person-id.ml one
@@ -587,6 +594,59 @@ void FindPub(SeqEntryPtr sep, Pointer data, Int4 index, Int2 indent)
}
}
+/**********************************************************/
+static void MergeNonPubmedPubIds(CitArtPtr new, CitArtPtr old)
+{
+ ValNodePtr vnpnew;
+ ValNodePtr vnpold;
+ ValNodePtr vnpoldprev;
+ ValNodePtr vnpoldnext;
+ DbtagPtr dpnew;
+ DbtagPtr dpold;
+
+ if(old->ids == NULL)
+ return;
+
+ vnpoldprev = NULL;
+ for(vnpold = old->ids; vnpold != NULL; vnpold = vnpoldnext)
+ {
+ vnpoldnext = vnpold->next;
+
+ if(vnpold->choice != ARTICLEID_DOI &&
+ vnpold->choice != ARTICLEID_OTHER)
+ {
+ vnpoldprev = vnpold;
+ continue;
+ }
+
+ for(vnpnew = new->ids; vnpnew != NULL; vnpnew = vnpnew->next)
+ {
+ if(vnpnew->choice != vnpold->choice)
+ continue;
+
+ if(vnpnew->choice != ARTICLEID_OTHER)
+ break;
+ dpnew = vnpnew->data.ptrvalue;
+ dpold = vnpold->data.ptrvalue;
+ if(StringCmp(dpold->db, dpnew->db) == 0)
+ break;
+ }
+
+ if(vnpnew != NULL)
+ {
+ vnpoldprev = vnpold;
+ continue;
+ }
+
+ vnpold->next = new->ids;
+ new->ids = vnpold;
+ if(vnpoldprev == NULL)
+ old->ids = vnpoldnext;
+ else
+ vnpoldprev->next = vnpoldnext;
+ }
+}
+
/*****************************************************************************
*
* FixPub(pub, fpop)
@@ -637,6 +697,9 @@ ValNodePtr FixPub(ValNodePtr pub, FindPubOptionPtr fpop)
if(ten_authors(pub->data.ptrvalue, tmp->data.ptrvalue))
{
fpop->fetches_succeeded++;
+ if(fpop->merge_ids != FALSE)
+ MergeNonPubmedPubIds(tmp->data.ptrvalue,
+ pub->data.ptrvalue);
PubFree(pub);
pub = ValNodeNew(tmp);
pub->choice = PUB_PMid;
@@ -996,6 +1059,10 @@ ValNodePtr FixPubEquiv(ValNodePtr pube, FindPubOptionPtr fpop)
pube = FixPubEquivAppend(pube, tmp2, tmp);
tmp->next = new;
+ if(fpop->merge_ids != FALSE)
+ MergeNonPubmedPubIds(new->data.ptrvalue,
+ citartptr->data.ptrvalue);
+
PubFree(citartptr);
citartptr = new;
}
diff --git a/network/medarch/client/medutil.h b/network/medarch/client/medutil.h
index daf20b22..88a2d90a 100644
--- a/network/medarch/client/medutil.h
+++ b/network/medarch/client/medutil.h
@@ -29,7 +29,7 @@
*
* Version Creation Date: 8/31/93
*
-* $Revision: 6.2 $
+* $Revision: 6.3 $
*
* File Description: * File Description: Medline Utilities for MedArch
* Assumes user calls MedArchInit and Fini
@@ -45,6 +45,10 @@
*
* RCS Modification History:
* $Log: medutil.h,v $
+* Revision 6.3 2007/12/04 20:06:35 bazhin
+* Added Boolean variable "merge_ids" to merge input article
+* ids with ones from med server.
+*
* Revision 6.2 2003/03/25 19:14:50 bazhin
* Function "ten_authors()" became public (from static).
*
@@ -93,6 +97,9 @@ typedef struct findpubstr {
lookups_succeeded, /* citartmatch worked */
fetches_attempted, /* FetchPubs tried */
fetches_succeeded; /* FetchPubs that worked */
+ Boolean merge_ids; /* If TRUE then merges Cit-art.ids from
+ input Cit-sub and one gotten from
+ med server. */
} FindPubOption, PNTR FindPubOptionPtr;
/* SeqEntryExplore callback to fix all Pubs */
diff --git a/network/taxon1/taxon2/txcdproc.c b/network/taxon1/taxon2/txcdproc.c
index b7a11b97..98df8b42 100644
--- a/network/taxon1/taxon2/txcdproc.c
+++ b/network/taxon1/taxon2/txcdproc.c
@@ -29,7 +29,7 @@
*
* Version Creation Date: 07/15/97
*
-* $Revision: 1.17 $
+* $Revision: 1.18 $
*
* File Description:
* API for Taxonomy service
@@ -44,6 +44,9 @@
*
* RCS Modification History:
* $Log: txcdproc.c,v $
+* Revision 1.18 2007/09/14 18:28:47 soussov
+* fixes bug in init function (it now calls NetFini instead of TaxArchFini
+*
* Revision 1.17 2006/07/13 17:14:49 bollin
* use Uint4 instead of Uint2 for itemID values
*
@@ -199,7 +202,7 @@ static Boolean TaxServInit(void)
if (svcp == NULL) {
ErrPostEx(SEV_ERROR, 0, 0, "NI_ServiceGet [%s] (%s)", ni_errlist[ni_errno], ni_errtext);
- TaxServFini();
+ NetFini();
return FALSE;
}