Re: Mapping Faldo to SIO

1 view
Skip to first unread message

Jerven Bolleman

unread,
Apr 25, 2014, 2:57:04 PM4/25/14
to fa...@googlegroups.com
For the faldo group mailing as my work e-mail is not registered...
On 25 Apr 2014, at 20:55, Jerven Bolleman <jerven....@isb-sib.ch> wrote:

> Hi Michel, Joachim, All,
>
> Sorry for keeping everyone waiting.
> We are looking at mapping Faldo to SIO. Allowing OWL reasoners to transform the one into the other.
>
> <_:1> a faldo:Region ;
> faldo:begin <_:1b> ;
> faldo:end <_:1e> .
> <_:1> a sio:organic-submolecule ;
> sio:has-attribute <_:1b>;
> sio:has-attribute <_:1e>;
>
> Mapping a faldo:Region to a sio term can be done straightforward.
>
> faldo:Region owl:equivalentClass sio:organic-submolecule .
>
> <_:1b> a faldo:Position ;
> a faldo:ExactPosition ;
> a faldo:ForwardStrandPosition ;
> faldo:position "1"^^xsd:integer ;
> faldo:reference ddbj:XXXDSDS .
>
> <_:1b> a sio:sequence-start-position;
> sio:has-value "1"^^xsd:integer;
> sio:in-relation-to ddbj:XXXDSDS ;
>
> Here the difficulty in SIO the start-position is a Type of position while in Faldo it is in the relation
> between the region and the position.
>
> Maybe something like this as an owl property chain will work.
> Could someone with more OWL experience check this idea?
>
> faldo:begin
> owl:propertyChainAxiom
> ( SIO:000008 [ rdfs:domain SIO:000791 ;
> rdfs:subPropertyOf SIO:000300
> ]) .
>
> and then again a simpler
>
> faldo:reference owl:equivalentProperty sio:in-relation-to
>
> ok, that is maybe to general so
>
> faldo:reference rdfs:subPropertyOf [ rdfs:subPropertyOf sio:in-relation-to ;
> rdfs:domain sio:sequence-element-position ]
>
> Could be better
>
> Then for faldo:position we need that to be equal to sio:has-value on a sio:sequence-element-position
>
> faldo:position rdfs:subPropertyOf [ rdfs:subPropertyOf sio:has-value ;
> rdfs:domain sio:sequence-element-position ]
>
> Hoping I did not confuse rdfs:domain and rdfs:range again, I think an approach like this should work.
>
> But I need to reinstall Protege again to try it out (blank windows again…)
>
> Some help with a minimal test case would be appreciated, does any one have or know of
> a unit test for owl framework we can use>
>
> Regards,
> Jerven
> On 26 Mar 2014, at 19:44, Michel Dumontier <michel.d...@gmail.com> wrote:
>
>> Hi Jerven,
>> (posting to SIO mailing list).
>> Given the first example at https://github.com/JervenBolleman/FALDO-paper , here's how we could represent sequence locations in SIO.
>>
>> <_:1> a faldo:Region ;
>> faldo:begin <_:1b> ;
>> faldo:end <_:1e> .
>>
>> <_:1> a sio:nucleic-acid-part ;
>> sio:has-attribute <_:1b>;
>> sio:has-attribute <_:1e>;
>>
>>
>>
>> <_:1b> a faldo:Position ;
>> a faldo:ExactPosition ;
>> a faldo:ForwardStrandPosition ;
>> faldo:position "1"^^xsd:integer ;
>> faldo:reference ddbj:XXXDSDS .
>>
>> <_:1b> a sio:sequence-start-position;
>> sio:has-value "1"^^xsd:integer;
>> sio:in-relation-to ddbj:XXXDSDS ;
>> // don't have forward / reverse strand positions in SIO currently.
>>
>>
>> <_:1e> a faldo:Position ;
>> a :FuzzyPosition ;
>> a :ForwardStrandPosition ;
>> faldo:begin <_:1ea> ;
>> faldo:end <_:1eb> ;
>> faldo:reference ddbj:XXXDSDS .
>>
>> <_:1ea> a faldo:Position ;
>> a faldo:ExactPosition ;
>> a faldo:ForwardStrandPosition ;
>> faldo:position "3"^^xsd:integer ;
>> faldo:reference ddbj:XXXDSDS .
>>
>> <_:1eb> a faldo:Position ;
>> a faldo:ExactPosition ;
>> a faldo:ForwardStrandPosition ;
>> faldo:position "7"^^xsd:integer ;
>> faldo:reference ddbj:XXXDSDS .
>>
>>
>> for ranges, i would normally suggest the use of datatype facets e.g. using manchester syntax: sio:has-value some int[>=3, <=7] ,
>>
>> here is the RDF representation
>> a [
>> rdf:type owl:Restriction ;
>> owl:onProperty <http://semanticscience.org/resource/SIO_000300> ;
>> owl:someValuesFrom [
>> rdf:type rdfs:Datatype ;
>> owl:onDatatype xsd:int ;
>> owl:withRestrictions ( [ xsd:minInclusive 3] [ xsd:maxInclusive 7] )
>> ]] ;
>>
>> of course, you can see that this is bit more complicated to query
>>
>> as an alternative, i added intervals to SIO (open, closed, left open, right open, left closed, right closed). so now,
>>
>> <_:1e> a sio:closed-interval;
>> sio:has-part <_:1ea>, <_:1eb> .
>>
>> <_:1ea> a sio:sequence-start-position;
>> sio:has-value "3"^^xsd:int .
>>
>> <_:1ea> a sio:sequence-end-position;
>> sio:has-value "7"^^xsd:int .
>>
>>
>> what do you think?
>>
>> m.
>>
>> On Tue, Mar 25, 2014 at 2:37 PM, Jerven Bolleman <jerven....@isb-sib.ch> wrote:
>> Hi Joachim,
>>
>> On 25 Mar 2014, at 22:23, Joachim Baran <joachi...@gmail.com> wrote:
>>
>>> On March 25, 2014 at 1:43:36 PM, Chris Mungall (cjmu...@lbl.gov) wrote:
>>>> In response to reviewer 1, folding faldo into so:
>>> I second Michel’s suggestions of establishing mappings between FALDO and SO (building upon the reviewer’s examples) and also mapping to SIO where applicable.
>> I actually tried it a while ago. The OWL axioms to infer SIO like triples patterns from FALDO ones where ok if I recall (a bit like the OWL compression example)
>> But we would need to look at SIO and see where it fits in.
>> Michel, would you mind translating one of the examples by hand? then we can have a look at generating the right OWL axioms.
>>
>> Jerven
>>
>>> Joachim
>>>
>>>
>>>
>>
>> -------------------------------------------------------------------
>> Jerven Bolleman Jerven....@isb-sib.ch
>> SIB Swiss Institute of Bioinformatics Tel: +41 (0)22 379 58 85
>> CMU, rue Michel Servet 1 Fax: +41 (0)22 379 58 58
>> 1211 Geneve 4,
>> Switzerland www.isb-sib.ch - www.uniprot.org
>> Follow us at https://twitter.com/#!/uniprot
>> -------------------------------------------------------------------
>>
>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups "sio-ontology" group.
>> To unsubscribe from this group and stop receiving emails from it, send an email to sio-ontology...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>
> -------------------------------------------------------------------
> Jerven Bolleman Jerven....@isb-sib.ch
> SIB Swiss Institute of Bioinformatics Tel: +41 (0)22 379 58 85
> CMU, rue Michel Servet 1 Fax: +41 (0)22 379 58 58
> 1211 Geneve 4,
> Switzerland www.isb-sib.ch - www.uniprot.org
> Follow us at https://twitter.com/#!/uniprot
> -------------------------------------------------------------------
>

Joachim Baran

unread,
Apr 25, 2014, 3:00:33 PM4/25/14
to Jerven Bolleman, sio-on...@googlegroups.com, fa...@googlegroups.com, Chris Mungall, Toshiaki Katayama, Robert Buels, Robert Hoehndorf, Raoul Bonnal, Takatomo Fujisawa, Peter Cock, Francesco Strozzi
On 25 April 2014 11:55, Jerven Bolleman <jerven....@isb-sib.ch> wrote:
Mapping a faldo:Region to a sio term can be done straightforward.

faldo:Region owl:equivalentClass sio:organic-submolecule .
  I would go with Michel's suggestion of making faldo:Region equivalent to (sio:nucleic acid part or sio:protein part), because sio:organic submolecule could also be a carbohydrate or lipid.

Kim

Joachim Baran

unread,
Apr 25, 2014, 3:34:26 PM4/25/14
to Jerven Bolleman, sio-on...@googlegroups.com, fa...@googlegroups.com, Chris Mungall, Toshiaki Katayama, Robert Buels, Robert Hoehndorf, Raoul Bonnal, Takatomo Fujisawa, Peter Cock, Francesco Strozzi
It is not a problem, but I think it is beneficial to be specific about the entities that are described.

Either equivalence is fine with me.


On 25 April 2014 12:28, Jerven Bolleman <jerven....@isb-sib.ch> wrote:
Not sure that is a problem? I did think about using an extension to faldo to describe cutting points in lipid tails.
Instead went for directly encoding the chemistry in the end.
>
> Kim
Jerven

Michel Dumontier

unread,
Apr 25, 2014, 4:22:40 PM4/25/14
to sio-on...@googlegroups.com, faldo, Joachim Baran, Chris Mungall, Toshiaki Katayama, Robert Buels, Robert Hoehndorf, Raoul Bonnal, Takatomo Fujisawa, Peter Cock, Francesco Strozzi


Michel Dumontier
Associate Professor of Medicine (Biomedical Informatics), Stanford University
Chair, W3C Semantic Web for Health Care and the Life Sciences Interest Group


On Fri, Apr 25, 2014 at 11:55 AM, Jerven Bolleman <jerven....@isb-sib.ch> wrote:
Hi Michel, Joachim, All,

Sorry for keeping everyone waiting.
We are looking at mapping Faldo to SIO. Allowing OWL reasoners to transform the one into the other.

<_:1> a faldo:Region ;
           faldo:begin <_:1b> ;
           faldo:end <_:1e> .
<_:1> a sio:organic-submolecule ;
  sio:has-attribute <_:1b>;
  sio:has-attribute <_:1e>;

Mapping a faldo:Region to a sio term can be done straightforward.

faldo:Region owl:equivalentClass sio:organic-submolecule .

<_:1b> a faldo:Position ;
           a faldo:ExactPosition ;
           a faldo:ForwardStrandPosition ;
            faldo:position "1"^^xsd:integer ;
            faldo:reference ddbj:XXXDSDS .

<_:1b> a sio:sequence-start-position;
  sio:has-value "1"^^xsd:integer;
  sio:in-relation-to ddbj:XXXDSDS ;

Here the difficulty in SIO the start-position is a Type of position while in Faldo it is in the relation
between the region and the position.

Maybe something like this as an owl property chain will work.
Could someone with more OWL experience check this idea?

  faldo:begin
        owl:propertyChainAxiom
                ( SIO:000008 [ rdfs:domain SIO:000791 ;
                    rdfs:subPropertyOf SIO:000300
                  ]) .


maybe i'm wrong, but i don't think you can create a property chain with object and datatype properties in OWL?

 
and then again a simpler

  faldo:reference owl:equivalentProperty sio:in-relation-to

ok, that is maybe to general so

  faldo:reference rdfs:subPropertyOf [ rdfs:subPropertyOf sio:in-relation-to ;
                                       rdfs:domain sio:sequence-element-position ]

Could be better

Then for faldo:position we need that to be equal to sio:has-value on a sio:sequence-element-position

  faldo:position rdfs:subPropertyOf [ rdfs:subPropertyOf sio:has-value ;
                                      rdfs:domain sio:sequence-element-position ]

Hoping I did not confuse rdfs:domain and rdfs:range again, I think an approach like this should work.

But I need to reinstall Protege again to try it out (blank windows again...)


Some help with a minimal test case would be appreciated, does any one have or know of
a unit test for owl framework we can use>


i'm guessing that this will have to be expressed as a rule, perhaps n3 rule, or SPARQL construct.

m.
 
> On 25 Mar 2014, at 22:23, Joachim Baran <joachi...@gmail.com> wrote:
>
> > On March 25, 2014 at 1:43:36 PM, Chris Mungall (cjmu...@lbl.gov) wrote:
> >> In response to reviewer 1, folding faldo into so:
> >   I second Michel's suggestions of establishing mappings between FALDO and SO (building upon the reviewer's examples) and also mapping to SIO where applicable.
> I actually tried it a while ago. The OWL axioms to infer SIO like triples patterns from FALDO ones where ok if I recall (a bit like the OWL compression example)
> But we would need to look at SIO and see where it fits in.
> Michel, would you mind translating one of the examples by hand? then we can have a look at generating the right OWL axioms.
>
> Jerven
>
> > Joachim
> >
> >
> >
>
> -------------------------------------------------------------------
> Jerven Bolleman                        Jerven....@isb-sib.ch
> SIB Swiss Institute of Bioinformatics      Tel: +41 (0)22 379 58 85
> CMU, rue Michel Servet 1               Fax: +41 (0)22 379 58 58
> 1211 Geneve 4,
> Switzerland     www.isb-sib.ch - www.uniprot.org
> Follow us at https://twitter.com/#!/uniprot
> -------------------------------------------------------------------
>
>
>
> --
> You received this message because you are subscribed to the Google Groups "sio-ontology" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to sio-ontology...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-------------------------------------------------------------------
Jerven Bolleman                        Jerven....@isb-sib.ch
SIB Swiss Institute of Bioinformatics      Tel: +41 (0)22 379 58 85
CMU, rue Michel Servet 1               Fax: +41 (0)22 379 58 58
1211 Geneve 4,
Switzerland     www.isb-sib.ch - www.uniprot.org
Follow us at https://twitter.com/#!/uniprot
-------------------------------------------------------------------

Chris Mungall

unread,
Apr 27, 2014, 2:14:16 PM4/27/14
to Michel Dumontier, sio-on...@googlegroups.com, faldo, Joachim Baran, Toshiaki Katayama, Robert Buels, Robert Hoehndorf, Raoul Bonnal, Takatomo Fujisawa, Peter Cock, Francesco Strozzi

>> Maybe something like this as an owl property chain will work.
>> Could someone with more OWL experience check this idea?
>>
>> faldo:begin
>> owl:propertyChainAxiom
>> ( SIO:000008 [ rdfs:domain SIO:000791 ;
>> rdfs:subPropertyOf SIO:000300
>> ]) .
>>
>>
> maybe i'm wrong, but i don't think you can create a property chain with
> object and datatype properties in OWL?

Correct. There is no construct to be able to represent this.

>
>
>
>> and then again a simpler
>>
>> faldo:reference owl:equivalentProperty sio:in-relation-to
>>
>> ok, that is maybe to general so
>>
>> faldo:reference rdfs:subPropertyOf [ rdfs:subPropertyOf
>> sio:in-relation-to ;
>> rdfs:domain
>> sio:sequence-element-position ]
>>
>> Could be better
>>
>> Then for faldo:position we need that to be equal to sio:has-value on a
>> sio:sequence-element-position
>>
>> faldo:position rdfs:subPropertyOf [ rdfs:subPropertyOf sio:has-value ;
>> rdfs:domain
>> sio:sequence-element-position ]
>>
>> Hoping I did not confuse rdfs:domain and rdfs:range again, I think an
>> approach like this should work.
>>
>> But I need to reinstall Protege again to try it out (blank windows
>> again...)
>>
>> Some help with a minimal test case would be appreciated, does any one have
>> or know of
>> a unit test for owl framework we can use>
>>
>>
> i'm guessing that this will have to be expressed as a rule, perhaps n3
> rule, or SPARQL construct.

I think so. Other possibilities are SPIN and OPPL.

> m.
Reply all
Reply to author
Forward
0 new messages