[MOBY-dev] Request for good behaviour

Mark Wilkinson markw at illuminae.com
Thu Jul 6 16:24:46 UTC 2006


Hi all, 

As I was poking around the Object ontology this morning I noticed some
things that made me "cry".  In particular, the way some objects are
being defined is... well... not very helpful!

The best example is

Object Name: "TC"
Description: "TC" 

Another example

Object Name:  AvailableMaterial
Description:  Object containing information about available material


I am not sure that, given these descriptions, either of these Objects
can be used by anyone other than their original author, which kind of
defeats the purpose of having an Object ontology :-)

The *king* of good object descriptions has got to be Martin Senger, and
I think that some of mine are pretty good too...  so here are two
examples that show how I think it should be done:

=================================
Object Name:  Regexp
Description:  This object can carry a regular expression. It can also
say what kind of regular expression is carried. Additionally, it can
contain some flags that may not be (in some regular expression
languages) put directly in the regular expression.
The only mandatory member is the regular expression itself ("regex").
The other members are:
  "format" specifies what language/format/engine is the "regex" for;
typical values are Java, Perl, POSIX.
  "case_insensitive" is a flag that enables case-insensitive matching.
  "multiline_mode" is a flag that enables multiline mode. In multiline
mode the expressions ^ and $ match just after or just before,
respectively, a line terminator or the end of the input.
  "dotall_mode" is a flag that enables dotall mode. In dotall mode,
the expression . matches any character, including a line
terminator (in Perl, this mode is called single-line mode).
   "literal_mode" is a flag that enables literal parsing of the
pattern. When this flag is specified then the input string that
specifies the pattern is treated as a sequence of literal
characters. Metacharacters or escape sequences in the input sequence
will be given no special meaning.
   "comments" is a human-readable text explaining what this regular
expression means.

===============================================

Object Name:  GeneticMap
Description: A representation of a genetic map.  The contained Float
(Length) indicates the full length of the map.  The contained
MappedLocus objects indicate the loci on the map, and their positions.
It is likely that the namespace and id for the 'chromosome' component of
the contained MapPosition object will usually be the same as the
namespace and id for the parent GeneticMap object itself, but this may
not always be the case.

================================================


It would be great if we all started putting a couple of extra minutes
into defining our objects in a way that would allow other people to
discover and use them appropriately...

Mark




-- 

--
Mark Wilkinson
Asst. Professor, Dept. of Medical Genetics
University of British Columbia
PI in Bioinformatics, iCAPTURE Centre
St. Paul's Hospital, Rm. 166, 1081 Burrard St.
Vancouver, BC, V6Z 1Y6
tel: 604 682 2344 x62129
fax: 604 806 9274

"For most of this century we have viewed communications as a conduit, 
       a pipe between physical locations on the planet. 
What's happened now is that the conduit has become so big and interesting 
      that communication has become more than a conduit, 
       it has become a destination in its own right..."

                Paul Saffo - Director, Institute for the Future




More information about the MOBY-dev mailing list