[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.