[MOBY-dev] Shims in BioMOBY
Paul Gordon
gordonp at ucalgary.ca
Wed May 3 20:42:50 UTC 2006
Sorry, I guess I want to usurp your word then :-)
I'd only put in my Shims category the very boring operations on *Object
types*, such as DNASequence to FASTA_NA object conversion, or a multiple
sequence alignment to a collection of sequences, etc., which are
1. purely syntactic
2. complete (all fields of the target object are meaningfully completed
by the source object)
3. applicable for 100% of the possible source objects
That way I can present FastA service options to a user with a
DNASequence, since the user *already has exactly this information*.
These problems exist only because developers didn't agree on using the
same ontology object, not because of a fundamental different in the
data. There should be no conscious decision necessary here, unlike
decomposition and crossreferencing tasks.
While you may call these Shims too, I think of these more as Adaptors.
I guess this is why I made my original post :-)
How about a service type ontology like :
Conversion
Shims
Object types: e.g. DNASequence_to_FASTA, genbank_to_DNASequence
Then my program would automatically consider services of type Conversion
-> Shims -> Object type
and I don't restrict your word :-)
> Hi Paul
>
> Paul Gordon wrote:
>
>> This is a very general question, especially for non-native-English
>> speakers. I was going to add a top-level "Shim" category of
>> services to the ontology, but I'm pretty sure most
>> non-native-English speakers would have no idea what this means. I'm
>> borrowing the term from
>>
>> D Hull, R Stevens, P Lord, C Wroe, C Goble (2004). Treating shimantic
>> web syndrome with ontologies. First AKT workshop on Semantic Web
>> Services (AKT-SWS04).
>>
>>
> Since I'm first author of the paper [1] you mention, here are three
> points on how I think shim services should be described, so that users
> can find them. According to me, I am the first person to use the term
> "shim" to describe bioinformatics services, although its been used in
> hypermedia research [2] to describe similar operations in software.
>
> Firstly, it is probably useful to annotate services as a shims,
> although this is information that the user may not always want to
> see. A service that maps between equivalent identifiers (GenBank to
> EMBL for example) in one workflow might be considered a safe or
> "boring" operation [3], with shim-like properties. However, the same
> service in a different workflow constructed by a different user, might
> not be a considered a shim, because the safeness of the operation
> depends on the GenBank identifier the service takes as input. So it is
> probably a useful annotation, and a useful concept in your ontology,
> but the user will not always care wether a given service is a shim or
> not.
>
> Secondly, one thing that characterises shims is the relation between
> the input and the output. So, for example, a service that extracts the
> protein sequence from a BLAST_report is a fairly boring shim, because
> the relation between the input and the output is hasPart eg. a
> BLAST_report hasPart protein_sequence. I personally think this
> relation between input and output is one that will help distinguish
> the shim from other services in the registry, and therefore aid
> retrieval. So capturing this relation in the registry could be useful.
>
> Finally, if you're using a description logic reasoner, an interesting
> solution would be to describe the properties of shim services, and let
> the reasoner infer which services are shims based on these properties.
> This would save you some of the trouble of annotating shims in your
> registry, and would give you a clear definition of *exactly* what you
> mean when you say "shim", since the word has several different
> meanings....
>
> Speaking of which, a shim [4] can also mean a transexual person: "she
> + him = shim", according to wikipedia :)
>
> Duncan
>
> [1]
> http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-122/paper1.pdf
>
> [2] http://eprints.ecs.soton.ac.uk/768/02/html/ [3]
> http://taverna.sourceforge.net/usermanual/docs.word.html#_Toc107043031
> [4] http://en.wikipedia.org/wiki/Shim
>
More information about the MOBY-dev
mailing list