Bioperl: Bio::NCBI

Ewan Birney birney@sanger.ac.uk
Wed, 6 May 1998 21:13:00 +0100 (BST)


On Wed, 6 May 1998, Lincoln Stein wrote:

> Hi Everyone,
> 
> I've recently been in contact with NCBI's Lewis Geer, who confesses to
> me that in his free time he's been working on an XS style Perl
> interface to the NCBI toolkit libraries.  This would be neat because
> it would give us native access to BLAST searches, pubMed retrievals,
> and so forth, and the problem of parsing the output of other tools and
> Web pages would suddenly disappear.

I think this is a great project and should be supported. I agree with 
ncbi that for complete 'portability' C is unsurpassed but Perl is 
nearly as portable as C...

[also good as I *was* considering it...in a spare week or so ;) ]

--> A possible idea is to use SWIG (www.swig.org) for such a project,
(I probably telling people the gospel on this list), which would provide
automatic bundling into python, tcl and soon java native interface (I
hear...). However, I've done it both ways (swig and pure XS) and I fell
down on the XS side of the fence, so ... that's my look.

[if you are interested I can tell you why swig didn't match up to my
expectations - all to do with memory management unsurprisingly.]

[[if you are really interested you can poke around the extremely alpha
port of Wise2 into perl, found really mainly from the ftp site
ftp.sanger.ac.uk/pub/birney/wise/alpha/wise2.1.x.tar.gz - the
documentation on the web site (www.sanger.ac.uk/Software/Wise2/) mainly
reflects the old - sans XS/Perl - stuff - but there is a programmer's
corner at www.sanger.ac.uk/Software/Wise2/Programming/ ]]

> 
> Is anyone working on such a project?  If not, I'd like to propose a
> new Bio::NCBI namespace for these modules.  Also, there appears to be
> some disagreement at NCBI on whether such an effort is useful
> (unredeemable C programmers dominate there, and they have yet to
> appreciat the beauty of Perl).  If people think this project is a good
> idea, it would be helpful to make some enthusiastic noise about it so
> that Lewis can have something to go to his superiors with when 
> argues for moving the project up in the priority list.
> 

Consider this an enthusiastic noise. If we had a perl interface at
the sanger, we'd install it and (slowly at first) use it - in
particular - 

	Blast2 parsing
	pubmed retrievals


Namespace:

So - my take on this is that it would be better to make NCBI the root
namespace. Reasons -

	a) NCBI is unique (?) and its inclusion in the Bio:: heirarchy 
is just for 'documentation' purposes.
	
	b) There are things in NCBI (eg ASN stuff) that is not directly
anything to do with biology

	c) (and most importantly) the functionality inside Bio:: 
heirarchy can be assummed to sensibly work together - and the
functionality coming out of the NCBI may well work seemlessly with
everything else, - but - not for certain. By drawing a valid distinction
at the top level between NCBI:: and Bio:: people can understand what
they are using and who to expect what from (rather like some collaborative
C programming projects where function names start with your initials ;)).

	I think you'll be confusing more people by trying to present once
seemless Bio:: view to people than the necessary 'pick up the following 2
module trees - Bio::, NCBI::...

my $.02 


Ewan Birney
<birney@sanger.ac.uk>
http://www.sanger.ac.uk/Users/birney/

=========== Bioperl Project Mailing List Message Footer =======
Project URL: http://www.techfak.uni-bielefeld.de/bcd/Perl/Bio/
For info about how to (un)subscribe, where messages are archived, etc:
http://www.techfak.uni-bielefeld.de/bcd/Perl/Bio/vsns-bcd-perl.html
====================================================================