153_protein_domain_extents

rq turtle/ttl

Find the extent (start and end position) of annotated protein domains on reviewed human proteins, using UniProt's own domain model rather than an InterPro/Pfam cross-reference

Use at

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

SELECT
  ?protein
  ?domainName
  ?begin
  ?end
WHERE {
  ?protein a up:Protein ;
    up:organism taxon:9606 ;
    up:reviewed true ;
    up:annotation ?annotation .
  ?annotation a up:Domain_Extent_Annotation ;
    rdfs:comment ?domainName ;
    up:range ?range .
  ?range faldo:begin/faldo:position ?begin ;
    faldo:end/faldo:position ?end .
}
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
  v2("?annotation")
  v5("?begin"):::projected 
  v3("?domainName"):::projected 
  v6("?end"):::projected 
  v1("?protein"):::projected 
  v4("?range")
  a1((" "))
  a2((" "))
  c8(["up:Domain_Extent_Annotation"]):::iri 
  c4(["taxon:9606"]):::iri 
  c6(["true^^xsd:boolean"]):::literal 
  c2(["up:Protein"]):::iri 
  v1 --"a"-->  c2
  v1 --"up:organism"-->  c4
  v1 --"up:reviewed"-->  c6
  v1 --"up:annotation"-->  v2
  v2 --"a"-->  c8
  v2 --"rdfs:comment"-->  v3
  v2 --"up:range"-->  v4
  v4 --"faldo:begin"-->  a1
  a1 --"faldo:position"-->  v5
  v4 --"faldo:end"-->  a2
  a2 --"faldo:position"-->  v6