BH12.12/SPARQLthon9/MBGD
提供:TogoWiki
目次 |
エンドポイント
- http://sparql.nibb.ac.jp/sparql をVirtuoso7に切り替えた
Stanzaの作成
オーソログ(Protein→Protein: protein_ortholog)
例:UniProt ID P00934 のオーソログ
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX orth: <http://mbgd.genome.ad.jp/owl/ortholog.owl#>
PREFIX mbgd: <http://mbgd.genome.ad.jp/owl/mbgd.owl#>
PREFIX mbgdCluster: <http://mbgd.genome.ad.jp/rdf/cluster/2013-01/>
PREFIX uniprotProtein: <http://purl.uniprot.org/uniprot/>
SELECT ?uniprot
WHERE {
mbgdCluster:default orth:member ?group .
?group a orth:OrthologGroup ;
orth:member ?member ;
orth:member ?member2 .
?member orth:geneId/rdfs:seeAlso ?uniprot .
?uniprot a mbgd:UniprotId .
?member2 orth:geneId/rdfs:seeAlso uniprotProtein:P00934 .
}
http://bias.nibb.ac.jp:3001/ortholog?tax_id=1111708&gene_id=slr1311
オーソログを持っている系統群(Gene→Taxon: ortholog_taxon_profile)
例:P00934 (UniProt ID)のオーソログを持つ生物が属する科。
各科に属する生物の数でソート(Familyを、Class, Order, Genusに変えれば、別のrankで集計できる)
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX orth: <http://mbgd.genome.ad.jp/owl/ortholog.owl#>
PREFIX mbgd: <http://mbgd.genome.ad.jp/owl/mbgd.owl#>
PREFIX mbgdCluster: <http://mbgd.genome.ad.jp/rdf/cluster/2013-01/>
PREFIX uniprot: <http://purl.uniprot.org/core/>
PREFIX uniprotProtein: <http://purl.uniprot.org/uniprot/>
SELECT ?family ?name COUNT(?organism) AS ?count
WHERE {
mbgdCluster:default orth:member ?group .
?group a orth:OrthologGroup ;
orth:member ?member ;
orth:member ?member2 .
?member orth:organism ?organism .
?organism orth:taxonomy $tax .
?tax rdfs:subClassOf+ ?family .
?family uniprot:rank uniprot:Family ;
uniprot:scientificName ?name .
?member2 orth:geneId/rdfs:seeAlso uniprotProtein:P00934 .
} ORDER BY DESC (?count)
http://bias.nibb.ac.jp:3001/ortholog_taxon_profile?gene_id=slr1311
Sunburst用
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX orth: <http://mbgd.genome.ad.jp/owl/ortholog.owl#>
PREFIX mbgd: <http://mbgd.genome.ad.jp/owl/mbgd.owl#>
PREFIX mbgdCluster: <http://mbgd.genome.ad.jp/rdf/cluster/2013-01/>
PREFIX uniprot: <http://purl.uniprot.org/core/>
PREFIX uniprotProtein: <http://purl.uniprot.org/uniprot/>
SELECT ?tax COUNT(DISTINCT ?tax) as ?cnt ?tax_label ?parent ?rank
WHERE {
mbgdCluster:default orth:member ?group .
?group a orth:OrthologGroup ;
orth:member ?member ;
orth:member ?member2 .
?member orth:geneId/rdfs:seeAlso uniprotProtein:P00934 .
?member2 orth:organism/orth:taxonomy ?sp .
?sp rdfs:subClassOf* ?tax .
?tax uniprot:scientificName ?tax_label.
OPTIONAL { ?tax rdfs:subClassOf ?parent }.
OPTIONAL { ?parent uniprot:rank ?rank}.
}
http://bias.nibb.ac.jp:3001/sunburst?gene_id=slr1311
特定の系統群が共通して持っているオーソログ(Taxon→Gene: taxon_ortholog_profile)
例:Taxonomy ID 543(Enterobacteriaceae; 腸内細菌科)が持っているオーソログ。(持っている生物の数でソート)
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX orth: <http://mbgd.genome.ad.jp/owl/ortholog.owl#>
PREFIX mbgd: <http://mbgd.genome.ad.jp/owl/mbgd.owl#>
PREFIX mbgdCluster: <http://mbgd.genome.ad.jp/rdf/cluster/2013-01/>
PREFIX uniprotTax: <http://purl.uniprot.org/taxonomy/>
SELECT ?group ?comment COUNT(?organism) AS ?count
WHERE {
mbgdCluster:default orth:member ?group .
?group a orth:OrthologGroup ;
rdfs:comment ?comment ;
orth:member ?member .
?member orth:organism ?organism .
?organism orth:taxonomy ?tax .
?tax rdfs:subClassOf+ uniprotTax:543 .
} ORDER BY DESC (?count)
オーソログを持っている生物が採られた環境(Gene→Environment: ortholog_metagenome_profile)
例:P00934 (UniProt ID)のオーソログを持つ生物がいる環境
Sunburst用
まずMBGDのエンドポイントで、taxonomy IDのリストを得る。
PREFIX orthGroups: <http://mbgd.genome.ad.jp/rdf/cluster/2013-01/>
PREFIX orth: <http://mbgd.genome.ad.jp/owl/ortholog.owl#>
PREFIX mbgd: <http://mbgd.genome.ad.jp/owl/mbgd.owl#>
PREFIX uniprot: <http://purl.uniprot.org/uniprot/>
SELECT DISTINCT ?tax
WHERE {
orthGroups:default orth:member ?group .
?group a orth:OrthologGroup ;
orth:member ?member ;
orth:member ?member2 .
?member orth:geneId/rdfs:seeAlso uniprot:P00934 .
?member2 orth:organism/orth:taxonomy ?sp .
?sp rdfs:subClassOf* ?tax .
}
さらに次のSPARQLで、環境情報(MEOのIDとラベル)を得る。また、MEOの階層における親がいれば取得しておく。
SELECT DISTINCT ?env ?parent ?env_label
WHERE {
?tax ^mccv:MCCV_000020/meo:environmentalDescribed ?env .
FILTER (?tax in ($STDIN))
?env a owl:Class .
?env rdfs:label ?env_label .
OPTIONAL { ?env rdfs:subClassOf ?parent }.
}
参考
- http://d3js.org
- Examples and Demos
- Sunburst
- Tree Layout
他