A set of SPARQL examples that are used in different SIB resources
Proteins which have one or more negatively charged residue in a transmembrane domain
PREFIX : <http://nextprot.org/rdf/>
SELECT DISTINCT ?entry WHERE {
?entry :isoform ?iso.
?iso :transmembraneRegion ?tm.
?tm :start ?tmstart ; :end ?tmend.
?iso :sequence /:chain ?chain.
bind (substr(?chain, ?tmstart, ?tmend - ?tmstart + 1) as ?tmseq)
filter (regex(?tmseq, '([DE]+.*[^DE]){1,}')) # Change the 1 for the number of acidic residues required (5 seems to be the max)
}
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
v7("?chain")
v2("?entry"):::projected
v3("?iso")
v4("?tm")
v6("?tmend")
v8("?tmseq")
v5("?tmstart")
a1((" "))
f0[["regex(?tmseq,'(#91;DE#93;+.*#91;^DE#93;){1,}')"]]
f0 --> v8
v2 --":isoform"--> v3
v3 --":transmembraneRegion"--> v4
v4 --":start"--> v5
v4 --":end"--> v6
v3 --":sequence"--> a1
a1 --":chain"--> v7
bind1[/"substring(?chain,?tmstart,?tmend - ?tmstart + '1^^xsd:integer')"/]
v7 --o bind1
v5 --o bind1
v6 --o bind1
bind1 --as--o v8