[Bioperl-l] EUtilities term handling

Sendu Bala bix at sendu.me.uk
Thu Oct 5 11:28:55 EDT 2006


Chris Fields wrote:
> 
> On Oct 5, 2006, at 9:44 AM, Sendu Bala wrote:
> 
>> Chris Fields wrote:
>>> The bug is in the query and not in the code, i.e. is is a  
>>> user-generated bug, not an EUtilities bug.  And it shouldn't be 
>>> unexpected, as NCBI has very specific rules for building queries for 
>>> Entrez (just like any other database).
>>
>> So I guess this comes down to something Hilmar mentioned and I never 
>> even considered before. You consider your EUtilities stuff as a 
>> frontend to entrez, and therefore consider valid queries as queries 
>> that are valid for entrez and not eutils?
> 
> The eutils tools access the same databases as the web page, in the same 
> way, using the same search terms.

It doesn't. The eutils interface behaves differently with +s than does 
the entrez website interface. In eutils + means space, whilst in entrez, 
+ means the plus symbol.


>> If that's the case, fine. I understand why you don't think this is a 
>> bug. Again, something that might warrant a mention in the POD.
>> Currently the naming of the modules and the explicit references to 
>> eutils (and me knowing the implementation uses eutils) got me confused.
> 
> I'll note that in there is URI encoding in POD, but that should be a 
> no-brainer.

Just that it is URI encoded isn't the problem. The problem is the 
difference in behaviour outlined above.


> I don't think every Bio::DB* class specifies this, mainly 
> because it is taken for granted.  Pretty much anything that builds URL 
> strings needs to encode based on the URI standard, and any server that 
> accepts URLs is expected to decode using the same standard.
> 
> So, again, why does that have to be specifically outlined in POD?

Because they're different. If I construct a valid eutils query it might 
not work. You ought to explain why.

"EUtilities takes any valid entrez query and transforms it into a valid 
eutils query for submission. Do not try and provide a valid eutils query 
of your own, or the extra transformation will result in no results"


More information about the Bioperl-l mailing list