[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