Thanks, Matthias. I think this is another nice example of using the HCLS
KB to support integrated neuroscientific queries.
It turns out that I need to attend a meeting at work at 11:30 am so I
can only attend the first 20 minutes of the BioRDF call today.
Happy Holidays,
-Kei
Matthias Samwald wrote:
Unfortunately, I will not be able to participate in the BioRDF call
today.
For the purposes of our W3C notes, I have extended one of the demo
queries so that it also includes references to receptors in the
NeuronDB database of SenseLab
(http://neuroweb.med.yale.edu/senselab/). Based on the gene records
found in the original Banff query, this query also retrieves
corresponding receptor proteins from NeuronDB, if available. These
references to NeuronDB could then be used to retrieve further
neuroanatomic and -physiologic information, but this is not included
in this query. This query spans (at least) 5 different information
sources.
The query requires a newer version of SenseLab than that of the
original HCLS KB. I have put this newer vesion into the graph
<http://purl.org/ycmi/senselab/neuron_ontology.owl> on the DERI server.
You can copy&past the query below into the SPARQL query form at
http://hcls.deri.ie/sparql
or you can run the query with a single click on
http://tinyurl.com/268rjf
"Query: Genes associated with CA1 Pyramidal Neurons and signal
transduction processes.
Signal transduction pathways are considered to be rich proteins that
might respond to chemical therapy. CA1 Pyramidal Neurons are known to
be particularly damaged in Alzheimer's disease.
Can we find candidate genes known to be involved in signal
transduction and active in Pyramidal Neurons?"
===============
prefix go: <http://purl.org/obo/owl/GO#>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
prefix owl: <http://www.w3.org/2002/07/owl#>
prefix mesh: <http://purl.org/commons/record/mesh/>
prefix sc: <http://purl.org/science/owl/sciencecommons/>
prefix ro: <http://www.obofoundry.org/ro/ro.owl#>
prefix senselab: <http://purl.org/ycmi/senselab/neuron_ontology.owl#>
SELECT ?paper ?gene_record_name ?process ?processname
?receptor_protein ?receptor_protein_name
WHERE
{
graph <http://purl.org/commons/hcls/pubmesh> {
?paper ?p mesh:D017966 .
?article sc:identified_by_pmid ?paper .
?gene_record sc:describes_gene_or_gene_product_mentioned_by ?article .
}
OPTIONAL {
graph <http://purl.org/ycmi/senselab/neuron_ontology.owl> {
?gene owl:equivalentClass ?restriction1 .
?restriction1 owl:onProperty
senselab:has_nucleotide_sequence_described_by .
?restriction1 owl:hasValue ?gene_record .
?receptor_protein rdfs:subClassOf ?restriction2 .
?restriction2 owl:onProperty senselab:proteinGeneProductOf .
?restriction2 owl:someValuesFrom ?gene .
?receptor_protein rdfs:label ?receptor_protein_name
}
}
graph <http://purl.org/commons/hcls/goa> {
?protein rdfs:subClassOf ?restriction3 .
?restriction3 owl:onProperty ro:has_function .
?restriction3 owl:someValuesFrom ?restriction4 .
?restriction4 owl:onProperty ro:realized_as .
?restriction4 owl:someValuesFrom ?process .
graph <http://purl.org/commons/hcls/20070416/classrelations> {
{
?process <http://purl.org/obo/owl/obo#part_of> go:GO_0007166 .
}
union
{
?process rdfs:subClassOf go:GO_0007166 .
}
}
?protein rdfs:subClassOf ?protein_superclass .
?protein_superclass owl:equivalentClass ?restriction5 .
?restriction5 owl:hasValue ?gene_record .
}
graph <http://purl.org/commons/hcls/gene> {
?gene_record rdfs:label ?gene_record_name .
}
graph <http://purl.org/commons/hcls/20070416> {
?process rdfs:label ?processname .
}
}
LIMIT 30
===============
The query could require some improvement, for example, the specifity
for pyramidal neurons is based on the MeSH annotation of the PubMed
articles, not on the information in NeuronDB.
cheers,
Matthias Samwald
P.S.: The [semweb-lifesci] tag is not a christmas present from the
admins, I just typed it myself.