[Biocorba-l] Re: Biocorba IDL

Alan Robinson alan@ebi.ac.uk
Fri, 20 Oct 2000 19:00:06 +0100 (GMT Daylight Time)


Hi all,

> > > the methods all define the 'version' variable as being a string. However,
> > > the PrimarySeqDB interface defines the database version as a 'short'.
> 
> I would be for changing both of these to be 'string' objects, to be

I would prefer string too.

> Hmmm... I don't know much about the java stuff, but your name change
> there sounds fine. I'm not positive if I'm for changing the module
> name to be just "Bio" In python, the stubs and skeletons produced by
> the IDL compiler would have the name "Bio" and "Bio__POA", which would 
> confuse the way I have things set up in the biopython-corba module...

OK - I withdraw the suggestion about renaming the module Bio::

I'm relatively neutral on the capitalisation of the current modules (but
favour lowercase).


> > > For the iterators, it would be convenient to have a 'reset()' method that
> > > takes you back to the first item of the iterator, so that if we want to
> > > cycle over the values again, we don't have to re-create the object.
> 
> This sounds good, although I don't know about the ease of implementing 
> this (I guess I think things could get hairy if you were resetting a
> SeqFeature iterator inside of a Seq interator), but the best server
> setup right now is the Bioperl one (which I'm not an expert on) so
> those guys could probably comment better on this.

OK - I happen to have implemented it. But I'm neutral, and would prefer
that the BioCorba IDL remains "simple" and easy-to-use, than complicated
and not used.


> > > The only SeqTypes defined are PROTEIN, DNA and RNA. It would be useful to
> > > have also CIRCULAR_DNA, CIRCULAR_RNA and XXX (e.g. see Ac#:S47134).
> 
> Hmm, shouldn't stuff like CIRCULAR be some sort of feature on the
> sequence? I don't have any strong feelings either way on this.

Hmmm... I feel a sequence being circular is more fundamental than just
being a feature of a sequence and should be declared upfront. 


> > > The exception "DoesNotExist" is not thrown by any methods of the IDL.
> 
> +1 from me for getting rid of it.

>From Matthew Pocock:

> This should be used for any method where stuff is retrieved by an
> identifier, and there is nothing associated with the identifier - e.g.
> fetching sequences from a db.

Generally, I would prefer a specific 'DoesNotExist' exception over a
'UnableToProcess("No such ID")' general exception in such cases.


> > > In the documentation for the iterators: 
> > > 
> > >   boolean has_more(); // returns 1 when next_seq will give an object.
> > > 
> > > Technically '1' is not a boolean. If the method really returns '1', it
> > > should be a 'short' being returned.
> 
> Agreed that we should be consistent. It looks like the Bioperl,
> Biopython and Biojava iterators return 0 and 1, so I guess we should
> switch to short in this case.


>From Matthew Pocock:

> The docs should definitely be changed to realy underline that the return
> value is boolean.


I happen to concur with Matthew Pocock - I'd prefer boolean over '1|0'.


cheers,
al.