[Bioperl-l] RE: Integrating caBIOperl with BIOperl

Hilmar Lapp hlapp at gmx.net
Wed Nov 3 12:35:59 EST 2004


I very much agree with Lincoln's comment. One of the more frequent 
comments we have gotten is that expecially to newbies the plethora of 
modules in Bioperl and the apparent diversity of its APIs are already 
confusing. A bridge that binds the caBIOperl API to the existing 
Bioperl object model would be a great addition though.

	-hilmar

On Wednesday, November 3, 2004, at 06:47  AM, Covitz, Peter (NIH/NCI) 
wrote:

> Agreed, getting it into CPAN is the first order of business.
>
> caBIOperl is itself a wrapper around a lower-level SOAP-XML API.  That 
> gives
> us some flexibility on how we present the visible API interfaces.  
> Once we
> get it into CPAN, I'd be interested in continuing the discussion of 
> what the
> appropriate bridging and interface strategy would be to make it more
> suitable for use with bioperl.
>
> Thanks for the feedback!
>
> Regards,
>
> Peter
>
> -----Original Message-----
> From: Lincoln Stein [mailto:lstein at cshl.edu]
> Sent: Tuesday, November 02, 2004 5:48 PM
> To: Covitz, Peter (NIH/NCI); 'bioperl-l at bioperl.org'
> Subject: Re: [Bioperl-l] RE: Integrating caBIOperl with BIOperl
>
>
> I think that caBIOperl and BioPerl will both need some work in order 
> to make
>
> the APIs coherent with each other.  I am not eager to see caBIOperl 
> just
> dropped in without a more thorough integration.  Why not just release
> caBIOPerl onto CPAN?
>
> Lincoln
>
> On Tuesday 02 November 2004 03:13 pm, Covitz, Peter (NIH/NCI) wrote:
>> Ewan,
>>
>> I thought jump in and pick up this thread.  I understand and agree 
>> with
>> your point about needing a 'bridge' between caBIO classes and 
>> equivalent
>> existing bioperl classes.  Your suggestion on how to go about 
>> implementing
>> such a bridge was helpful, thanks.
>>
>> Beyond that, I had been thinking that it might be useful to 
>> contribute the
>> entire caBIOperl module to bioperl and make it part of the bioperl 
>> core
>> package.  caBIOperl is really just an object-oriented query interface 
>> to
>> caBIO data servers, so I naively thought it might fit nicely under
>> Bio::DB::Query, perhaps Bio::DB::Query::caBIO ??
>>
>> Of course people can use caBIOperl without it being part of bioperl.
>> However, there are a some classes and subject areas in caBIO that are 
>> not
>> in bioperl, so we thought it might be a useful extension to bioperl
> itself.
>>  In the next major caBIOperl release (~March 2005) we are going to 
>> include
>> a full implementation of the MAGE-OM microarray data standard as part 
>> of
>> the caBIOperl API, so that might be among the subject areas of 
>> interest to
>> the bioperl community.
>>
>> I'd be interested to hear whether you and others think there might be
> value
>> in incorporating caBIOperl itself into bioperl, or if you'd rather 
>> just
>> consider incorporating the 'bridge' module.
>>
>> Regards,
>>
>> Peter Covitz
>>
>> -----Original Message-----
>> From: Ewan Birney [mailto:birney at ebi.ac.uk]
>> Sent: Tuesday, October 12, 2004 4:07 AM
>> To: Jiang, Shan (NIH/NCI)
>> Cc: bioperl-l at bioperl.org
>> Subject: Re: Integrating caBIOperl with BIOperl
>>
>> On Mon, 11 Oct 2004, Jiang, Shan (NIH/NCI) wrote:
>>> Hi Ewan,
>>>
>>> I would like to introduce myself. I am a colleage of Gene Levinson at
> the
>>> National Cancer Institue in the US. I am the original developer of
>>> caBIOperl, which Gene presented at BOSC '04. I believe Gene talked to
> you
>>> quite extensively during the meeting as well. (Gene asked me to say 
>>> hi!)
>>>
>>> Currently, I am undertaking the task of integrating caBIOperl with
>>> BIOperl.Gene indicated that you would be a great source to talk to. 
>>> I am
>>
>> in
>>
>>> the process of learning BIOperl before deciding how to proceed. So I
>>> would much appreciate your help in learning BIOperl as well as 
>>> looking
>>> into possible ways of integrating caBIOperl with BIOperl.
>>
>> Great - I'm cc'ing this message to the main bioperl list to check I 
>> give
>> you the best advice!
>>
>>> Let me start asking some questions to start the ball rolling.
>>>
>>> 1. Has similar kinds of integration work been done before? If so is
> there
>>
>> a
>>
>>> general recommended approach?
>>
>> The recommendation is definitely to have an caBIOperl "bridge" to 
>> Bioperl
>> objects. The main ones you want to have are Bio::SeqI,
>> Bio::DB::RandomAccessI and Bio::AnnotationCollectionI and 
>> Bio::SeqFeatureI
>>
>> The "I" means interface (a bit like Java)
>>
>> In each case you would have wrapper classes that has-a caBIOPerl 
>> object
>> and is-a Bioperl object, for example, imagining the caBIOPerl sequence
>> object has methods "human_readable_name" and "sequence_as_string" (of
>> course, they might have something completely different...)
>>
>>   package Bio::caBIOBridge::Seq;
>>
>>   @ISA = qw( Bio::SeqI );
>>
>>   ...
>>   ...
>>
>>   # Bio::SeqI isa Bio::PrimarySeqI, and needs to implement
>>   # display_id. this should give back the human readable name
>>   sub display_id {
>>     my $obj = shift;
>>
>>     # the caBIOPerl method is "human_readable_name"
>>     return $obj->{'_cabioperl_object'}->human_readable_name()
>>   }
>>
>>   # Bio::SeqI needs to implement seq
>>   sub seq {
>>     return $obj->{'_cabioperl_object'}->sequence_as_string()
>>   }
>>
>>
>> etc etc
>>
>>
>> This is, BTW, something I am planning to do with Ensembl as - make an
>> Ensembl-Bioperl bridge.
>>
>>> 2. Do you have a repository where people can just "donate" their code
>>
>> into?
>>
>> I would suggest that the caBIO-Bioperl bridge was its own cvs module 
>> and
>> donated into CPAN. You could run the cvs module at Bioperl.org or do 
>> it in
>> your own shop - entirely up to you.
>>
>>> 3. caBIOperl has its own object model, if the end vision is to 
>>> integrate
>>> this model with BIOperl, how should I proceed?
>>
>> see above
>>
>>> 4. Can I get access to the CVS repository?
>>
>> You shouldn't need access to the bioperl cvs repository to come up 
>> with
>> some working code - if you want to have the caBio-Bioperl bridge
>> repository hosted at bioperl.org that's feasible, but probably 
>> building
>> some proof-of-concept classes first off would be great.
>>
>>
>> A great first step would be if someone could write a script like:
>>
>>
>> use Bio::caBIOBridge::DBAccess;
>> use Bio::SeqIO;
>>
>> # default to well known caBio server
>> $db = Bio::caBIOBridge::DBAccess->new();
>>
>> $ca_wrapped_seq = $db->get_Seq_by_id('some_id');
>>
>> # $ca_wrapped_seq is Bio::SeqI object but is actually a thin wrapper 
>> over
>> # caBIO objects
>>
>> # Bio::SeqIO is a Bioperl object writer that works with Bio::SeqI
>> # compliant objects
>> $seqout = Bio::SeqIO->new( -format => 'EMBL');
>>
>> # Here we see the bridge in action!
>> $seqout->write_seq($ca_wrapped_seq);
>>
>>> I am not sure how familiar you are with caBIOperl. So if you have any
>>> question, please do not hesistate to ask me.
>>>
>>> Regards,
>>> Shan Jiang
>>> (Contractor)
>>
>> _______________________________________________
>> Bioperl-l mailing list
>> Bioperl-l at portal.open-bio.org
>> http://portal.open-bio.org/mailman/listinfo/bioperl-l
>
> -- 
> Lincoln Stein
> lstein at cshl.edu
> Cold Spring Harbor Laboratory
> 1 Bungtown Road
> Cold Spring Harbor, NY 11724
> (516) 367-8380 (voice)
> (516) 367-8389 (fax)
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at portal.open-bio.org
> http://portal.open-bio.org/mailman/listinfo/bioperl-l
>
>
-- 
-------------------------------------------------------------
Hilmar Lapp                            email: lapp at gnf.org
GNF, San Diego, Ca. 92121              phone: +1-858-812-1757
-------------------------------------------------------------




More information about the Bioperl-l mailing list