173_batch_ec_number_lookup
- enzyme
- EC number
- batch lookup
Given a batch of Enzyme Commission (EC) numbers, list the reviewed UniProt entries classified with each one, in a single query. A protein can be linked to an EC number three different ways: directly (up:enzyme), through a catalytic activity annotation's Rhea-linked enzyme classification (up:catalyticActivity/up:enzymeClass), or as a plain string in a structured protein name (up:ecName) -- the ?mappedVia column states which
Use at
PREFIX up: <http://purl.uniprot.org/core/>
PREFIX enzyme: <http://purl.uniprot.org/enzyme/>
SELECT ?ec ?protein ?mappedVia
WHERE {
VALUES ?ec { "1.1.1.1" "3.5.1.5" }
BIND(IRI(CONCAT(STR(enzyme:), ?ec)) AS ?ecIRI)
{
?protein up:enzyme ?ecIRI .
BIND("direct enzyme classification (up:enzyme)" AS ?mappedVia)
} UNION {
?protein up:annotation/up:catalyticActivity/up:enzymeClass ?ecIRI .
BIND("catalytic activity annotation (up:catalyticActivity/up:enzymeClass)" AS ?mappedVia)
} UNION {
?protein up:recommendedName|up:alternativeName ?name .
?name up:ecName ?ec .
BIND("structured name (up:ecName string)" AS ?mappedVia)
}
?protein up:reviewed true .
}
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
v1("?ec"):::projected
v2("?ecIRI")
v6("?mappedVia"):::projected
v5("?name")
v3("?protein"):::projected
a1((" "))
a2((" "))
c9(["true^^xsd:boolean"]):::literal
bind0[/VALUES ?ec/]
bind0-->v1
bind00(["1.1.1.1"])
bind00 --> bind0
bind01(["3.5.1.5"])
bind01 --> bind0
bind1[/"concat(str(http://purl.uniprot.org/enzyme/),?ec)"/]
v1 --o bind1
bind1 --as--o v2
subgraph union0[" Union "]
subgraph union0l[" "]
style union0l fill:#abf,stroke-dasharray: 3 3;
subgraph union1[" Union "]
subgraph union1l[" "]
style union1l fill:#abf,stroke-dasharray: 3 3;
subgraph union2[" Union "]
subgraph union2l[" "]
style union2l fill:#abf,stroke-dasharray: 3 3;
v3 --"up:alternativeName"--> v5
end
subgraph union2r[" "]
style union2r fill:#abf,stroke-dasharray: 3 3;
v3 --"up:recommendedName"--> v5
end
union2r <== or ==> union2l
end
v5 --"up:ecName"--> v1
bind2[/"'structured name (up:ecName string)'"/]
bind2 --as--o v6
end
subgraph union1r[" "]
style union1r fill:#abf,stroke-dasharray: 3 3;
v3 --"up:annotation"--> a1
a1 --"up:catalyticActivity"--> a2
a2 --"up:enzymeClass"--> v2
bind3[/"'catalytic activity annotation (up:catalyticActivity/up:enzymeClass)'"/]
bind3 --as--o v6
end
union1r <== or ==> union1l
end
end
subgraph union0r[" "]
style union0r fill:#abf,stroke-dasharray: 3 3;
v3 --"up:enzyme"--> v2
bind4[/"'direct enzyme classification (up:enzyme)'"/]
bind4 --as--o v6
end
union0r <== or ==> union0l
end
v3 --"up:reviewed"--> c9