biogo/ncbi

EInfo and ESummary XML version=2.0 parameter.

Opened this issue · 2 comments

The EInfo and ESummary utilities both support a "version=2.0" parameter.

When present, ESummary will include additional database specific elements and EInfo will include elements identifying fields that support range and wildcard values.

This parameter is documented in The E-utilities In-Depth: Parameters, Syntax and More.

I do not yet know where/how it might be appropriate to add this parameter, if at all.
One candidate is the ncbi.Util.Prepare function, however, during limited tests I've observed this parameter can sometimes result in extended information:

GET http://eutils.ncbi.nlm.nih.gov/entrez/eutils/einfo.fcgi?version=2.0&db=pubmed
The Field results include IsTruncatable and IsRangeable elements.

Sometimes it will result in no information:

GET http://eutils.ncbi.nlm.nih.gov/entrez/eutils/einfo.fcgi?version=2.0
The result is empty instead of returning a list of database names.

Yeah, I've had some thoughts about how to handle the version 2. Also BLAST offers a JSON and extended XML (see discussion here).

Unless someone can convince me of the importance of implementing this (and probably put in the work as well), I can't see it happening any time soon. The reason for this is that the translation of the DTDs is done manually and may result in conflicting structs with the current implementation (or may not), and I hate working with XML.

Thank you very much for the link Dan. I just started digging into eutils yesterday, so everything is new to me. I am look forward to digging into the BLAST output you mentioned after I finish with eutils.