[MOBY-dev] Service inputs: Required or optional?
Edward Kawas
edward.kawas at gmail.com
Fri Nov 2 20:14:50 UTC 2007
Hi Ola,
Most of your assertions are correct. The one assertion that you made that is
false is about ns/id for primitive datatypes. All datatypes have a ns/id
attribute associated with them. Sometimes they are filled in and mean
something, and in other cases they are left blank. Usually if I create a
retrieval type service, like getFASTAById, I fill in the ns/id with id for
the sequence and the ns being the database that the sequence came from.
To answer your last question, take a look at the following url:
http://biomoby.open-bio.org/index.php/2007/06/02/do-all-contained-objects-ha
ve-to-be-there/
Hope that this helps,
Eddie
> -----Original Message-----
> From: moby-dev-bounces at lists.open-bio.org
> [mailto:moby-dev-bounces at lists.open-bio.org] On Behalf Of Ola Spjuth
> Sent: Thursday, November 01, 2007 2:52 PM
> To: Core developer announcements
> Subject: [MOBY-dev] Service inputs: Required or optional?
>
> Hi,
>
> I have a general question regarding what information is
> required and which is optional for different services.
>
> When trying to validatate primary inputs for the service
> GeneticMap2GFF , which only takes a GeneticMap as input, I
> have some questions how the following should be interpreted:
>
> From Dashboard for reference:
>
> GeneticMap
> A genetic map contains mapped loci. The length component
> should indicate the length of the map in map units, but does
> NOT have to be zero-based; i.e. the length is simply the
> distance from the most proximal to the most distal marker on
> the map, regardless of whether or not the proximal marker is
> at position '0' on the map. It is likely that, in many
> cases, the namespace and id of this GeneticMap will be
> identical to the namespace and id of the 'chromosome'
> component of the MappedLoci's MapPosition, but this isn't
> required if the various Loci are more sensibly associated
> with another map.
> HAS: MappedLocus [MappedLocus]
> HASA: Length [Float]
>
> MappedLocus
> A locus that is mapped to a genetic map. the Locus component
> should hold a Locus (with the associated namespace and id as
> appropriate), while the MapPosition component should hold the
> chromosome, start, and end position for that Locus. Start
> and end may be the same to indicate point maps rather than range maps.
> HASA: Locus [Locus]
> HASA: MapPosition
>
> Locus
> Descr: A lightweight object representing a Locus. The
> namespace and id should indicate the specific Locus being
> described. The contained Allele objects may be used to
> indicate a series of Alleles for that locus, if appropriate.
> If there is no Allele information, or if specification of an
> Allele is not appropriate (e.g. in the case of a MappedLocus
> object), then a single Allele object with blank namespace,
> id, and description would be appropriate.
> HAS: Allele[Allele]
>
> Allele
> Descr: A lightweight object representing an Allele. The
> namespace and id should indicate the specific Allele being
> described. The contained String object is a human-readable
> description of the Allele in whatever form is most
> appropriate (e.g. the phenotype).
> HASA: description [String]
>
> MapPosition
> Descr: A position on a genetic map.
> HASA: chromosome [String]
> HASA: start [Float]
> HASA: end [Float]
>
>
> Please correct me if I'm wrong with the following statements:
>
> 1) Primitive MobyObjects cannot have ID and NAMESPACE but
> must have a VALUE.
>
> 2) A GeneticMap must have at least one (but could have many)
> MappedLocus and must have a Length. It must also have an ID
> and a Namespace, even though the description says something
> that it is not a requirement
>
> 3) A MappedLocus must have a Locus and a MapPosition. Judging
> from the Descrition it seems that no ID and no NAMESPACE is
> required. Is this true, and how can this information be
> extracted from the DataType?
>
> 4) A Locus must have at least one Allele. It seems that it
> also needs an ID and a NAMESPACE.
>
> 5) A HASA relationship indicates that this object is
> required, for example it is not a valid MapPosition if it
> does not have a chromosome string-value, and start and end
> float-values.
>
> I guess my questions boil down to:
> How can I tell what parameters are required and which can be
> omitted when invoking a service? Can service providers
> specify that ID and NAMESPACE are required or optional for a
> PrimaryInput or is the only way of knowing this to read the
> Description (or sometimes comment)?
> For simple services (like retrieval from a DB) this is
> trivial, but for complex cases (like above) it is still a bit
> unclear for me. Hope you can help me out!
>
> Cheers,
>
> .../Ola
>
> _______________________________________________
> MOBY-dev mailing list
> MOBY-dev at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/moby-dev
More information about the MOBY-dev
mailing list