[OTDev] OT: Descriptor calculation workflow / BO descriptor ontology extension

Nina Jeliazkova nina at acad.bg
Sat Dec 19 09:26:15 CET 2009


Dear All,

I am forwarding our recent discussion with Fabian to the list, with the
help of getting an advice from  RDFand ontology experts.

To summarize the problem, we have
- a Descriptor calculation algorithm A, which outcome depends on a set
of parameters P1,P2,P3.  Effectively, each combination of the algorithm
and parameters is a different descriptor. -
- We can extend Blue Obelisk descriptor ontology to include new
descriptor calculation algorithms, but I am not sure how to incorporate
the algorithm parameters, without introducing new classes and properties;
- If extending BO descriptor ontology is possible, one would query a
dataset service for all features, that are same as the
bo:Descriptor-calculation algorithm-A-with-param1,2,3;
- If not, perhaps we need a separate ontology for features and then ask
the dataset service for all features, that are same as the
otfeatures:Descriptor-calculation algorithm-A-with-param1,2,3;

Any suggestions?

Best regards,
Nina
>
> Fabian Buchwald wrote:
>> During implementing descriptor calculation algorithms some
>> questions/issues arise.
>>
>> Let's say I want to calculate some structural descriptors. I call
>> FreeTreeMiner for instance and get a set of structural descriptors
>> (free trees). Then I have to POST the features one after the other to
>> ambit and get back for each feature an featureURI that I use to
>> update the rdf-dataset (add features + featurevalues) and PUT or POST
>> the dataset to ambit.
>> If I or another user wants to do exactly the same, this means uses
>> the same dataset and all the same parameters for FreeTreeMiner, it is
>> not neccessary to calculate the free trees again, since it was done
>> before. So I have to lookup whether a request was done ever and the
>> results are stored. How do I do this?
> If I understand the workflow right, it should be sufficient for you to
> verify if the free tree features already exists for dataset/compounds
> of interest.  This could be done via feature_uris[] parameter (both
> for datasets and compounds)
>
> http://ambit.uni-plovdiv.bg:8080/ambit2/dataset/{datasetid}?feature_uris[]=http://ambit.uni-plovdiv.bg:8080/ambit2/feature/{fid1}&feature_uris[]=http://ambit.uni-plovdiv.bg:8080/ambit2/feature/{fid2}
>
> Example (values for feature 12814 exists)
> http://ambit.uni-plovdiv.bg:8080/ambit2/dataset/23?feature_uris[]=http://ambit.uni-plovdiv.bg:8080/ambit2/feature/12814
>
> Example (no values for feature 1)
> http://ambit.uni-plovdiv.bg:8080/ambit2/dataset/23?feature_uris[]=http://ambit.uni-plovdiv.bg:8080/ambit2/feature/1
>
>> Principally I have to check whether the query was done before. If
>> yes, I have to get all the featureURIs of free trees that were
>> generated before.
>> GET .../feature datasetXY FTM_param1 FTMparam2 ...  --> List of
>> featureURIs
>> Can I query featureURIs in this way?
> Not really. There is currently no way to use parameters, although you
> could retrieve features for a dataset.
>
> http://ambit.uni-plovdiv.bg:8080/ambit2/dataset/{id}/feature   will
> return all features, available for the dataset (I have to check if it
> is according to the current API)
>
> Example
> http://ambit.uni-plovdiv.bg:8080/ambit2/dataset/24/feature
>
> will return a list of entries as below
>
>      <rdf:Description
>     rdf:about="http://ambit.uni-plovdiv.bg:8080/ambit2/feature/12826">
>         <dc:type>http://www.w3.org/2001/XMLSchema#double</dc:type>
>        
>     <ot:hasSource>http://ambit.uni-plovdiv.bg:8080/ambit2/reference/11874</ot:hasSource>
>         <owl:sameAs>Feature1</owl:sameAs>
>         <ot:units></ot:units>
>         <dc:identifier
>     rdf:datatype="http://www.w3.org/2001/XMLSchema#anyURI">http://ambit.uni-plovdiv.bg:8080/ambit2/feature/12826</dc:identifier>
>         <dc:title>Feature1</dc:title>
>         <rdf:type rdf:resource="http://www.opentox.org/api/1.1#Feature"/>
>       </rdf:Description>
>
> One way is to make use of the content within owl:sameAs  and
> ot:hasSource and then query for specific feature types. 
>
> For example
> <ot:hasSource>http://yourservice/algorithm/freetreeminer?param1&param2</ot:hasSource>
>
> I'll try to think of possible solutions, I'll need something similar
> at least for MOPAC descriptors.  Sounds like we need an ontology of
> feature types.
>> Then I use these featureURIs and compoundURIs to get the
>> featureValues, update the rdf dataset and PUT/POST it to ambit.
> Yes.
>
>
>>
>> What do you think, should it work like this?
> More or less, with few details to think on.
>
> Regards,
> Nina
>>
>> Regards,
>>
>> Fabian
>




More information about the Development mailing list