New Bio::Seq and Bio::Seq::Parse (.025 BETA)
Steven E. Brenner
Fri, 21 Mar 1997 15:30:08 +0900 (JST)
I'm only online for about an hour before I disappear again for over a
week. Here are some very quick thoughts.
On Tue, 18 Mar 1997, Georg Fuellen wrote:
> Steve wrote,
> I would carp and then the user knows that warnings and even fatal errors are
> possible later on.
Sounds reasonable. I can go with this.
> I strongly believe we should support ids with ``\S''; I've seen them in
> Fasta-files, Nexus files, etc, etc.
I would prefer we document it as restricted to \w, but not enforce that.
We might want to plan to allow \S eventually.
> > > > whitespace is a legal component of most filesystems. (It is on Unix,
> > > > Macintosh, and Windows, for example).
> > >
> > > Space (`` '') may be OK, but newline (``\n'') certainly not ?!
> > On unix, at least, \n certainly is valid. Typically the only illegal
> > characters are "\0" and "/". Some filesystems even allow those.
> I guess I failed to say that I'm talking about filenames. In a lot of
> cases, the filename will give rise to the (default) id and vice versa.
Yes. *filenames* on Macintosh, Unix, and Windows allow spaces and on Unix
many all other \s characters are also allowed.
> > > Hm. What about ids that we inherit from somewhere ? E.g. from a file ?
> > > On a parallel machine, this won't work either I think. What about other
> > > distributed computation; CORBA may offer solutions, but it's another
> > > big can of worms although I feel that we'll have to open it at some time -
> > > does anyone know more about CORBA ? (I've just heard rumors! :)
> > Why would you inherit ids? These ids are ONLY for setting names of
> > bio::seq's. I don't see how parallel programs and/or CORBA have anything
> > to do with it. We only need to guarantee that id's are unique within a
> > given program.
> For me (and in the current code, e.g. parse_fasta), the ids are the identifiers
> you find in files, etc, etc. It seems that you're introducing a new notion of
> id, the merit of which is rather unclear to me.
I think we're talking at cross-purposes. The original question was about
what to do when the user fails to give any id whatsoever. These uniq_id's
generated by the code are only in the case where the user has failed to
provide an id. Currently, it just sets it to "_no_id_given" or something
to that effect. I suggested that this be set to simething like
"_no_id_xxxxxx" where xxxxx is some number unique to the program, so
that the different sequences have different names.