221_ddbj_to_uniparc
- DDBJ
- INSDC
- CDS
- NCBI Protein
- UniParc
Using a "genome" identifier in INSDC use the DDBJ sparql endpoint to find the CDS identifiers and link these to UniParc records
Use at
PREFIX up: <http://purl.uniprot.org/core/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX insdc: <http://ddbj.nig.ac.jp/ontologies/nucleotide/>
PREFIX faldo: <http://biohackathon.org/resource/faldo#>
SELECT
?ddbj
?emblCds
?uniparc
WHERE {
SERVICE <https://rdfportal.org/ddbj/sparql> {
VALUES ?ddbj { <http://identifiers.org/insdc/OQ416313.1> }
GRAPH <http://rdfportal.org/dataset/ddbj>{
?ddbj rdf:type insdc:Entry.
?ddbj insdc:sequence ?sequence .
?position faldo:reference ?sequence .
?region faldo:begin ?position .
?cds faldo:location ?region ;
a insdc:Coding_Sequence ;
rdfs:seeAlso ?potentialProtein .
BIND(STR(?potentialProtein) AS ?potentialProteinStr)
FILTER(STRSTARTS(?potentialProteinStr, 'http://identifiers.org/ncbiprotein/'))
BIND(IRI(CONCAT('http://purl.uniprot.org/embl-cds/', SUBSTR(?potentialProteinStr, 36))) AS ?emblCds)
}
}
?uniparc up:sequenceFor ?emblCds .
}
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
v6("?cds")
v1("?ddbj"):::projected
v8("?emblCds"):::projected
v4("?position")
v7("?potentialProtein")
v8("?potentialProteinStr")
v5("?region")
v3("?sequence")
v9("?uniparc"):::projected
c10([http://ddbj.nig.ac.jp/ontologies/nucleotide/Coding_Sequence]):::iri
c4([http://ddbj.nig.ac.jp/ontologies/nucleotide/Entry]):::iri
subgraph s1["https://rdfportal.org/ddbj/sparql"]
style s1 stroke-width:4px;
bind0[/VALUES ?ddbj/]
bind0-->v1
bind00(["insdc:OQ416313.1"])
bind00 --> bind0
f1[["starts-with(?potentialProteinStr,'http://identifiers.org/ncbiprotein/')"]]
f1 --> v8
v1 --"a"--> c4
v1 --http://ddbj.nig.ac.jp/ontologies/nucleotide/sequence--> v3
v4 --"faldo:reference"--> v3
v5 --"faldo:begin"--> v4
v6 --"faldo:location"--> v5
v6 --"a"--> c10
v6 --"rdfs:seeAlso"--> v7
bind2[/"str(?potentialProtein)"/]
v7 --o bind2
bind2 --as--o v8
bind3[/"concat('http://purl.uniprot.org/embl-cds/',substring(?potentialProteinStr,'36^^xsd:integer'))"/]
v8 --o bind3
bind3 --as--o v8
end
v9 --"up:sequenceFor"--> v8