Client for creating Biomoby input XML data

This client is a side-product of the work on Biomoby Dashboard. One of the Dashboard's panel (the one that calls/invokes Biomoby services) needed a graphical component for entering input data. This is not an easy task because of the possible complexity of the Biomoby data types (they can be inserted into each other without any depth limit). Therefore, we developed a specialized Java component (called DataTypeTreeTable) that accepts user input and produces given data type in a Biomoby compliant XML.

Because Biomoby users often ask for examples of Biomoby input data, we created also a simple client that uses the DataTypeTreeTable component outside of the Dashboard. This program is called CreateMobyInput and there are command-line scripts to run it. Be aware, however, of its limitations (they are addresses fully in the Dashboard): no support for collections, and no support for secondary inputs (parameters).

This document describes this client.

What it does

It displays a full structure of a given data type and then it allows:

Here is a screen-shot showing the DNASequenceWithGFFFeatures data type with few values already entered, and with few HAS members added:

Clicking on icons in the lines with HAS members allows:

Additionally, the primitive types have specialized editors for entering values:

How to start it

As with all jMoby programs they are distributed using (mainly) CVS. Therefore, first you need to do is to donwload jMoby code and build it - see how to do it.

Once you have jMoby on your computer, you can start it by typing:

build/run/run-create-input -help

What are the command line options

The help option gives you something similar to the following page:
   run-create-input -h[elp]
   run-create-input -data <data-type> [<moby-arguments>] [<other-arguments>]
   run-create-input -service <service> [<moby-arguments>] [<other-arguments>]

   -data <gdata-type-name>
      specifyies for which data type an input should be created
      (e.g. -data FASTA)
   -service <gservice-name>
      specifyies for which service an input should be created
      (e.g. -service Mabuhay)
   One of these parameters must be specified.

where <moby-arguments> specify what Moby registry to connect to
   -cachedir <dir>
      <dir> is a directory with cached entities of a Moby registry
   -e <URL>
      <URL> is an endpoint of a Moby registry
   -uri <namespace>
      <namespace> is a URI defining Moby registry's namespace

where <other-arguments> are:

   -q        ... quiet mode (prints only errors)
   (default) ... prints events what is happenning (to a log)
   -v        ... verbose mode (prints also decorations)
There are really only two important options: One (even mandatory) is ether -data or -service. The former names a data type for which you wish to create input data, the latter gives a service name for the same purpose. By the way, in order to find what data types and/or service names are available you can use another jMoby (command-line) client:
build/run/run-cmdline-client -ld
build/run/run-cmdline-client -ls
See more details here.

The other important option -cachedir is not mandatory but without using local cache (of Biomoby data types definitions from a Biomoby registry) it will take ages to start. So it is very recommended.

You can find more about how to create such cache in advance using a CacheRegistryClient. But you do not need to - once a -cachedir option is used the cache is created (so the first time it takes longer) and next time it is simply re-used.

Martin Senger
Last modified: Wed Feb 8 10:46:58 2006