[Bioperl-l] EUtilities term handling

Hilmar Lapp hlapp at gmx.net
Thu Oct 5 14:54:04 UTC 2006

On Oct 5, 2006, at 10:32 AM, Sendu Bala wrote:

>> The examples you give are about wrapping a web-service. Your  
>> original question was about wrapping a website.
> Right... I don't see that that changes the answer to my question  
> though does it?
> "The question is, should a Bioperl module always work with
> queries that the web-service it is a front-end to works with?"
> For me, the answer is still yes.

The answer is still yes. My point was the query that works with a  
website is not necessarily the query that works with a web-service,  
even if that web-service also powers the website.

>> As far as I'm concerned, I'll happily count myself among those who  
>> are lazy and ignorant, don't read NCBI's documentation, don't want  
>> to know how to URL encode and why this needs to be done, but just  
>> want it to work.
> That's a reasonable attitude to take. Which comes back to the  
> question I asked of Chris - naively, if you send + as + you can  
> please everyone, can't you? Both people who have read the docs on  
> the web-service and those who haven't? Or are there real queries in  
> which a user may want to search for a phrase with a literal + in it  
> (and where such a search works via eutils)?

So are you suggesting to URL-encode some characters but not others?  
This would move you into muddy waters and I'm wondering what the gain  
is from that, and for whom it is a gain.

It sounds like it will mostly benefit those who have studied the NCBI  
documentation and know exactly the URL they want to send and want to  
ignore the EUtilities POD.

My humble guess is the far majority of people will either not read  
any documentation, or read the module's POD.

Maybe a better way to serve both types of people is to accept a  
parameter -querystring that is expected to include everything from  
'term=' onwards (including 'term=' itself) which gives you complete  
control and freedom if you know what you are doing, and otherwise  
implement what you suggested before:

> I was going to suggest that terms be supplied as an array, leaving
> Bioperl code to decide how to 'AND' all the terms (elements in the
> array) together. It would also further force the user not to think of
> how eutils normally works, but to only consider the Bioperl  
> instructions
> on how to form a query.


: Hilmar Lapp  -:-  Durham, NC  -:-  hlapp at gmx dot net :

More information about the Bioperl-l mailing list