sparql-examples

A set of SPARQL examples that are used in different SIB resources

View the Project on GitHub sib-swiss/sparql-examples

neXtProt/NXQ_00060

Proteins which have one or more negatively charged residue in a transmembrane domain

Use at

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