sparql-examples

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

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

75_enzymes_with_at_least_two_transmembrane_domains_PDB_xray

Find enzymes that have at least two transmembrane domains, whose 3D structure is elucidated through X-Ray analysis

Use at

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX up: <http://purl.uniprot.org/core/>

SELECT
  ?protein
WHERE {
  ?protein a up:Protein ;
    up:annotation ?transmembrane_annotation ;
    rdfs:seeAlso ?wwPDB .
  {
    ?protein up:enzyme ?enzyme .
  } UNION {
    ?protein up:annotation/a up:Catalytic_Activity_Annotation .
  }
  ?wwPDB up:database <http://purl.uniprot.org/database/PDB> ;
    up:method up:X-Ray_Crystallography .
  ?transmembrane_annotation a up:Transmembrane_Annotation .
} GROUP BY ?protein HAVING(COUNT(DISTINCT ?transmembrane_annotation ) >= 2)
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
  v5("?_anon_aaf95e3c346c4c97af230d5bcfeba8ab5973")
  v4("?enzyme")
  v1("?protein"):::projected 
  v2("?transmembrane_annotation")
  v3("?wwPDB")
  a2((" "))
  a1((" "))
  c11(["up:X-Ray_Crystallography"]):::iri 
  c9([http://purl.uniprot.org/database/PDB]):::iri 
  c7(["up:Catalytic_Activity_Annotation"]):::iri 
  c3(["up:Protein"]):::iri 
  c12(["up:Transmembrane_Annotation"]):::iri 
  f0[[" >= '2^^xsd:integer'"]]
  f0 --> a1
  v1 --"a"-->  c3
  v1 --"up:annotation"-->  v2
  v1 --"rdfs:seeAlso"-->  v3
  subgraph union0[" Union "]
  subgraph union0l[" "]
    style union0l fill:#abf,stroke-dasharray: 3 3;
    v1 --"up:annotation"-->  a2
    a2 --"a"-->  c7
  end
  subgraph union0r[" "]
    style union0r fill:#abf,stroke-dasharray: 3 3;
    v1 --"up:enzyme"-->  v4
  end
  union0r <== or ==> union0l
  end
  v3 --"up:database"-->  c9
  v3 --"up:method"-->  c11
  v2 --"a"-->  c12
  bind2[/"count(?transmembrane_annotation)"/]
  v2 --o bind2
  bind2 --as--o v5