[Bioperl-l] RE: Integrating caBIOperl with BIOperl

Covitz, Peter (NIH/NCI) covitzp at mail.nih.gov
Wed Nov 3 09:47:35 EST 2004


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)


More information about the Bioperl-l mailing list