SPARQL example query
41: Retrieve UniProtKB entries with sequences that are composed of fragments
PREFIX up: <http://purl.uniprot.org/core/>
SELECT DISTINCT
?protein
WHERE {
?protein a up:Protein ;
up:sequence ?sequence .
MINUS { ?sequence up:fragment [] }
}
42: Connect patents cited in UniProtKB with those in the patent database at EPO via publication number.
xxxxxxxxxx
PREFIX patent: <http://data.epo.org/linked-data/def/patent/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT ?citation ?patent ?application ?applicationNo
WHERE
{
?citation a up:Patent_Citation ;
skos:exactMatch ?patent .
FILTER(CONTAINS(STR(?patent), 'EP'))
BIND(SUBSTR(STR(?patent), 35) AS ?applicationNo)
SERVICE <https://data.epo.org/linked-data/query>{
?application patent:publicationNumber ?applicationNo
}
}
43: Connect patents cited in UniProtKB with those in the patent database at EPO via publication number, whose grant date is more than twenty years in the past.
xxxxxxxxxx
PREFIX patent: <http://data.epo.org/linked-data/def/patent/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT ?grantDate ?patent ?application ?applicationNo
WHERE
{
?citation a up:Patent_Citation ;
skos:exactMatch ?patent .
BIND(SUBSTR(STR(?patent), 35) AS ?applicationNo)
BIND(SUBSTR(STR(?patent), 33, 2) AS ?countryCode)
SERVICE <https://data.epo.org/linked-data/query>{
?publication patent:publicationNumber ?applicationNo ;
patent:application ?application .
?application patent:grantDate ?grantDate .
}
BIND((year(now()) - 20) AS ?thisYearMinusTwenty)
BIND(year(?grantDate) AS ?grantYear)
FILTER(?grantYear < ?thisYearMinusTwenty)
} ORDER BY ?grantYear
44: Find the Rhea and InterPro combinations in UniProtKB entries.
xxxxxxxxxx
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
?interpro
?rhea
FROM <http://sparql.uniprot.org/uniprot>
WHERE
{
?protein up:reviewed true .
?protein up:annotation ?annotation .
?annotation up:catalyticActivity ?rhea .
?protein rdfs:seeAlso ?interpro .
?interpro up:database <http://purl.uniprot.org/database/InterPro> .
} ORDER BY ?rhea
45: Retrieve drugs that target human enzymes involved in sterol metabolism (federated query with WikiData and Rhea).
xxxxxxxxxx
PREFIX CHEBI: <http://purl.obolibrary.org/obo/CHEBI_>
PREFIX chebihash: <http://purl.obolibrary.org/obo/chebi#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rh: <http://rdf.rhea-db.org/>
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX uniprotkb: <http://purl.uniprot.org/uniprot/>
PREFIX up: <http://purl.uniprot.org/core/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
SELECT DISTINCT ?protein ?proteinFullName ?wikiChemical ?wikiChemicalLabel ?medicalConditionTreatedLabel
WHERE {
# ChEBI: retrieve members of the ChEBI class ChEBI:15889 (sterol)
# Rhea: retrieve the reactions involving these ChEBI as participants
SERVICE <https://sparql.rhea-db.org/sparql> {
?reaction rdfs:subClassOf rh:Reaction ;
rh:status rh:Approved ;
rh:side ?reactionSide .
?reactionSide
rh:contains ?participant .
?participant rh:compound ?compound
{
?compound rh:chebi ?chebi .
?chebi (rdfs:subClassOf)+ CHEBI:15889
} UNION {
?compound rh:chebi ?chebi .
?chebi2 rdfs:subClassOf ?chebiRestriction .
?chebiRestriction
a owl:Restriction ;
owl:onProperty chebihash:has_major_microspecies_at_pH_7_3 ;
owl:someValuesFrom ?chebi .
?chebi2 (rdfs:subClassOf)+ CHEBI:15889
}
}
# UniProt: retrieve the human (taxid:9606) enzymes catalyzing these Rhea reactions
?ca up:catalyzedReaction ?reaction .
?a up:catalyticActivity ?ca .
?proteinIRI up:annotation ?a ;
up:organism taxon:9606 ;
up:recommendedName ?proteinRecName .
?proteinRecName up:fullName ?proteinFullName .
# Find drugs in wikidata that interact with the UniProt Proteins
BIND (SUBSTR(STR(?proteinIRI), STRLEN(STR(uniprotkb:))+1) AS ?protein)
SERVICE <https://query.wikidata.org/sparql> {
?wp wdt:P352 ?protein .
?wikiChemical wdt:P129 ?wp . # Physically interacts with
?wikiChemical rdfs:label ?wikiChemicalLabel .
?wikiChemical wdt:P2175 ?wmc . # Medical conndition treated
?wmc rdfs:label ?medicalConditionTreatedLabel .
FILTER(lang(?medicalConditionTreatedLabel) = 'en')
FILTER(lang(?wikiChemicalLabel) = 'en')
}
}
46: Retrieve images of 'Anas' (Ducks) from the European Environmental Agency databases (federated query).
xxxxxxxxxx
PREFIX eunisSpecies: <http://eunis.eea.europa.eu/rdf/species-schema.rdf#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
?taxon
?ncbiTaxid
?eunisTaxon
?eunisName
?image
WHERE
{
GRAPH <http://sparql.uniprot.org/taxonomy>
{
?taxon a up:Taxon .
# Taxon subclasses are materialized, do not use rdfs:subClassOf+
?taxon rdfs:subClassOf taxon:8835 .
BIND(strafter(str(?taxon), 'onomy/') AS ?ncbiTaxid)
}
SERVICE <https://semantic.eea.europa.eu/sparql>
{
?eunisTaxon a eunisSpecies:SpeciesSynonym ;
eunisSpecies:binomialName ?eunisName ;
eunisSpecies:sameSpeciesNCBI ?ncbiTaxid ;
<http://xmlns.com/foaf/0.1/depiction> ?image .
}
}
47: Find UniProtKB entries with a transmembrane region, with an alanine in the 15 amino acid region preceding the transmembrane
xxxxxxxxxx
PREFIX faldo: <http://biohackathon.org/resource/faldo#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT ?protein ?from ?interestingRegion
WHERE
{
?protein up:annotation ?annotation .
?annotation a up:Transmembrane_Annotation .
# Get the coordinates of the Transmembrane
?annotation up:range ?range .
?range faldo:begin ?beginI .
?beginI faldo:position ?begin .
?beginI faldo:reference ?sequence .
# The aas will have the specific IUPAC aminoacids
?sequence rdf:value ?aas .
# We calculate the start by substracting 10
BIND(?begin - 10 AS ?tenBeforeBegin)
# Can't start before the sequence starts or we might miss some results
BIND(IF(?tenBeforeBegin < 1, 0, ?tenBeforeBegin) AS ?from)
# Substring the IUPAC aminoacids
BIND(SUBSTR(?aas, ?from, 15) AS ?interestingRegion)
# The interestingRegion needds to contain an Alanine
FILTER(CONTAINS(?interestingRegion, 'A'))
}
48: Retrieve glycosylation sites and glycans on human enzymes (federated with Glyconnect)
xxxxxxxxxx
PREFIX faldo: <http://biohackathon.org/resource/faldo#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX glycan: <http://purl.jp/bio/12/glyco/glycan#>
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
DISTINCT
?protein ?glycosite ?glycostructure ?glycoimage
WHERE{
?protein up:annotation ?annotation .
?protein up:organism taxon:9606 .
?annotation a up:Catalytic_Activity_Annotation .
?protein up:sequence ?isoform .
SERVICE <https://glyconnect.expasy.org/sparql> {
?glycosite faldo:reference ?isoform .
?glycosite faldo:position ?position .
?specificglycosite faldo:location ?glycosite .
?glycoprotein glycan:glycosylated_at ?specificglycosite .
?glycostructure glycan:glycosylates_at ?specificglycosite .
?glycostructure foaf:depiction ?glycoimage .
}
}
49: Retrieve the UniProtKB proteins, their catalyzed Rhea reactions, their encoding genes (Ensembl) and the anatomic entities where the genes are expressed (UBERON anatomic entites from Bgee expression data resource).
xxxxxxxxxx
PREFIX CHEBI: <http://purl.obolibrary.org/obo/CHEBI_>
PREFIX genex: <http://purl.org/genex#>
PREFIX lscr: <http://purl.org/lscr#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rh: <http://rdf.rhea-db.org/>
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT DISTINCT ?protein ?ensemblGene ?reaction ?anatomicEntityLabel ?anatomicEntity
WHERE {
# federated query to Rhea enadpoint
{
SELECT DISTINCT ?reaction WHERE {
SERVICE <https://sparql.rhea-db.org/sparql> {
?reaction rdfs:subClassOf rh:Reaction ;
rh:equation ?reactionEquation ;
rh:side ?reactionSide .
?reactionSide rh:contains ?participant .
?participant rh:compound ?compound .
# compound constraint (CHEBI:16113 == cholesterol)
?compound rh:chebi CHEBI:16113 .
}
}
}
# taxonomy constraint (taxon:9606 == Homo sapiens)
?protein up:organism taxon:9606 ;
up:annotation ?a ;
rdfs:seeAlso / up:transcribedFrom ?ensemblGene .
?a a up:Catalytic_Activity_Annotation ;
up:catalyticActivity ?ca .
?ca up:catalyzedReaction ?reaction .
# federated query to Bgee (expression data)
BIND(IRI(REPLACE(STR(?ensemblGene), "\\.[0-9]+$", "")) AS ?ensemblGeneNoVersion)
SERVICE <https://www.bgee.org/sparql> {
?gene lscr:xrefEnsemblGene ?ensemblGeneNoVersion ;
genex:isExpressedIn ?anatomicEntity .
?anatomicEntity rdfs:label ?anatomicEntityLabel .
}
}
50: Where are the human genes encoding enzymes metabolizing N-acyl sphingosines expressed in the human body (federated query, with Rhea and Bgee)
xxxxxxxxxx
PREFIX CHEBI: <http://purl.obolibrary.org/obo/CHEBI_>
PREFIX genex: <http://purl.org/genex#>
PREFIX lscr: <http://purl.org/lscr#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rh: <http://rdf.rhea-db.org/>
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
DISTINCT
?chebi
?reaction
?protein ?ensemblGene
?anatomicEntityLabel
?anatomicEntity
WHERE {
SERVICE <https://sparql.rhea-db.org/sparql> {
?reaction rdfs:subClassOf rh:Reaction .
?reaction rh:equation ?reactionEquation .
?reaction rh:side ?reactionSide .
?reactionSide rh:contains ?participant .
?participant rh:compound ?compound .
?compound rh:chebi ?chebi .
?chebi rdfs:subClassOf* CHEBI:52639
}
?protein up:organism taxon:9606 .
?protein up:annotation ?a .
?a a up:Catalytic_Activity_Annotation .
?a up:catalyticActivity ?ca .
?ca up:catalyzedReaction ?reaction .
?protein rdfs:seeAlso / up:transcribedFrom ?ensemblGene .
SERVICE <https://www.bgee.org/sparql> {
?gene genex:isExpressedIn ?anatomicEntity .
?gene lscr:xrefEnsemblGene ?ensemblGene .
?anatomicEntity rdfs:label ?anatomicEntityLabel .
}
}
51: Find all proteins linked to arachidonate (CHEBI:32395)
xxxxxxxxxx
PREFIX CHEBI: <http://purl.obolibrary.org/obo/CHEBI_>
PREFIX rh: <http://rdf.rhea-db.org/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
DISTINCT
?uniprot
?uniprotID
?recname
?gene
?chebi
?uniprotName
WHERE {
SERVICE <https://sparql.rhea-db.org/sparql> {
VALUES (?chebi) { (CHEBI:32395) }
?rhea rh:side/rh:contains/rh:compound ?compound .
?compound rh:chebi ?chebi .
?chebi up:name ?uniprotName .
}
?uniprot up:annotation/up:catalyticActivity/up:catalyzedReaction ?rhea .
?uniprot up:mnemonic ?uniprotID .
?uniprot up:recommendedName/up:fullName ?recname .
OPTIONAL {?uniprot up:encodedBy/skos:prefLabel ?gene .}
}
52: Retrieve drugs that target human enzymes involved in sterol metabolism (federated query with Rhea and ChEMBL via IDSM/Elixir czech republic).
xxxxxxxxxx
PREFIX CHEBI: <http://purl.obolibrary.org/obo/CHEBI_>
PREFIX cco: <http://rdf.ebi.ac.uk/terms/chembl#>
PREFIX chebihash: <http://purl.obolibrary.org/obo/chebi#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rh: <http://rdf.rhea-db.org/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
DISTINCT
?protein
?proteinFullName
?activityType
?standardActivityValue
?standardActivityUnit
?chemblMolecule
?chemlbMoleculePrefLabel
WHERE
{
# ChEBI: retrieve members of the ChEBI class ChEBI:15889 (sterol)
# Rhea: retrieve the reactions involving these ChEBI as participants
SERVICE <https://sparql.rhea-db.org/sparql> {
?reaction rdfs:subClassOf rh:Reaction ;
rh:status rh:Approved ;
rh:side ?reactionSide .
?reactionSide
rh:contains ?participant .
?participant rh:compound ?compound
{
?compound rh:chebi ?chebi .
?chebi (rdfs:subClassOf)+ CHEBI:15889
} UNION {
?compound rh:chebi ?chebi .
?chebi2 rdfs:subClassOf ?chebiRestriction .
?chebiRestriction
a owl:Restriction ;
owl:onProperty chebihash:has_major_microspecies_at_pH_7_3 ;
owl:someValuesFrom ?chebi .
?chebi2 (rdfs:subClassOf)+ CHEBI:15889
}
}
# UniProt: retrieve the human (taxid:9606) enzymes catalyzing these Rhea reactions
?ca up:catalyzedReaction ?reaction .
?a up:catalyticActivity ?ca .
?protein up:annotation ?a ;
up:organism taxon:9606 ;
up:recommendedName ?proteinRecName .
?proteinRecName
up:fullName ?proteinFullName .
# Find drugs in wikidata that interact with the UniProt Proteins
# ChEMBL: retrieve the corresponding targets and with drugs in clinical phase 4
# Via https://idsm.elixir-czech.cz/sparql/
SERVICE <https://idsm.elixir-czech.cz/sparql/endpoint/idsm> {
?activity a cco:Activity ;
cco:hasMolecule ?chemblMolecule ;
cco:hasAssay ?assay ;
cco:standardType ?activityType ;
cco:standardValue ?standardActivityValue ;
cco:standardUnits ?standardActivityUnit .
?chemblMolecule cco:highestDevelopmentPhase ?highestDevelopmentPhase ;
rdfs:label ?chemblMoleculeLabel ;
skos:prefLabel ?chemlbMoleculePrefLabel .
FILTER (?highestDevelopmentPhase > 3)
?assay cco:hasTarget ?target .
?target cco:hasTargetComponent/cco:targetCmptXref ?protein .
?protein a cco:UniprotRef .
}
}
53: Find mouse homologs in OMABrowser of human enzymes that catalyze reactions involving sterols (CHEBI:15889). Federating with Rhea and OMABrowser.
xxxxxxxxxx
PREFIX CHEBI: <http://purl.obolibrary.org/obo/CHEBI_>
PREFIX lscr: <http://purl.org/lscr#>
PREFIX orth: <http://purl.org/net/orth#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rh: <http://rdf.rhea-db.org/>
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
DISTINCT
?chebi
?reaction
?humanProtein
?mouseProtein
?cluster
WHERE {
SERVICE <https://sparql.rhea-db.org/sparql> {
?reaction rdfs:subClassOf rh:Reaction .
?reaction rh:side/rh:contains/rh:compound ?compound .
?compound rh:chebi ?chebi .
?chebi rdfs:subClassOf* CHEBI:15889
}
?humanProtein up:organism taxon:9606 .
?humanProtein up:annotation ?a .
?a a up:Catalytic_Activity_Annotation .
?a up:catalyticActivity ?ca .
?ca up:catalyzedReaction ?reaction .
SERVICE <https://sparql.omabrowser.org/sparql> {
?cluster a orth:ParalogsCluster .
?cluster orth:hasHomologousMember ?node1 , ?node2 .
?node1 orth:hasHomologousMember* ?orthoProtein1 .
?node2 orth:hasHomologousMember* ?orthoProtein2 .
?orthoProtein1 lscr:xrefUniprot ?mouseProtein .
?orthoProtein2 lscr:xrefUniprot ?humanProtein .
# inTaxon mouse
?orthoProtein1 orth:organism/<http://purl.obolibrary.org/obo/RO_0002162> taxon:10090 .
}
}
54: Proteins with binding sites for ligands similar to heme
xxxxxxxxxx
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX sachem: <http://bioinfo.uochb.cas.cz/rdf/v1.0/sachem#>
PREFIX up: <http://purl.uniprot.org/core/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT
?protein
?mnemonic
?proteinName
?ligandSimilarityScore
?ligand
WHERE {
SERVICE <https://idsm.elixir-czech.cz/sparql/endpoint/chebi> {
?ssc sachem:compound ?ligand;
sachem:score ?ligandSimilarityScore ;
sachem:similaritySearch ?sss .
# Smiles of Heme
?sss sachem:query "CC1=C(CCC([O-])=O)C2=[N+]3C1=Cc1c(C)c(C=C)c4C=C5C(C)=C(C=C)C6=[N+]5[Fe-]3(n14)n1c(=C6)c(C)c(CCC([O-])=O)c1=C2";
sachem:cutoff "8e-1"^^xsd:double ;
sachem:aromaticityMode sachem:aromaticityDetect ;
sachem:similarityRadius 1 ;
sachem:tautomerMode sachem:ignoreTautomers .
}
?protein up:mnemonic ?mnemonic ;
up:recommendedName/up:fullName ?proteinName ;
up:annotation ?annotation .
?annotation a up:Binding_Site_Annotation ;
up:ligand/rdfs:subClassOf ?ligand .
}
ORDER BY DESC(?ligandSimilarityScore)
55: Number of proteins with binding sites for metals or metal sulfur clusters (and experimental evidence for the binding)
xxxxxxxxxx
PREFIX CHEBI: <http://purl.obolibrary.org/obo/CHEBI_>
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
?ligand
?ligandName
(COUNT(DISTINCT ?protein) as ?entries)
WHERE {
?protein up:annotation ?annotation .
VALUES ?evs { obo:ECO_0000269 obo:ECO_0007744 } .
VALUES ?chebids { CHEBI:25213 CHEBI:25214 } .
?st rdf:subject ?protein ;
rdf:predicate up:annotation ;
rdf:object ?annotation ;
up:attribution/up:evidence ?evs .
?annotation up:ligand/rdfs:subClassOf ?ligand .
?ligand rdfs:subClassOf+ ?chebids ;
rdfs:label ?ligandName .
}
GROUP BY ?ligand ?ligandName
ORDER BY DESC(?entries)
56: Select enzymes that have ligands known to have an allosteric effect
xxxxxxxxxx
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
?protein
?ligandName
?ligandNote
?chebi
WHERE {
?protein up:annotation ?annotation .
?annotation a up:Binding_Site_Annotation .
?annotation up:ligand ?ligand .
?ligand rdfs:comment ?ligandNote ;
rdfs:subClassOf ?chebi ;
rdfs:label ?ligandName .
FILTER(REGEX(?ligandNote, "allosteric", "i"))
}
57: Map a selection of PDB identifiers plus chains to UniProtKB
xxxxxxxxxx
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
?pdbId ?chain ?pdbChain ?uniprot
WHERE
{
# A space separated list of pairs of PDB identifiers and the chain code.
VALUES(?pdbId ?pdbChain) { ('6VXC' 'A') ('1BG3' 'B') }
# Make an IRI out of the pdbId
BIND(iri(concat('http://rdf.wwpdb.org/pdb/', ?pdbId)) AS ?pdb)
# Map to UniProt entries
?uniprot rdfs:seeAlso ?pdb .
?pdb up:database <http://purl.uniprot.org/database/PDB> ;
up:chainSequenceMapping ?chainSm .
?chainSm up:chain ?chainsPlusRange .
# Extract the list of chains from the text representation.
BIND(STRBEFORE(?chainsPlusRange, '=') AS ?chain)
# Filter those that match.
FILTER(CONTAINS(?chain, ?pdbChain))
}
58: Map a selection of UniProtKB accession numbers (ACs) to HGNC identifiers and symbols
xxxxxxxxxx
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX uniprotkb: <http://purl.uniprot.org/uniprot/>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
?uniprot
?hgnc
?hgncSymbol
WHERE
{
# A space separated list of UniProt primary accessions.
VALUES (?acc) {('P05067') ('P00750')}
BIND(iri(concat(str(uniprotkb:), ?acc)) AS ?uniprot)
?uniprot rdfs:seeAlso ?hgnc .
?hgnc up:database <http://purl.uniprot.org/database/HGNC> ;
rdfs:comment ?hgncSymbol .
}
59: Count all isoforms for a given proteome
xxxxxxxxxx
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX up: <http://purl.uniprot.org/core/>
PREFIX proteome:<http://purl.uniprot.org/proteomes/>
SELECT
(COUNT(DISTINCT ?sequence) AS ?allIsoforms)
WHERE
{
?protein up:reviewed true .
?protein up:organism taxon:9606 .
?protein up:sequence ?sequence .
?protein up:proteome/^skos:narrower proteome:UP000005640 .
}
60: Find human proteins that catalyze reactions where substrates or product have a Cholestane skeleton
xxxxxxxxxx
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rh: <http://rdf.rhea-db.org/>
PREFIX sachem: <http://bioinfo.uochb.cas.cz/rdf/v1.0/sachem#>
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
DISTINCT
?protein
?disease
?rhea
?chebi
?omim
WHERE {
# Find complete ChEBIs with a Cholestane skeleton, via the Czech Elixir node IDSM Sachem chemical substructure search.
SERVICE <https://idsm.elixir-czech.cz/sparql/endpoint/chebi> {
?chebi sachem:substructureSearch [
sachem:query
"[C@]12(CCC3CCCC[C@]3(C)[C@@]1([H])CC[C@]1(C)[C@@]([H])([C@@](C)([H])CCCC(C)C)CC[C@@]21[H])[H]"
].
}
# Use the fact that UniProt catalytic activities are annotated using Rhea
# Mapping the found ChEBIs to Rhea reactions
SERVICE <https://sparql.rhea-db.org/sparql>{
?rhea rh:side/rh:contains/rh:compound/rdfs:subClassOf ?chebi .
}
# Match the found Rhea reactions with human UniProtKB proteins
?protein up:annotation/up:catalyticActivity/up:catalyzedReaction ?rhea .
?protein up:organism taxon:9606 .
# Find only those human entries that have an annotated related disease, and optionaly map these to OMIM
?protein up:annotation/up:disease ?disease .
OPTIONAL {
?disease rdfs:seeAlso ?omim .
?omim up:database <http://purl.uniprot.org/database/MIM>
}
}
61: Select the Gene Protein Reaction sets for Human (Ensembl Gene, Human UniProtKB, Catalyzed Rhea reactions)
xxxxxxxxxx
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
?ensemblGene ?protein ?rhea
WHERE {
?protein up:reviewed true ;
up:organism taxon:9606 .
?protein up:annotation ?caa ;
rdfs:seeAlso ?ensemblTranscript .
?ensemblTranscript up:database <http://purl.uniprot.org/database/Ensembl> .
?caa up:catalyticActivity ?ca .
?ca up:catalyzedReaction ?rhea .
?ensemblTranscript up:transcribedFrom ?ensemblGene
}
100_uniprot_organelles_or_plasmids: List the proteins encoded by a gene that is located in an organelle other than the nucleus, or on a plasmid rather than a chromosome. In these cases the gene location is stored with encodedIn properties. Note that if a plasmid has several names, they are listed as multiple rdfs:label properties.
xxxxxxxxxx
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
?protein
?plasmidOrOrganelle
?label
WHERE {
?protein a up:Protein ;
up:encodedIn ?plasmidOrOrganelle .
OPTIONAL {
?plasmidOrOrganelle rdfs:label ?label .
}
}
101_uniprot_potential_isoforms: List all human UniProtKB entries and their computationaly mapped potential isoforms.
xxxxxxxxxx
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT ?entry ?sequence ?isCanonical
WHERE {
# We don't want to look into the UniParc graph which will
# confuse matters
GRAPH <http://sparql.uniprot.org/uniprot> {
# we need the UniProt entries that are human
?entry a up:Protein ;
up:organism taxon:9606 ;
# and we select the computationally mapped sequences
up:potentialSequence ?sequence .
}
}
102_uniprot_primary_accession: Extracting an UniProtKB primary accession from our IRIs. Is done with a bit of string manipulation. While UniProt primary accession are unique within UniProtKB they may be reused by accident or itentionally by other data sources. If we provided them as strings (not IRI) and if you used them in a query that way, you might accidentaly retrieve completely wrong records.
xxxxxxxxxx
PREFIX uniprotkb: <http://purl.uniprot.org/uniprot/>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
?primaryAccession
?protein
WHERE {
?protein a up:Protein .
BIND(substr(str(?protein), strlen(str(uniprotkb:))+1) AS ?primaryAccession)
}
103_uniprot_proteome_location_of_gene: List UniProtKB proteins with genetic replicon that they are encoded on using the Proteome data.
xxxxxxxxxx
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
DISTINCT
?proteomeData
?replicon
?proteome
WHERE {
# reviewed entries (UniProtKB/Swiss-Prot)
?protein up:reviewed true .
# restricted to Human taxid
?uniprot up:organism taxon:9606 .
?uniprot up:proteome ?proteomeData .
BIND( strbefore( str(?proteomeData), "#" ) as ?proteome )
BIND( strafter( str(?proteomeData), "#" ) as ?replicon )
}
104_uniprot_recomended_protein_full_name: The recommended protein full names for UniProtKB entries
xxxxxxxxxx
PREFIX up: <http://purl.uniprot.org/core/>
SELECT ?protein
?fullName
WHERE {
?protein a up:Protein ;
up:recommendedName ?recommendedName .
?recommendedName up:fullName ?fullName .
}