BH12.12/TogoStanzaQuery
提供:TogoWiki
グラフ構成
このページのSPARQLは以下のグラフ構成で動作する。
TogoStanzaエンドポイントグラフ構成
Gene Report
Protein names
スタンザファイル名:protein_names 旧スタンザファイル名:protein_names_and_origin
JBrowse
Gene単位
locus tagからTaxonomyIDを取得するクエリ。引数gene_id:"slr0473"
DEFINE sql:select-option "order"
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX idorg: <http://rdf.identifiers.org/database/>
PREFIX insdc: <http://insdc.org/owl/>
SELECT DISTINCT REPLACE(STR(?taxonomy),"http://identifiers.org/taxonomy/","") AS ?tax_id
FROM <http://togogenome.org/graph/refseq/>
FROM <http://togogenome.org/graph/so/>
WHERE
{
VALUES ?locus_tag { "slr0473" }
VALUES ?seq_type { obo:SO_0000340 obo:SO_0000155 }
?gene insdc:feature_locus_tag ?locus_tag ;
a ?gene_type ;
obo:so_part_of ?seq .
?seq rdf:type ?seq_type ;
rdfs:seeAlso ?taxonomy .
?taxonomy a idorg:Taxonomy .
}
表示範囲を取得するクエリ。引数gene_id:"slr0473"
DEFINE sql:select-option "order"
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX faldo: <http://biohackathon.org/resource/faldo#>
PREFIX idorg: <http://rdf.identifiers.org/database/>
PREFIX insdc: <http://insdc.org/owl/>
SELECT DISTINCT REPLACE(STR(?refseq),"http://identifiers.org/refseq/","") AS ?seq_label ?start ?end ?seq_length
FROM <http://togogenome.org/graph/refseq/>
FROM <http://togogenome.org/graph/so/>
FROM <http://togogenome.org/graph/faldo/>
WHERE
{
VALUES ?locus_tag { "slr0473" }
VALUES ?seq_type { obo:SO_0000340 obo:SO_0000155 }
VALUES ?gene_type { obo:SO_0000704 obo:SO_0000252 obo:SO_0000253 }
VALUES ?faldo_stand_type { faldo:ForwardStrandPosition faldo:ReverseStrandPosition }
#gene
?gene insdc:feature_locus_tag ?locus_tag ;
a ?gene_type ;
obo:so_part_of ?seq .
#position
?gene faldo:location ?faldo .
?faldo faldo:begin/faldo:position ?start .
?faldo faldo:end/faldo:position ?end .
#sequence
?seq rdfs:seeAlso ?refseq ;
a ?seq_type ;
insdc:sequence_length ?seq_length.
?refseq a idorg:RefSeq .
}
JBrowseで発行するクエリ
DEFINE sql:select-option "order"
PREFIX taxo: <http://ddbj.nig.ac.jp/ontologies/taxonomy#>
PREFIX seqo: <http://ddbj.nig.ac.jp/ontologies/sequence#>
PREFIX insdc: <http://insdc.org/owl/>
PREFIX idorg: <http://rdf.identifiers.org/database/>
PREFIX faldo: <http://biohackathon.org/resource/faldo#>
PREFIX obo: <http://purl.obolibrary.org/obo/>
SELECT
?start
?end
IF( ?faldo_type = faldo:ForwardStrandPosition,
1,
IF( ?faldo_type = faldo:ReverseStrandPosition,
-1,
0
)
) as ?strand
str(?obj_type_name) as ?type
str(?label) as ?name
str(?obj_name) as ?description
?obj as ?uniqueID
?parent as ?parentUniqueID
FROM <http://togogenome.org/graph/refseq/>
FROM <http://togogenome.org/graph/so/>
FROM <http://togogenome.org/graph/faldo/>
WHERE
{
{
SELECT DISTINCT ?obj ?start ?end ?faldo_type ?obj_type_name ?parent
{
VALUES ?faldo_type { faldo:ForwardStrandPosition faldo:ReverseStrandPosition faldo:BothStrandsPosition }
VALUES ?refseq_label { "{ref}" }
?seq insdc:sequence_version ?refseq_label .
?obj obo:so_part_of+ ?seq .
FILTER ( !(?start > {end} || ?end < {start}) )
?obj faldo:location ?faldo .
?faldo faldo:begin/faldo:position ?start .
?faldo faldo:end/faldo:position ?end .
?faldo faldo:begin/rdf:type ?faldo_type .
?obj rdf:type ?obj_type .
?obj_type rdfs:label ?obj_type_name .
?obj obo:so_part_of ?parent .
FILTER ( ?obj_type = obo:SO_0000704 || ?parent != ?seq )
}
}
optional { ?obj insdc:feature_locus_tag ?label . }
optional { ?obj insdc:feature_product ?obj_name . }
}
Organism単位
CDS
DEFINE sql:select-option "order"
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX faldo: <http://biohackathon.org/resource/faldo#>
PREFIX taxo: <http://ddbj.nig.ac.jp/ontologies/taxonomy#>
PREFIX seqo: <http://ddbj.nig.ac.jp/ontologies/sequence#>
PREFIX insdc: <http://insdc.org/owl/>
PREFIX idorg: <http://rdf.identifiers.org/database/>
PREFIX obo: <http://purl.obolibrary.org/obo/>
SELECT DISTINCT ?start ?end ?strand ?type ?name ?description ?uniqueID ?parentUniqueID
FROM <http://togogenome.org/graph/refseq/>
FROM <http://togogenome.org/graph/so/>
FROM <http://togogenome.org/graph/faldo/>
WHERE
{
{
SELECT ?start ?end ?strand ?type ?uniqueID ?parentUniqueID
WHERE
{
?seq_id ?p ?seq_version FILTER (?seq_version = STR(REPLACE("{ref}","RefSeq:",""))) .
?uniqueID obo:so_part_of+ ?seq_id .
FILTER ( !(?start > {end} || ?end < {start}) )
?uniqueID faldo:location ?loc .
?loc faldo:begin/faldo:position ?start .
?loc faldo:end/faldo:position ?end .
?loc faldo:begin/rdf:type ?faldo_type FILTER (?faldo_type IN (faldo:ForwardStrandPosition, faldo:ReverseStrandPosition, faldo:BothStrandsPosition)).
BIND ( if(?faldo_type = faldo:ForwardStrandPosition, 1, if(?faldo_type = faldo:ReverseStrandPosition, -1, 0)) as ?strand )
?uniqueID rdf:type ?uniqueID_type FILTER (?uniqueID_type IN(obo:SO_0000704, obo:SO_0000316, obo:SO_0000147)).
?uniqueID_type rdfs:label ?uniqueID_type_label .
BIND ( str(?uniqueID_type_label) as ?type ) .
?uniqueID obo:so_part_of ?parentUniqueID FILTER ( ?uniqueID_type = obo:SO_0000704 || ?parentUniqueID != ?seq_id ) .
}
}
OPTIONAL { ?uniqueID insdc:feature_locus_tag ?name . }
OPTIONAL { ?uniqueID insdc:feature_product ?description . }
}
tRNA,rRNA 252,253を入れ替える
DEFINE sql:select-option "order"
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX faldo: <http://biohackathon.org/resource/faldo#>
PREFIX taxo: <http://ddbj.nig.ac.jp/ontologies/taxonomy#>
PREFIX seqo: <http://ddbj.nig.ac.jp/ontologies/sequence#>
PREFIX insdc: <http://insdc.org/owl/>
PREFIX idorg: <http://rdf.identifiers.org/database/>
PREFIX obo: <http://purl.obolibrary.org/obo/>
SELECT DISTINCT ?start ?end ?strand ?type ?name ?description ?uniqueID ?parentUniqueID
FROM <http://togogenome.org/graph/refseq/>
FROM <http://togogenome.org/graph/so/>
FROM <http://togogenome.org/graph/faldo/>
WHERE
{
{
SELECT ?start ?end ?strand ?type ?uniqueID ?parentUniqueID
WHERE
{
?seq_id ?p ?seq_version FILTER (?seq_version = STR(REPLACE("{ref}","RefSeq:",""))) .
?uniqueID obo:so_part_of+ ?seq_id .
FILTER ( !(?start > {end} || ?end < {start}) )
?uniqueID faldo:location ?loc .
?loc faldo:begin/faldo:position ?start .
?loc faldo:end/faldo:position ?end .
?loc faldo:begin/rdf:type ?faldo_type FILTER (?faldo_type IN (faldo:ForwardStrandPosition, faldo:ReverseStrandPosition, faldo:BothStrandsPosition)).
BIND ( if(?faldo_type = faldo:ForwardStrandPosition, 1, if(?faldo_type = faldo:ReverseStrandPosition, -1, 0)) as ?strand )
?uniqueID rdf:type ?uniqueID_type FILTER (?uniqueID_type = obo:SO_0000252).
?uniqueID_type rdfs:label ?uniqueID_type_label .
BIND ( str(?uniqueID_type_label) as ?type ) .
?uniqueID obo:so_part_of ?parentUniqueID .
}
}
OPTIONAL { ?uniqueID insdc:feature_locus_tag ?name . }
OPTIONAL { ?uniqueID insdc:feature_product ?description . }
}
Genomic context
スタンザファイル名:genome_genomic_contex
旧スタンザファイル名:gene_view
元のクエリー
prefix idorg: <http://rdf.identifiers.org/database/>
prefix insdc: <http://insdc.org/owl/>
select *
from <http://togogenome.org/graph/refseq/>
from <http://togogenome.org/graph/so/>
from <http://togogenome.org/graph/faldo/>
where {
values ?locus_tag { "all1455" } # param "slr0473"
#values ?ncbi_taxid {"" } # param "taxon:1148"
values ?seq_type { obo:SO_0000340 obo:SO_0000155 } # chromosome, plasmid
values ?gene_type { obo:SO_0000316 obo:SO_0000252 obo:SO_0000253 } # CDS, rRNA, tRNA
values ?faldo_type { faldo:ForwardStrandPosition faldo:ReverseStrandPosition }
values ?offset { 2000 }
# gene
?gene insdc:feature_locus_tag ?locus_tag.
?gene a ?gene_type.
# seq
?gene obo:so_part_of+ ?seq.
?seq a ?seq_type.
# faldo
?gene faldo:location ?gene_loc.
?gene_loc faldo:begin/faldo:position ?gene_begin.
?gene_loc faldo:end/faldo:position ?gene_end.
# taxonomy ncbi
?seq rdfs:seeAlso ?taxonomy .
?taxonomy a idorg:Taxonomy .
?taxonomy rdfs:label ?ncbi_taxid .
# objects around the gene
?obj obo:so_part_of+ ?seq .
?obj faldo:location ?faldo .
?faldo faldo:begin/rdf:type ?faldo_type .
?faldo_type rdfs:label ?strand .
?faldo faldo:begin/faldo:position ?b .
?faldo faldo:end/faldo:position ?e .
#bind ((xsd:integer(?gene_begin) - ?offset) as ?f)
#bind ((xsd:integer(?gene_end) + ?offset) as ?t)
#filter (!(?b > ?t || ?e < ?f))
filter (!(?b > ?gene_end + ?offset || ?e < ?gene_begin - ?offset))
?obj rdf:type ?obj_type .
?obj_type rdfs:label ?obj_label .
filter (?obj_type != obo:SO_0000704) # gene
optional {
?obj insdc:feature_locus_tag ?label .
}
optional {
?obj insdc:feature_product ?obj_name .
#?obj insdc:feature_product|insdc:feature_gene ?obj_name .
}
#optional {
# ?obj rdfs:seeAlso ?obj_seealso .
#}
optional {
?obj obo:so_has_part/rdf:rest*/rdf:first ?part .
?part faldo:begin/faldo:position ?pb .
?part faldo:end/faldo:position ?pe .
}
}
order by ?b
改良版クエリ
OPTIONALがボトルネックになっていた。DEFINE sql:select-option "order"が効いていないのか、?objを全トリプルから探している動きに見えた
OPTIONALの前のクエリを全てサブクエリにすることで、上からクエリ実行を強要した(つもり)
使用する項目 :obj, :label, :obj_label, :b, :e, :strand, :pb, :pe, :gene_begin, :offset, :gene_end
DEFINE sql:select-option "order"
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX faldo: <http://biohackathon.org/resource/faldo#>
PREFIX idorg: <http://rdf.identifiers.org/database/>
PREFIX insdc: <http://insdc.org/owl/>
SELECT ?gene ?gene_type ?seq ?seq_type ?gene_loc ?gene_begin ?gene_end ?ncbi_taxid ?obj ?b ?e ?strand ?obj_label ?label ?obj_name ?pb ?pe
FROM <http://togogenome.org/graph/refseq/>
FROM <http://togogenome.org/graph/so/>
FROM <http://togogenome.org/graph/faldo/>
WHERE
{
{
SELECT ?gene ?gene_type ?seq ?seq_type ?gene_loc ?gene_begin ?gene_end ?ncbi_taxid ?obj ?b ?e ?strand ?obj_label
WHERE
{
VALUES ?locus_tag { "all1455" } # param "slr0473"
VALUES ?seq_type { obo:SO_0000340 obo:SO_0000155 } # chromosome, plasmid
VALUES ?gene_type { obo:SO_0000316 obo:SO_0000252 obo:SO_0000253 } # CDS, rRNA, tRNA
VALUES ?faldo_type { faldo:ForwardStrandPosition faldo:ReverseStrandPosition }
VALUES ?offset { 2000 }
# gene
?gene insdc:feature_locus_tag ?locus_tag.
?gene a ?gene_type.
# seq
?gene obo:so_part_of+ ?seq.
?seq a ?seq_type.
# faldo
?gene faldo:location ?gene_loc.
?gene_loc faldo:begin/faldo:position ?gene_begin.
?gene_loc faldo:end/faldo:position ?gene_end.
# taxonomy ncbi
?seq rdfs:seeAlso ?taxonomy .
?taxonomy a idorg:Taxonomy .
?taxonomy rdfs:label ?ncbi_taxid .
# objects around the gene
?obj obo:so_part_of+ ?seq .
?obj faldo:location ?faldo .
?faldo faldo:begin/rdf:type ?faldo_type .
?faldo_type rdfs:label ?strand .
?faldo faldo:begin/faldo:position ?b .
?faldo faldo:end/faldo:position ?e .
FILTER (!(?b > ?gene_end + ?offset || ?e < ?gene_begin - ?offset))
?obj rdf:type ?obj_type .
?obj_type rdfs:label ?obj_label .
FILTER (?obj_type != obo:SO_0000704) # gene
}
}
OPTIONAL { ?obj insdc:feature_locus_tag ?label . }
OPTIONAL { ?obj insdc:feature_product ?obj_name . }
OPTIONAL
{
?obj obo:so_has_part/rdf:rest*/rdf:first ?part .
?part faldo:begin/faldo:position ?pb .
?part faldo:end/faldo:position ?pe .
}
} ORDER BY ?b
Gene attributes
スタンザファイル名:gene_attributes 旧スタンザファイル名:gene_attributes
DEFINE sql:select-option "order"
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX faldo: <http://biohackathon.org/resource/faldo#>
PREFIX idorg: <http://rdf.identifiers.org/database/>
PREFIX insdc: <http://insdc.org/owl/>
SELECT distinct ?locus_tag ?gene_type_label ?gene_symbol ?seq_label ?seq_type_label
REPLACE(?refseq_label,"RefSeq:","") AS ?refseq_label ?organism ?taxid
?faldo_begin_position ?faldo_end_position ?stand ?insdc_location
CONCAT("http://togows.dbcls.jp/entry/nucleotide/", REPLACE(?refseq_label,"RefSeq:",""),"/seq/", ?insdc_location) AS ?seqence
FROM <http://togogenome.org/graph/refseq/>
FROM <http://togogenome.org/graph/so/>
FROM <http://togogenome.org/graph/faldo/>
WHERE
{
values ?locus_tag { "slr0473" }
values ?seq_type { obo:SO_0000340 obo:SO_0000155 }
values ?gene_type { obo:SO_0000704 obo:SO_0000252 obo:SO_0000253 }
values ?faldo_stand_type { faldo:ForwardStrandPosition faldo:ReverseStrandPosition }
?gene insdc:feature_locus_tag ?locus_tag ;
a ?gene_type ;
obo:so_part_of ?seq .
OPTIONAL { ?gene insdc:feature_gene ?gene_symbol. }
?gene_type rdfs:label ?gene_type_label .
#sequence
?seq rdfs:label ?seq_label ;
a ?seq_type ;
rdfs:seeAlso ?refseq ;
insdc:source_organism ?organism ;
rdfs:seeAlso ?taxonomy .
?seq_type rdfs:label ?seq_type_label .
?refseq a idorg:RefSeq ;
rdfs:label ?refseq_label .
?taxonomy a idorg:Taxonomy ;
rdfs:label ?taxid .
#faldo
?gene faldo:location ?faldo .
?faldo insdc:location ?insdc_location ;
faldo:begin ?faldo_begin ;
faldo:end ?faldo_end .
?faldo_begin faldo:position ?faldo_begin_position ;
rdf:type ?faldo_stand_type .
?faldo_end faldo:position ?faldo_end_position .
?faldo_stand_type rdfs:label ?stand .
}
改良版
Genomic contextと同様にOPTIONALを最後に追加して、それ以前のクエリを副問い合わせに変更。
DEFINE sql:select-option "order"
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX faldo: <http://biohackathon.org/resource/faldo#>
PREFIX idorg: <http://rdf.identifiers.org/database/>
PREFIX insdc: <http://insdc.org/owl/>
SELECT DISTINCT ?locus_tag ?gene_type_label ?seq_label ?seq_type_label ?gene_symbol
REPLACE(?refseq_label,"RefSeq:","") AS ?refseq_label ?organism ?taxid
?faldo_begin_position ?faldo_end_position ?stand ?insdc_location
CONCAT("http://togows.dbcls.jp/entry/nucleotide/", REPLACE(?refseq_label,"RefSeq:",""),"/seq/", ?insdc_location) AS ?seqence
FROM <http://togogenome.org/graph/refseq/>
FROM <http://togogenome.org/graph/so/>
FROM <http://togogenome.org/graph/faldo/>
{
{
SELECT DISTINCT ?gene ?locus_tag ?gene_type_label ?seq_label ?seq_type_label
?refseq_label ?organism ?taxid
?faldo_begin_position ?faldo_end_position ?stand ?insdc_location
WHERE
{
VALUES ?locus_tag { "all1455" } #{ "all1455" } #{ "slr0473" }
VALUES ?seq_type { obo:SO_0000340 obo:SO_0000155 }
VALUES ?gene_type { obo:SO_0000704 obo:SO_0000252 obo:SO_0000253 }
VALUES ?faldo_stand_type { faldo:ForwardStrandPosition faldo:ReverseStrandPosition }
?gene ?p ?locus_tag ;
a ?gene_type ;
obo:so_part_of ?seq .
?gene_type rdfs:label ?gene_type_label .
#sequence
?seq rdfs:label ?seq_label ;
a ?seq_type ;
rdfs:seeAlso ?refseq ;
insdc:source_organism ?organism ;
rdfs:seeAlso ?taxonomy .
?seq_type rdfs:label ?seq_type_label .
?refseq a idorg:RefSeq ;
rdfs:label ?refseq_label .
?taxonomy a idorg:Taxonomy ;
rdfs:label ?taxid .
#faldo
?gene faldo:location ?faldo .
?faldo insdc:location ?insdc_location ;
faldo:begin ?faldo_begin ;
faldo:end ?faldo_end .
?faldo_begin faldo:position ?faldo_begin_position ;
rdf:type ?faldo_stand_type .
?faldo_end faldo:position ?faldo_end_position .
?faldo_stand_type rdfs:label ?stand .
}
}
OPTIONAL { ?gene insdc:feature_gene ?gene_symbol. }
}
Nucleotide sequence
スタンザファイル名:nucleotide_sequences 旧スタンザファイル名:nucleotide_sequences
DEFINE sql:select-option "order"
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX faldo: <http://biohackathon.org/resource/faldo#>
PREFIX idorg: <http://rdf.identifiers.org/database/>
PREFIX insdc: <http://insdc.org/owl/>
SELECT DISTINCT ?locus_tag
CONCAT("http://togows.dbcls.jp/entry/nucleotide/", replace(?refseq_label,"RefSeq:",""),"/seq/", ?insdc_location) as ?nuc_seq_pos
FROM <http://togogenome.org/graph/refseq/>
FROM <http://togogenome.org/graph/so/>
WHERE
{
values ?locus_tag { "all1455" }
values ?seq_type { obo:SO_0000340 obo:SO_0000155 }
values ?gene_type { obo:SO_0000704 obo:SO_0000252 obo:SO_0000253 }
?gene ?p ?locus_tag ;
a ?gene_type ;
obo:so_part_of ?seq .
?seq a ?seq_type ;
rdfs:seeAlso ?refseq .
?refseq a idorg:RefSeq ;
rdfs:label ?refseq_label .
?gene faldo:location ?faldo .
?faldo insdc:location ?insdc_location .
}
Protein attributes
スタンザファイル名:protein_attributes 旧スタンザファイル名:protein_attributes
Protein sequence
スタンザファイル名:protein_sequences 旧スタンザファイル名:protein_sequences
Protein general annotation
スタンザファイル名:protein_general_annotation 旧スタンザファイル名:protein_general_annotation
Protein ontologies
スタンザファイル名:protein_ontologies 旧スタンザファイル名:protein_ontologies
Protein sequence annotation
スタンザファイル名:protein_sequence_annotation 旧スタンザファイル名:protein_sequence_annotation
Pfam plot
スタンザファイル名:protein_pfam_plot
旧スタンザファイル名:pfam_plot
- Genomeの情報を取得
Genomeの情報はGenome plotの3クエリをそのまま使用する
クエリ
- locusタグからUniprotのproteinIDを取得
これはスタンザフレームワークで関数化されており、#{uniprot_url_from_togogenome(gene_id)}で取得が可能クエリ
- 指定されたProteinに含まれるPfam名一覧を取得
DEFINE sql:select-option "order"
PREFIX up: <http://purl.uniprot.org/core/>
PREFIX taxonomy: <http://purl.uniprot.org/taxonomy/>
PREFIX dct: <http://purl.org/dc/terms/>
SELECT DISTINCT REPLACE(STR(?ref), "http://purl.uniprot.org/pfam/","") AS ?pfam_id
FROM <http://togogenome.org/graph/uniprot/>
WHERE
{
?protein rdfs:seeAlso <http://purl.uniprot.org/refseq/NP_487471.1> ;
up:organism taxonomy:103690 .
?protein rdfs:seeAlso ?ref .
?ref up:database ?database .
?database up:abbreviation ?abbr
FILTER (?abbr ='Pfam').
}
- 生物種毎に指定したPfamIDの数と種類数を取得
DEFINE sql:select-option "order"
PREFIX up: <http://purl.uniprot.org/core/>
PREFIX tax: <http://purl.uniprot.org/taxonomy/>
PREFIX pfam: <http://purl.uniprot.org/pfam/>
SELECT
REPLACE(STR(?tax), "http://purl.uniprot.org/taxonomy/", "http://identifiers.org/taxonomy/") AS ?tax_id
(SUM(?hits) as ?num_pfam)
(COUNT(DISTINCT(?prot_id)) AS ?num_pfam_protein)
FROM <http://togogenome.org/graph/uniprot/>
WHERE
{
?prot_id rdfs:seeAlso pfam:PF00400 .
?prot_id up:organism ?tax .
?id rdf:subject ?prot_id .
?id rdf:object pfam:PF00400 .
?id up:hits ?hits .
} GROUP BY ?tax
Orthologs
スタンザファイル名:
旧スタンザファイル名:
- locusタグからUniprotのproteinIDを取得
これはスタンザフレームワークで関数化されており、#{uniprot_url_from_togogenome(gene_id)}で取得が可能クエリ
- UniProtIDを取得
PREFIX up: <http://purl.uniprot.org/core/>
PREFIX taxonomy: <http://purl.uniprot.org/taxonomy/>
SELECT DISTINCT ?upid
FROM <http://togogenome.org/graph/uniprot/>
WHERE
{
?upid up:organism taxonomy:103690 ;
rdfs:seeAlso <http://purl.uniprot.org/refseq/NP_485497.1> .
}
- Proteinのオーソログリストを取得
※このクエリはmbgdのエンドポイントへ投げる
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX mbgd: <http://mbgd.genome.ad.jp/owl/mbgd.owl#>
PREFIX orth: <http://mbgd.genome.ad.jp/owl/ortholog.owl#>
PREFIX uniprot: <http://purl.uniprot.org/uniprot/>
PREFIX uniprotCore: <http://purl.uniprot.org/core/>
SELECT ?protein
WHERE
{
?group a orth:OrthologGroup ;
orth:member/mbgd:gene/mbgd:uniprot <http://purl.uniprot.org/uniprot/P00457> ;
orth:member/mbgd:gene/mbgd:uniprot ?protein .
}
Protein references
スタンザファイル名:protein_references 旧スタンザファイル名:protein_references
Protein reaction fgc list
スタンザファイル名:protein_reaction_fgc_list
- locus_tagからuniprotIDを取得
- uniprotIDからEC_numberを取得
PREFIX up: <http://purl.uniprot.org/core/>
PREFIX taxonomy: <http://purl.uniprot.org/taxonomy/>
SELECT DISTINCT ?ec_name
FROM <http://togogenome.org/graph/uniprot/>
WHERE
{
?protein up:organism taxonomy:103690 ;
rdfs:seeAlso <http://purl.uniprot.org/refseq/NP_485497.1> ;
up:recommendedName ?recommended_name_node .
?recommended_name_node up:ecName ?ec_name .
}
- EC_numberからReactionを取得
※このクエリはreactionontologyのエンドポイントへ投げる ※reactionのデータは整備中
PREFIX piero: <http://reactionontology.org/ontology/piero#>
PREFIX entry: <http://www.kegg.jp/entry/>
SELECT ?fgc COUNT(?fgc) AS ?cnt
FROM <http://reactionontology>
WHERE {
entry:1.18.6.1 piero:catalyzes ?reaction.
?reaction piero:has_rclass ?rclass .
?rclass rdf:instanceOf ?fgc .
} GROUP BY ?fgc ORDER BY DESC (?cnt)
Organism Report
Organism names
スタンザファイル名:organism_names 旧スタンザファイル名:organism_name
PREFIX taxo: <http://ddbj.nig.ac.jp/ontologies/taxonomy#>
PREFIX taxid: <http://identifiers.org/taxonomy/>
SELECT ?name_type ?name_type_label ?name
FROM <http://togogenome.org/graph/taxonomy/>
WHERE
{
VALUES ?name_type
{
taxo:scientificName taxo:synonym taxo:preferredSynonym taxo:acronym taxo:preferredAcronym taxo:anamorph taxo:teleomorph
taxo:misnomer taxo:commonName taxo:preferredCommonName taxo:inPart taxo:includes taxo:equivalentName taxo:genbankSynonym taxo:genbankCommonName taxo:authority taxo:misspelling
}
taxid:1148 ?name_type ?name .
?name_type rdfs:label ?name_type_label .
}
Genome information
スタンザファイル名:genome_information 旧スタンザファイル名:genome_information
DEFINE sql:select-option "order"
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX insdc: <http://insdc.org/owl/>
PREFIX idorg: <http://rdf.identifiers.org/database/>
PREFIX idtax: <http://identifiers.org/taxonomy/>
SELECT ?bioproject ?bioproject_id ?refseq_version ?desc ?replicon_type ?sequence_length
count(?gene_locus_tag) as ?gene_cnt
count(?trna_locus_tag) as ?trna_cnt
count(?rrna_locus_tag) as ?rrna_cnt
count(?other_locus_tag) as ?other_cnt
FROM <http://togogenome.org/graph/refseq/>
FROM <http://togogenome.org/graph/so/>
WHERE
{
?seq rdfs:seeAlso idtax:1148 ;
rdfs:label ?desc ;
rdfs:seeAlso ?bioproject ;
insdc:sequence_version ?refseq_version ;
insdc:sequence_length ?sequence_length ;
rdfs:seeAlso ?refseq_link ;
a ?so FILTER (?so = obo:SO_0000340 || ?so = obo:SO_0000155) .
?so rdfs:label ?replicon_type .
?bioproject a idorg:BioProject ;
rdfs:label ?bioproject_id .
?refseq_link a idorg:RefSeq .
{
?gene obo:so_part_of ?seq ;
a obo:SO_0000704 ;
insdc:feature_locus_tag ?gene_locus_tag .
}
UNION
{
?trna obo:so_part_of ?seq ;
a obo:SO_0000253 ;
insdc:feature_locus_tag ?trna_locus_tag .
}
UNION
{
?rrna obo:so_part_of ?seq ;
a obo:SO_0000252 ;
insdc:feature_locus_tag ?rrna_locus_tag .
}
UNION
{
?other obo:so_part_of ?seq ;
a ?obotype ;
insdc:feature_locus_tag ?other_locus_tag
FILTER (?obotype != obo:SO_0000704 && ?obotype != obo:SO_0000253 && ?obotype != obo:SO_0000252) .
}
}
Ortholog profile
スタンザファイル名:
旧スタンザファイル名:
※このクエリはmbgdのエンドポイントへ投げる
DEFINE sql:select-option "order"
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX mbgd: <http://mbgd.genome.ad.jp/owl/mbgd.owl#>
PREFIX orth: <http://mbgd.genome.ad.jp/owl/ortholog.owl#>
PREFIX uniprot: <http://purl.uniprot.org/uniprot/>
PREFIX uniprotCore: <http://purl.uniprot.org/core/>
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
SELECT ?group ?comment COUNT(?member) AS ?count
WHERE {
?tax rdfs:subClassOf+ taxon:562 .
?organism orth:taxon ?tax .
?member mbgd:organism ?organism .
?group orth:member ?member ;
mbgd:description ?comment ;
a orth:OrthologGroup .
} ORDER BY DESC (?count) limit 10
Taxonomic information
スタンザファイル名:lineage_information
旧スタンザファイル名:lineage_information
上位層
PREFIX taxo: <http://ddbj.nig.ac.jp/ontologies/taxonomy#>
PREFIX taxid: <http://identifiers.org/taxonomy/>
SELECT
REPLACE(STR(?tax), "http://identifiers.org/taxonomy/", "") AS ?tax_no
?tax AS ?tax_link
?tax_label
REPLACE(STR(?rank), "http://ddbj.nig.ac.jp/ontologies/taxonomy#", "") AS ?rank
FROM <http://togogenome.org/graph/taxonomy/>
WHERE
{
?search_tax rdfs:label ?o FILTER (?search_tax = taxid:1148 ) .
?search_tax rdfs:subClassOf ?tax OPTION (transitive, t_direction 1, t_min(0), t_step("step_no") as ?step) .
?tax rdfs:label ?tax_label .
OPTIONAL { ?tax taxo:rank ?rank . }
FILTER(?tax != taxid:1)
} ORDER BY DESC(?step)
下位層
PREFIX taxo: <http://ddbj.nig.ac.jp/ontologies/taxonomy#>
PREFIX taxid: <http://identifiers.org/taxonomy/>
SELECT
REPLACE(STR(?tax) ,"http://identifiers.org/taxonomy/" ,"" ) AS ?tax_no
?tax AS ?tax_link
?tax_label
REPLACE(STR(?rank) ,"http://ddbj.nig.ac.jp/ontologies/taxonomy#" ,"" ) AS ?rank
FROM <http://togogenome.org/graph/taxonomy/>
WHERE
{
?search_tax rdfs:label ?label FILTER (?search_tax = taxid:1148 ) .
?tax rdfs:subClassOf ?search_tax .
?tax rdfs:label ?tax_label .
OPTIONAL { ?tax taxo:rank ?rank . }
}
Taxonomic linage
スタンザファイル名:taxonomy_linage 旧スタンザファイル名:taxonomy_tree
PREFIX taxo: <http://ddbj.nig.ac.jp/ontologies/taxonomy#>
PREFIX taxid: <http://identifiers.org/taxonomy/>
SELECT ?tax ?parent ?tax_label ?rank
FROM <http://togogenome.org/graph/taxonomy/>
WHERE
{
{
?search_tax rdfs:label ?label FILTER (?search_tax = taxid:1148 ) .
?search_tax rdfs:subClassOf* ?tax.
?tax rdfs:label ?tax_label .
OPTIONAL { ?tax rdfs:subClassOf ?parent . }
OPTIONAL { ?tax taxo:rank ?rank . }
}
UNION
{
?search_tax rdfs:label ?label FILTER (?search_tax = taxid:1148) .
?tax rdfs:subClassOf ?search_tax .
?tax rdfs:label ?tax_label .
OPTIONAL { ?tax rdfs:subClassOf ?parent . }
OPTIONAL { ?tax taxo:rank ?rank . }
}
}
Culture collections
スタンザファイル名:organism_culture_collections
旧スタンザファイル名:brc_metadata
何を出力するかはT.B.D
PREFIX mccv: <http://purl.jp/bio/01/mccv#>
PREFIX taxid: <http://identifiers.org/taxonomy/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX taxo: <http://ddbj.nig.ac.jp/ontologies/taxonomy#>
SELECT ?strain_id ?strain_number ?strain_name ?typeStrain ?isolated_from ?opt_temp ?min_temp ?max_temp ?history ?application
?taxid_a ?tax_label_a ?taxid_b1 ?tax_label_b1 ?taxid_b2 ?tax_label_b2 ?taxid_c ?tax_label_c
(sql:GROUP_DIGEST(?other_link, ', ', 1000, 1)) AS ?other_links
(sql:GROUP_DIGEST(?ref_link, ', ', 1000, 1)) AS ?ref_links
FROM <http://togogenome.org/graph/taxonomy/>
FROM <http://togogenome.org/graph/brc/>
WHERE
{
{ SELECT DISTINCT ?strain_id
{
VALUES ?related_type { mccv:MCCV_000056 mccv:MCCV_000022 mccv:MCCV_000057 mccv:MCCV_000023}
?strain_id ?related_type taxid:228599 .
}
}
OPTIONAL { ?strain_id mccv:MCCV_000010 ?strain_number . }
OPTIONAL { ?strain_id mccv:MCCV_000012 ?strain_name . }
OPTIONAL { ?strain_id mccv:MCCV_000017 ?typeStrain . }
OPTIONAL { ?strain_id mccv:MCCV_000030 ?isolated_from . }
OPTIONAL { ?strain_id mccv:MCCV_000014 ?opt_temp . }
OPTIONAL { ?strain_id mccv:MCCV_000015 ?min_temp . }
OPTIONAL { ?strain_id mccv:MCCV_000016 ?max_temp . }
OPTIONAL { ?strain_id mccv:MCCV_000027 ?history . }
OPTIONAL { ?strain_id mccv:MCCV_000033 ?application . }
OPTIONAL { ?strain_id mccv:MCCV_000056 ?taxid_a FILTER (STRSTARTS(STR(?taxid_a), "http://identifiers.org")) . ?taxid_a taxo:scientificName ?tax_label_a . }
OPTIONAL { ?strain_id mccv:MCCV_000022 ?taxid_b1 FILTER (STRSTARTS(STR(?taxid_b1), "http://identifiers.org")) . ?taxid_b1 taxo:scientificName ?tax_label_b1 . }
OPTIONAL { ?strain_id mccv:MCCV_000057 ?taxid_b2 FILTER (STRSTARTS(STR(?taxid_b2), "http://identifiers.org")) . ?taxid_b2 taxo:scientificName ?tax_label_b2 . }
OPTIONAL { ?strain_id mccv:MCCV_000023 ?taxid_c FILTER (STRSTARTS(STR(?taxid_c), "http://identifiers.org")) . ?taxid_c taxo:scientificName ?tax_label_c . }
OPTIONAL { ?strain_id mccv:MCCV_000024/mccv:MCCV_000026 ?other_link . }
OPTIONAL
{
?strain_id dcterms:references/mccv:MCCV_000047 ?ref_id .
?strain_id mccv:MCCV_000010 ?strain_no .
BIND (IF(STRSTARTS(?strain_no, "JCM"), CONCAT("http://www.jcm.riken.go.jp/cgi-bin/jcm/jcm_ref?REF=", ?ref_id), IF(STRSTARTS(?strain_no, "NBRC"), CONCAT("http://www.nbrc.nite.go.jp/NBRC2/NBRCReferenceDetailServlet?NO=", ?ref_id), "")) AS ?ref_link) .
}
} GROUP BY ?strain_id ?strain_number ?strain_name ?typeStrain ?isolated_from ?opt_temp ?min_temp ?max_temp ?history ?application ?taxid_a ?tax_label_a ?taxid_b1 ?tax_label_b1 ?taxid_b2 ?tax_label_b2 ?taxid_c ?tax_label_c
出力項目縮小版
PREFIX mccv: <http://purl.jp/bio/01/mccv#>
PREFIX taxid: <http://identifiers.org/taxonomy/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX taxo: <http://ddbj.nig.ac.jp/ontologies/taxonomy#>
SELECT ?strain_id ?strain_number ?strain_name
?isolated_from ?history ?application
(sql:GROUP_DIGEST(?other_link, ', ', 1000, 1)) AS ?other_collections
FROM <http://togogenome.org/graph/taxonomy/>
FROM <http://togogenome.org/graph/brc/>
WHERE
{
{ SELECT DISTINCT ?strain_id
{
VALUES ?related_type { mccv:MCCV_000056 mccv:MCCV_000022 mccv:MCCV_000057 mccv:MCCV_000023}
?strain_id ?related_type taxid:228599 .
}
}
OPTIONAL { ?strain_id mccv:MCCV_000010 ?strain_number . }
OPTIONAL { ?strain_id mccv:MCCV_000012 ?strain_name . }
OPTIONAL { ?strain_id mccv:MCCV_000030 ?isolated_from . }
OPTIONAL { ?strain_id mccv:MCCV_000027 ?history . }
OPTIONAL { ?strain_id mccv:MCCV_000033 ?application . }
OPTIONAL { ?strain_id mccv:MCCV_000024/mccv:MCCV_000026 ?other_link . }
} GROUP BY ?strain_id ?strain_number ?strain_name ?isolated_from ?history ?application
出力項目変更版
PREFIX mccv: <http://purl.jp/bio/01/mccv#>
PREFIX taxid: <http://identifiers.org/taxonomy/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX taxo: <http://ddbj.nig.ac.jp/ontologies/taxonomy#>
SELECT ?strain_id ?strain_number ?strain_name AS ?organism_name
?isolation (sql:GROUP_DIGEST(?env, '|| ', 1000, 1)) AS ?env_links
?type_strain_label ?application
(sql:GROUP_DIGEST(?other_link, ', ', 1000, 1)) AS ?other_collections
FROM <http://togogenome.org/graph/taxonomy/>
FROM <http://togogenome.org/graph/brc/>
FROM <http://togogenome.org/graph/meo/>
WHERE
{
{ SELECT DISTINCT ?strain_id
{
VALUES ?related_type { mccv:MCCV_000056 mccv:MCCV_000022 mccv:MCCV_000057 }
?strain_id ?related_type taxid:43687 .
}
}
OPTIONAL { ?strain_id mccv:MCCV_000010 ?strain_number . }
OPTIONAL { ?strain_id mccv:MCCV_000012 ?strain_name . }
OPTIONAL { ?strain_id mccv:MCCV_000030 ?isolation . }
OPTIONAL
{
?strain_id mccv:MCCV_000059|mccv:MCCV_000060 ?meo_id .
?meo_id rdfs:label ?meo_label .
BIND (CONCAT(REPLACE(STR(?meo_id),"http://purl.jp/bio/11/meo/",""), ":", ?meo_label) AS ?env )
}
OPTIONAL { ?strain_id mccv:MCCV_000017 ?type_strain . BIND (IF(?type_strain = 1, "yes","no") AS ?type_strain_label)}
OPTIONAL { ?strain_id mccv:MCCV_000033 ?application . }
OPTIONAL { ?strain_id mccv:MCCV_000024/mccv:MCCV_000026 ?other_link . }
} GROUP BY ?strain_id ?strain_number ?strain_name ?type_strain_label ?isolation ?application
Medium
Taxonomyに対するMedium一覧を表示する(調査用)
PREFIX mccv: <http://purl.jp/bio/01/mccv#>
PREFIX taxid: <http://identifiers.org/taxonomy/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX taxo: <http://ddbj.nig.ac.jp/ontologies/taxonomy#>
SELECT ?tax_id ?label
(sql:GROUP_DIGEST(?strain_number, ',', 1000, 1)) AS ?strain_numbers
(sql:GROUP_DIGEST(?medium_id, ',', 1000, 1)) AS ?mediums
COUNT(DISTINCT ?medium) AS ?cnt
FROM <http://togogenome.org/graph/brc/>
FROM <http://togogenome.org/graph/taxonomy/>
WHERE
{
{ SELECT DISTINCT ?strain_id ?tax_id
{
?strain_id mccv:MCCV_000056 ?tax_id FILTER (STRSTARTS(STR(?tax_id),"http://identifiers.org/taxonomy/")).
}
}
?strain_id mccv:MCCV_000010 ?strain_number .
?strain_id mccv:MCCV_000018 ?medium .
BIND (REPLACE(REPLACE(STR(?medium),"http://www.jcm.riken.go.jp/cgi-bin/jcm/jcm_grmd\\?GRMD=","JCM:"),"http://www.nbrc.nite.go.jp/NBRC2/NBRCMediumDetailServlet\\?NO=","NBRC:") AS ?medium_id)
?tax_id rdfs:label ?label
} GROUP BY ?tax_id ?label ORDER BY DESC 5
taxid「1351」のMedium情報
培地の基本情報を取得
DEFINE sql:select-option "order"
PREFIX mccv: <http://purl.jp/bio/01/mccv#>
PREFIX gmo: <http://purl.jp/bio/11/gmo#>
SELECT DISTINCT ?medium_id ?medium_type_label ?medium_name
FROM <http://togogenome.org/graph/brc/>
FROM <http://togogenome.org/graph/gmo/>
WHERE
{
VALUES ?classification { gmo:GMO_000015 gmo:GMO_000016 gmo:GMO_000008 gmo:GMO_000009 }
{ SELECT DISTINCT ?medium
{
?strain_id mccv:MCCV_000056 <http://identifiers.org/taxonomy/1351>.
?strain_id mccv:MCCV_000018 ?medium .
}
}
?medium gmo:GMO_000101 ?medium_id .
?medium gmo:GMO_000111 ?medium_type .
?medium_type rdfs:label ?medium_type_label .
OPTIONAL { ?medium gmo:GMO_000102 ?medium_name }.
}
medium classification
DEFINE sql:select-option "order"
PREFIX mccv: <http://purl.jp/bio/01/mccv#>
PREFIX gmo: <http://purl.jp/bio/11/gmo#>
SELECT ?medium ?classification ?class_label
(sql:GROUP_DIGEST(?ingredient_label , ', ', 1000, 1)) AS ?ingredients
FROM <http://togogenome.org/graph/brc/>
FROM <http://togogenome.org/graph/gmo/>
WHERE
{
VALUES ?classification { gmo:GMO_000015 gmo:GMO_000016 gmo:GMO_000008 gmo:GMO_000009 }
{ SELECT DISTINCT ?medium
{
?strain_id mccv:MCCV_000056 <http://identifiers.org/taxonomy/1351>.
?strain_id mccv:MCCV_000018 ?medium .
}
}
?medium gmo:GMO_000104 ?ingredient .
?ingredient rdfs:subClassOf* ?classification .
?ingredient rdfs:label ?ingredient_label FILTER (lang(?ingredient_label) = "en") .
?classification rdfs:label ?class_label .
} GROUP BY ?medium ?classification ?class_label
Phenotype information
スタンザファイル名:organism_phyenotype 旧スタンザファイル名:phenotype_information
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX up: <http://purl.uniprot.org/core/>
PREFIX idtax: <http://purl.uniprot.org/taxonomy/>
SELECT ?mpo ?phenotype (GROUP_CONCAT(?value; SEPARATOR = ", ") AS ?value)
FROM <http://togogenome.org/graph/mpo/>
FROM <http://togogenome.org/graph/gold/>
WHERE
{
idtax:383372 ?mpo ?o .
?mpo rdfs:label ?phenotype .
FILTER (lang(?phenotype) = "en") .
OPTIONAL
{
?o rdfs:label ?o2 .
FILTER (lang(?o2) = "en") .
}
BIND( IF(bound(?o2) ,?o2 , ?o) as ?value )
} GROUP BY ?mpo ?phenotype ORDER BY ?mpo
Organism habitat
DEFINE sql:select-option "order"
PREFIX idorg: <http://rdf.identifiers.org/database/>
PREFIX mccv: <http://purl.jp/bio/01/mccv#>
PREFIX meo: <http://purl.jp/bio/11/meo/>
SELECT DISTINCT ?linage_meo_id ?label ?parent_meo_id ?is_sampled_meo
FROM <http://togogenome.org/graph/refseq/>
FROM <http://togogenome.org/graph/gold/>
FROM <http://togogenome.org/graph/meo/>
WHERE
{
{
SELECT DISTINCT ?meo_id
WHERE
{
VALUES ?p_env { meo:MEO_0000437 meo:MEO_0000440 }
?seq rdfs:seeAlso ?tax_id FILTER (?tax_id = <http://identifiers.org/taxonomy/103690>) .
?tax_id a idorg:Taxonomy .
?gold_id mccv:MCCV_000020 ?tax_id .
?gold_id ?p_env ?meo_id .
}
}
GRAPH <http://togogenome.org/graph/meo/>
{
?meo_id rdfs:subClassOf* ?linage_meo_id .
OPTIONAL { ?linage_meo_id rdfs:label ?label . }
OPTIONAL { ?linage_meo_id rdfs:subClassOf ?parent_meo_id .}
BIND ( IF(?meo_id = ?linage_meo_id, "TRUE","FALSE") AS ?is_sampled_meo) .
}
}
Genomic plot
スタンザファイル名:genome_plot
旧スタンザファイル名:taxonomy_plot
genomeサイズ + Organism Name + Phenotype
DEFINE sql:select-option "order"
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX meo: <http://purl.jp/bio/11/meo/>
PREFIX mccv: <http://purl.jp/bio/01/mccv#>
PREFIX mpo:<http://purl.jp/bio/01/mpo#>
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX insdc: <http://insdc.org/owl/>
PREFIX idorg:<http://rdf.identifiers.org/database/>
PREFIX taxo: <http://ddbj.nig.ac.jp/ontologies/taxonomy#>
SELECT
?tax ?organism_name ?bioProject ?genome_length
(sql:GROUP_DIGEST (?cell_shape_label, ', ', 1000, 1)) AS ?cell_shape_label
(sql:GROUP_DIGEST (?temp_range_label, ', ', 1000, 1)) AS ?temp_range_label
(sql:GROUP_DIGEST (?oxy_req_label, ', ', 1000, 1)) AS ?oxy_req_label
?opt_temp ?min_temp ?max_temp ?opt_ph ?min_ph ?max_ph
FROM <http://togogenome.org/graph/refseq/>
FROM <http://togogenome.org/graph/mpo/>
FROM <http://togogenome.org/graph/gold/>
FROM <http://togogenome.org/graph/taxonomy/>
{
{
SELECT ?tax ?bioProject SUM(?seq_len) AS ?genome_length
{
?tax rdf:type idorg:Taxonomy .
?seq rdfs:seeAlso ?tax ;
rdf:type ?obo_type FILTER(?obo_type IN (obo:SO_0000340, obo:SO_0000155 )) .
?seq insdc:sequence_length ?seq_len ;
rdfs:seeAlso ?bioProject .
?bioProject rdf:type idorg:BioProject .
} GROUP BY ?tax ?bioProject
}
OPTIONAL { ?tax mpo:MPO_10001/rdfs:label ?cell_shape_label FILTER (lang(?cell_shape_label) = "en") . }
OPTIONAL { ?tax mpo:MPO_10003/rdfs:label ?temp_range_label FILTER (lang(?temp_range_label) = "en") . }
OPTIONAL { ?tax mpo:MPO_10002/rdfs:label ?oxy_req_label FILTER (lang(?oxy_req_label) = "en") . }
OPTIONAL { ?tax mpo:MPO_10009 ?opt_temp . }
OPTIONAL { ?tax mpo:MPO_10010 ?min_temp . }
OPTIONAL { ?tax mpo:MPO_10011 ?max_temp . }
OPTIONAL { ?tax mpo:MPO_10005 ?opt_ph . }
OPTIONAL { ?tax mpo:MPO_10006 ?min_ph . }
OPTIONAL { ?tax mpo:MPO_10007 ?max_ph . }
?tax taxo:scientificName ?organism_name
} GROUP BY ?tax ?organism_name ?genome_length ?bioProject ?opt_temp ?min_temp ?max_temp ?opt_ph ?min_ph ?max_ph
環境名(第一階層のみを取得)
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX meo: <http://purl.jp/bio/11/meo/>
PREFIX mccv: <http://purl.jp/bio/01/mccv#>
SELECT ?tax (sql:GROUP_DIGEST (?label, ', ', 1000, 1)) as ?habitat
FROM <http://togogenome.org/graph/gold/>
FROM <http://togogenome.org/graph/meo/>
WHERE
{
VALUES ?p_env { meo:MEO_0000437 meo:MEO_0000440 }
?gold mccv:MCCV_000020 ?tax FILTER regex(?tax, "^http://identifiers.org/") .
?gold ?p_env ?meo .
?meo a owl:Class ;
rdfs:subClassOf* ?parent .
?parent rdfs:label ?label .
?parent meo:MEO_0000442 "1" .
} GROUP BY ?tax
Gene,rRNA,tRNA数の取得
このクエリを発行する前に、集計結果トリプルを生成してインポートしておく必要がある。集計クエリ
PREFIX togo: <http://togogenome.org/stats/>
SELECT ?tax ?project_id ?num_gene ?num_rrna ?num_trna
FROM <http://togogenome.org/graph/stats/>
WHERE
{
?tax togo:genome_stats ?blank .
?blank rdfs:seeAlso ?project_id .
?blank togo:gene_number ?num_gene .
?blank togo:rrna_number ?num_rrna .
?blank togo:trna_number ?num_trna .
}
Pathogen information
スタンザファイル名:organism_pathogen_information 旧スタンザファイル名:pathogen_info
DEFINE sql:select-option "order"
PREFIX pdo: <http://purl.jp/bio/11/pdo/>
PREFIX taxid: <http://identifiers.org/taxonomy/>
SELECT REPLACE(STR(?tax_id),"http://identifiers.org/taxonomy/","") AS ?tax_no
?bacterialName (GROUP_CONCAT(?diseaseName; SEPARATOR = ", ") AS ?diseaseNameSet) ?infectiousType ?strainType
FROM <http://togogenome.org/graph/pdo/>
FROM <http://togogenome.org/graph/pdo_mapping/>
FROM <http://togogenome.org/graph/taxonomy/>
WHERE
{
?tax_id rdfs:subClassOf* taxid:1763 ;
rdfs:label ?bacterialName ;
pdo:isAssociatedTo ?blank .
?blank ?p ?disease FILTER (?p IN(pdo:mayCaused, pdo:isRelatedTo)) .
?disease rdfs:label ?diseaseName .
OPTIONAL { ?tax_id pdo:isAssociatedTo/pdo:infectiousType ?infectiousType . }
OPTIONAL { ?tax_id pdo:isAssociatedTo/pdo:strainType ?strainType . }
}
Organism cross references
スタンザファイル名:organism_cross_references 旧スタンザファイル名:taxonomy_cross_references
PREFIX mccv: <http://purl.jp/bio/01/mccv#>
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX insdc: <http://insdc.org/owl/>
PREFIX idtax: <http://identifiers.org/taxonomy/>
SELECT ?label ?link
FROM <http://togogenome.org/graph/gold/>
FROM <http://togogenome.org/graph/refseq/>
WHERE
{
{
SELECT REPLACE(str(?gold),"http://www.genomesonline.org/cgi-bin/GOLD/GOLDCards.cgi\\?goldstamp=", "GOLD:" ) as ?label ?gold as ?link
FROM <http://togogenome.org/gold/>
WHERE
{
?gold mccv:MCCV_000020 idtax:1148 .
}
}
UNION
{
SELECT DISTINCT ?label ?xref as ?link
FROM <http://togogenome.org/graph/refseq/>
WHERE
{
values ?tax_id { idtax:1148 }
values ?so { obo:SO_0000340 obo:SO_0000155 }
?seq rdfs:seeAlso ?tax_id .
?seq a ?so .
?seq rdfs:seeAlso ?xref .
?xref rdfs:label ?label .
} ORDER BY ?label
}
}
Genome cross references
スタンザファイル名:genome_cross_references 旧スタンザファイル名:genome_cross_references
Environment Report
Environment attributes
スタンザファイル名:environment_attributes 旧スタンザファイル名:
DEFINE sql:select-option "order"
PREFIX meo: <http://purl.jp/bio/11/meo/>
SELECT
REPLACE(STR(?meo_id),"http://purl.jp/bio/11/meo/","") AS ?meo_no ?meo_label ?meo_definition AS ?description
(sql:GROUP_DIGEST(?exact_synonym, ', ', 1000, 1)) AS ?exact_synonyms
FROM <http://togogenome.org/graph/meo/>
WHERE
{
meo:MEO_0000029 rdfs:label ?meo_label .
?meo_id rdfs:label ?meo_label .
OPTIONAL { ?meo_id meo:MEO_0000443 ?meo_definition . }
OPTIONAL { ?meo_id meo:MEO_0000776 ?exact_synonym . }
} GROUP BY ?meo_id ?meo_label ?meo_definition
Environmental linage
上位層
PREFIX meo: <http://purl.jp/bio/11/meo/>
SELECT REPLACE(STR(?meo), "http://purl.jp/bio/11/meo/", "") AS ?meo_no ?meo_label
FROM <http://togogenome.org/graph/meo/>
WHERE
{
?search_meo rdfs:label ?o FILTER (?search_meo = meo:MEO_0000029 ) .
?search_meo rdfs:subClassOf ?meo OPTION (transitive, t_direction 1, t_min(0), t_step("step_no") as ?step) .
?meo rdfs:label ?meo_label .
} ORDER BY DESC(?step)
下位層
PREFIX meo: <http://purl.jp/bio/11/meo/>
SELECT REPLACE(STR(?meo), "http://purl.jp/bio/11/meo/", "") AS ?meo_no ?meo_label
FROM <http://togogenome.org/graph/meo/>
WHERE
{
?search_meo rdfs:label ?o FILTER (?search_meo = meo:MEO_0000029 ) .
?meo rdfs:subClassOf ?search_meo .
?meo rdfs:label ?meo_label .
}
Inhabitants statistics
DEFINE sql:select-option "order"
PREFIX mccv: <http://purl.jp/bio/01/mccv#>
PREFIX meo: <http://purl.jp/bio/11/meo/>
SELECT ?type ?cnt
FROM <http://togogenome.org/graph/gold/>
FROM <http://togogenome.org/graph/meo/>
FROM <http://togogenome.org/graph/brc/>
WHERE
{
{
SELECT ?type COUNT(DISTINCT ?gold) AS ?cnt
{
VALUES ?meo_mapping { meo:MEO_0000437 meo:MEO_0000440 }
?gold_meo_id rdfs:subClassOf* meo:MEO_0000004 .
?gold ?meo_mapping ?gold_meo_id .
BIND ("GOLD" AS ?type ).
}
}
UNION
{
SELECT ?type COUNT(DISTINCT ?strain) AS ?cnt
{
VALUES ?meo_strain_mapping { mccv:MCCV_000059 mccv:MCCV_000060 }
?strain_meo_id rdfs:subClassOf* meo:MEO_0000004 .
?strain ?meo_strain_mapping ?strain_meo_id .
BIND (IF(STRSTARTS(STR(?strain), "http://www.nbrc.nite.go.jp/"), "NBRC",IF(STRSTARTS(STR(?strain), "http://www.jcm.riken.go.jp/"),"JCM","")) AS ?type) .
} GROUP BY ?type
}
}
Inhabitants
GOLD samples
DEFINE sql:select-option "order"
PREFIX mccv: <http://purl.jp/bio/01/mccv#>
PREFIX meo: <http://purl.jp/bio/11/meo/>
PREFIX taxo: <http://ddbj.nig.ac.jp/ontologies/taxonomy#>
SELECT
?gold AS ?source_link
REPLACE(STR(?gold) ,"http://www.genomesonline.org/cgi-bin/GOLD/GOLDCards.cgi\\?goldstamp=" ,"" ) AS ?source_id
?organism_name REPLACE(STR(?tax_id) ,"http://identifiers.org/taxonomy/" ,"" ) AS ?tax_no "" AS ?isolation
(sql:GROUP_DIGEST(?env, '||', 1000, 1)) AS ?env_links
FROM <http://togogenome.org/graph/gold/>
FROM <http://togogenome.org/graph/meo/>
FROM <http://togogenome.org/graph/taxonomy/>
{
VALUES ?meo_mapping { meo:MEO_0000437 meo:MEO_0000440 }
?meo_id rdfs:subClassOf* meo:MEO_0000004 .
?gold ?meo_mapping ?meo_id .
?meo_id rdfs:label ?meo_label .
BIND (CONCAT(REPLACE(STR(?meo_id),"http://purl.jp/bio/11/meo/",""), ?meo_label) AS ?env )
OPTIONAL
{
?gold mccv:MCCV_000020 ?tax_id .
?tax_id taxo:scientificName ?organism_name
}
} GROUP BY ?gold ?tax_id ?organism_name
Culture collections
PREFIX mccv: <http://purl.jp/bio/01/mccv#>
PREFIX meo: <http://purl.jp/bio/11/meo/>
SELECT ?strain_id AS ?source_link ?strain_number AS ?source_id ?strain_name AS ?organism_name
(sql:GROUP_DIGEST(?tax_no, ', ', 1000, 1)) AS ?tax_no
?isolation (sql:GROUP_DIGEST(?env, '||', 1000, 1)) AS ?env_links
FROM <http://togogenome.org/graph/taxonomy/>
FROM <http://togogenome.org/graph/brc/>
FROM <http://togogenome.org/graph/meo/>
WHERE
{
VALUES ?related_type { mccv:MCCV_000056 mccv:MCCV_000022 mccv:MCCV_000057 }
{ SELECT DISTINCT ?strain_id
{
VALUES ?meo_mapping { mccv:MCCV_000059 mccv:MCCV_000060 }
?meo_id rdfs:subClassOf* meo:MEO_0000029 .
?strain_id ?meo_mapping ?meo_id .
?strain_id rdf:type mccv:MCCV_000001 .
}
}
OPTIONAL { ?strain_id mccv:MCCV_000010 ?strain_number . }
OPTIONAL { ?strain_id mccv:MCCV_000012 ?strain_name . }
OPTIONAL { ?strain_id mccv:MCCV_000030 ?isolation . }
OPTIONAL
{
?strain_id mccv:MCCV_000059|mccv:MCCV_000060 ?meo_id .
?meo_id rdfs:label ?meo_label .
BIND (CONCAT(REPLACE(STR(?meo_id),"http://purl.jp/bio/11/meo/",""), ?meo_label) AS ?env )
}
OPTIONAL
{
?strain_id ?related_type ?tax_id FILTER (STRSTARTS(STR(?tax_id),"http://identifiers.org/")) .
BIND (REPLACE(STR(?tax_id),"http://identifiers.org/taxonomy/","") AS ?tax_no) .
}
} GROUP BY ?strain_id ?strain_number ?strain_name ?isolation
Sampling places
スタンザファイル名:gold_sampling_places 旧スタンザファイル名:
PREFIX meo: <http://purl.jp/bio/11/meo/>
PREFIX msv: <http://purl.jp/bio/11/msv/>
SELECT
?gold REPLACE(STR(?gold),"http://www.genomesonline.org/cgi-bin/GOLD/GOLDCards.cgi\\?goldstamp=","") AS ?gold_id
?gaz ?place_name ?latitude ?longitude
FROM <http://togogenome.org/graph/gold/>
FROM <http://togogenome.org/graph/meo/>
FROM <http://togogenome.org/graph/gazetteer/>
{
?meo_id rdfs:subClassOf* meo:MEO_0000029 .
?gold meo:MEO_0000437 ?meo_id .
?gold meo:MEO_0000438 ?gaz .
?gaz rdfs:label ?place_name .
?gaz msv:latitude ?latitude .
?gaz msv:longitude ?longitude .
}
Sample collections
スタンザファイル名:gold_sampling_collections 旧スタンザファイル名:
DEFINE sql:select-option "order"
PREFIX mccv: <http://purl.jp/bio/01/mccv#>
PREFIX meo: <http://purl.jp/bio/11/meo/>
PREFIX taxo: <http://ddbj.nig.ac.jp/ontologies/taxonomy#>
SELECT
?gold REPLACE(STR(?gold) ,"http://www.genomesonline.org/cgi-bin/GOLD/GOLDCards.cgi\\?goldstamp=" ,"" ) AS ?gold_no
?organism_name REPLACE(STR(?tax_id) ,"http://identifiers.org/taxonomy/" ,"" ) AS ?tax_no
(sql:GROUP_DIGEST(?env, '||', 1000, 1)) AS ?env_links
FROM <http://togogenome.org/graph/gold/>
FROM <http://togogenome.org/graph/meo/>
FROM <http://togogenome.org/graph/taxonomy/>
{
VALUES ?meo_mapping { meo:MEO_0000437 meo:MEO_0000440 }
?meo_id rdfs:subClassOf* meo:MEO_0000004 .
?gold ?meo_mapping ?meo_id .
?meo_id rdfs:label ?meo_label .
BIND (CONCAT(REPLACE(STR(?meo_id),"http://purl.jp/bio/11/meo/",""), ?meo_label) AS ?env )
OPTIONAL
{
?gold mccv:MCCV_000020 ?tax_id .
?tax_id taxo:scientificName ?organism_name
}
} GROUP BY ?gold ?tax_id ?organism_name
Taxonomic composition
スタンザファイル名:gold_taxonomic_composition 旧スタンザファイル名:
DEFINE sql:select-option "order"
PREFIX mccv: <http://purl.jp/bio/01/mccv#>
PREFIX meo: <http://purl.jp/bio/11/meo/>
PREFIX taxo: <http://ddbj.nig.ac.jp/ontologies/taxonomy#>
PREFIX taxid: <http://identifiers.org/taxonomy/>
SELECT ?tax ?organism_name ?parent ?rank
FROM <http://togogenome.org/graph/meo/>
FROM <http://togogenome.org/graph/gold/>
FROM <http://togogenome.org/graph/taxonomy/>
WHERE
{
{
SELECT ?tax
{
VALUES ?meo_mapping { meo:MEO_0000437 meo:MEO_0000440 }
?meo_id rdfs:subClassOf* meo:MEO_0000004 .
?gold ?meo_mapping ?meo_id .
?gold mccv:MCCV_000020 ?hit_tax FILTER (STRSTARTS(STR(?hit_tax), "http://identifiers.org/taxonomy" )) .
?hit_tax rdfs:subClassOf* ?tax .
} GROUP BY ?tax
}
?tax taxo:scientificName ?organism_name .
OPTIONAL { ?tax rdfs:subClassOf ?parent . }
OPTIONAL { ?tax taxo:rank ?rank . }
}
Culture collections
スタンザファイル名:environment_culture_collections
PREFIX mccv: <http://purl.jp/bio/01/mccv#>
PREFIX meo: <http://purl.jp/bio/11/meo/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX taxo: <http://ddbj.nig.ac.jp/ontologies/taxonomy#>
SELECT ?strain_id ?strain_number ?strain_name ?typeStrain ?isolated_from ?opt_temp ?min_temp ?max_temp ?history ?application
?taxid_a ?tax_label_a ?taxid_b1 ?tax_label_b1 ?taxid_b2 ?tax_label_b2 ?taxid_c ?tax_label_c
(sql:GROUP_DIGEST(?other_link, ', ', 1000, 1)) AS ?other_links
(sql:GROUP_DIGEST(?ref_link, ', ', 1000, 1)) AS ?ref_links
FROM <http://togogenome.org/graph/taxonomy/>
FROM <http://togogenome.org/graph/brc/>
FROM <http://microbedb.jp/meo/>
WHERE
{
{ SELECT DISTINCT ?strain_id
{
VALUES ?meo_mapping { mccv:MCCV_000059 mccv:MCCV_000060 }
?meo_id rdfs:subClassOf* meo:MEO_0000029 .
?strain_id ?meo_mapping ?meo_id .
?strain_id rdf:type mccv:MCCV_000001 .
}
}
OPTIONAL { ?strain_id mccv:MCCV_000010 ?strain_number . }
OPTIONAL { ?strain_id mccv:MCCV_000012 ?strain_name . }
OPTIONAL { ?strain_id mccv:MCCV_000017 ?typeStrain . }
OPTIONAL { ?strain_id mccv:MCCV_000030 ?isolated_from . }
OPTIONAL { ?strain_id mccv:MCCV_000014 ?opt_temp . }
OPTIONAL { ?strain_id mccv:MCCV_000015 ?min_temp . }
OPTIONAL { ?strain_id mccv:MCCV_000016 ?max_temp . }
OPTIONAL { ?strain_id mccv:MCCV_000027 ?history . }
OPTIONAL { ?strain_id mccv:MCCV_000033 ?application . }
OPTIONAL { ?strain_id mccv:MCCV_000056 ?taxid_a FILTER (STRSTARTS(STR(?taxid_a), "http://identifiers.org")) . ?taxid_a taxo:scientificName ?tax_label_a . }
OPTIONAL { ?strain_id mccv:MCCV_000022 ?taxid_b1 FILTER (STRSTARTS(STR(?taxid_b1), "http://identifiers.org")) . ?taxid_b1 taxo:scientificName ?tax_label_b1 . }
OPTIONAL { ?strain_id mccv:MCCV_000057 ?taxid_b2 FILTER (STRSTARTS(STR(?taxid_b2), "http://identifiers.org")) . ?taxid_b2 taxo:scientificName ?tax_label_b2 . }
OPTIONAL { ?strain_id mccv:MCCV_000023 ?taxid_c FILTER (STRSTARTS(STR(?taxid_c), "http://identifiers.org")) . ?taxid_c taxo:scientificName ?tax_label_c . }
OPTIONAL { ?strain_id mccv:MCCV_000024/mccv:MCCV_000026 ?other_link . }
OPTIONAL
{
?strain_id dcterms:references/mccv:MCCV_000047 ?ref_id .
?strain_id mccv:MCCV_000010 ?strain_no .
BIND (IF(STRSTARTS(?strain_no, "JCM"), CONCAT("http://www.jcm.riken.go.jp/cgi-bin/jcm/jcm_ref?REF=", ?ref_id), IF(STRSTARTS(?strain_no, "NBRC"), CONCAT("http://www.nbrc.nite.go.jp/NBRC2/NBRCReferenceDetailServlet?NO=", ?ref_id), "")) AS ?ref_link) .
}
} GROUP BY ?strain_id ?strain_number ?strain_name ?typeStrain ?isolated_from ?opt_temp ?min_temp ?max_temp ?history ?application ?taxid_a ?tax_label_a ?taxid_b1 ?tax_label_b1 ?taxid_b2 ?tax_label_b2 ?taxid_c ?tax_label_c
項目縮小版
PREFIX mccv: <http://purl.jp/bio/01/mccv#>
PREFIX taxid: <http://identifiers.org/taxonomy/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX taxo: <http://ddbj.nig.ac.jp/ontologies/taxonomy#>
PREFIX meo: <http://purl.jp/bio/11/meo/>
SELECT ?strain_id ?strain_number ?strain_name AS ?organism_name
?isolation (sql:GROUP_DIGEST(?env, '|| ', 1000, 1)) AS ?env_links
?type_strain_label ?application
(sql:GROUP_DIGEST(?other_link, ', ', 1000, 1)) AS ?other_collections
FROM <http://togogenome.org/graph/taxonomy/>
FROM <http://togogenome.org/graph/brc/>
FROM <http://togogenome.org/graph/meo/>
WHERE
{
{ SELECT DISTINCT ?strain_id
{
VALUES ?meo_mapping { mccv:MCCV_000059 mccv:MCCV_000060 }
?meo_id rdfs:subClassOf* meo:MEO_0000029 .
?strain_id ?meo_mapping ?meo_id .
?strain_id rdf:type mccv:MCCV_000001 .
}
}
OPTIONAL { ?strain_id mccv:MCCV_000010 ?strain_number . }
OPTIONAL { ?strain_id mccv:MCCV_000012 ?strain_name . }
OPTIONAL { ?strain_id mccv:MCCV_000030 ?isolation . }
OPTIONAL
{
?strain_id mccv:MCCV_000059|mccv:MCCV_000060 ?meo_id .
?meo_id rdfs:label ?meo_label .
BIND (CONCAT(REPLACE(STR(?meo_id),"http://purl.jp/bio/11/meo/",""), ?meo_label) AS ?env )
}
OPTIONAL { ?strain_id mccv:MCCV_000017 ?type_strain . BIND (IF(?type_strain = 1, "yes","no") AS ?type_strain_label)}
OPTIONAL { ?strain_id mccv:MCCV_000033 ?application . }
OPTIONAL { ?strain_id mccv:MCCV_000024/mccv:MCCV_000026 ?other_link . }
} GROUP BY ?strain_id ?strain_number ?strain_name ?type_strain_label ?isolation ?application
Environment ontology
スタンザファイル名:environment_ontology
PREFIX meo: <http://purl.jp/bio/11/meo/>
SELECT ?meo_id ?label ?definition ?parent
FROM <http://togogenome.org/graph/meo/>
WHERE
{
?meo_id a owl:Class .
OPTIONAL { ?meo_id rdfs:label ?label . }
OPTIONAL { ?meo_id meo:MEO_0000443 ?definition . }
OPTIONAL { ?meo_id rdfs:subClassOf ?parent . }
}
共通クエリ
uniprot_url_from_togogenome(gene_id)
RefSeqのLocusTagからUniProtのProteinID(refseq)を返すクエリ。
PREFIX insdc: <http://insdc.org/owl/>
PREFIX idorg: <http://rdf.identifiers.org/database/>
PREFIX dct: <http://purl.org/dc/terms/>
SELECT DISTINCT ?up
FROM <http://togogenome.org/graph/refseq/>
WHERE
{
?s insdc:feature_locus_tag "alr3431" .
?s rdfs:seeAlso ?np .
?s rdfs:seeAlso ?xref .
?np rdf:type idorg:Protein .
BIND (STRAFTER(STR(?np), "ncbiprotein/") AS ?npid)
BIND (IRI(CONCAT("http://purl.uniprot.org/refseq/", ?npid)) AS ?up)
}
計算用クエリ
Genomic plot用集計結果
Genomic plot, Pfam plotで表示する、各ゲノムのgene, trna, rrna数の集計クエリは遅いため、予め集計した数値をトリプルとして持って置く
Taxonomy,BioProjectリスト取得
Taxonomy及びBioProjectのリストを取得。ひとつのTaonomyに複数のBioProjectが紐づいているケースもあるため、2つをグルーピングのキーにする。
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX idorg:<http://rdf.identifiers.org/database/>
SELECT DISTINCT ?tax ?bioProject
FROM <http://togogenome.org/graph/refseq/>
WHERE
{
?tax rdf:type idorg:Taxonomy .
?seq rdfs:seeAlso ?tax ;
rdf:type ?obo_type FILTER(?obo_type IN (obo:SO_0000340, obo:SO_0000155 )).
?seq rdfs:seeAlso ?bioProject.
?bioProject rdf:type idorg:BioProject .
}
Gene数集計取得
taxonomy"1148", bioproject"57659"の集計結果を出力するクエリ
DEFINE sql:select-option "order"
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX idorg: <http://rdf.identifiers.org/database/>
PREFIX togo: <http://togogenome.org/stats/>
CONSTRUCT
{
?tax togo:genome_stats
[
rdfs:seeAlso ?bioProject ;
togo:gene_number ?num_gene ;
togo:rrna_number ?num_rrna ;
togo:trna_number ?num_trna ;
].
}
FROM <http://togogenome.org/graph/refseq/>
WHERE
{
SELECT ?tax ?bioProject COUNT(?gene) as ?num_gene COUNT(?rrna) AS ?num_rrna COUNT(?trna) AS ?num_trna
FROM <http://togogenome.org/graph/refseq/>
WHERE
{
?seq rdfs:seeAlso ?tax FILTER (?tax = <http://identifiers.org/taxonomy/1148>) .
?seq rdf:type ?obo_type FILTER (?obo_type IN (obo:SO_0000340, obo:SO_0000155 )).
?seq rdfs:seeAlso ?bioProject FILTER (?bioProject = <http://identifiers.org/bioproject/57659>).
{ ?gene obo:so_part_of ?seq ; rdf:type obo:SO_0000704 . }
UNION
{ ?rrna obo:so_part_of ?seq ; rdf:type obo:SO_0000252 . }
UNION
{ ?trna obo:so_part_of ?seq ; rdf:type obo:SO_0000253 . }
}
}
一括でGene数集計取得
- virtuoso.iniの設定変更
生成するttlが10000行を超えると結果が途中で切れてしまうため、virtuoso.iniで以下の値を設定する。現在(RefSeq v60)では13000件程度の結果。
ResultSetMaxRows = 20000
- CONSTRUCT文の作成
genome_gene_number_stats.rq
SPARQL
DEFINE output:format "NT"
DEFINE sql:select-option "order"
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX idorg: <http://rdf.identifiers.org/database/>
PREFIX togo: <http://togogenome.org/stats/>
CONSTRUCT
{
?tax togo:genome_stats
[
rdfs:seeAlso ?bioProject ;
togo:gene_number ?num_gene ;
togo:rrna_number ?num_rrna ;
togo:trna_number ?num_trna ;
].
}
FROM <http://togogenome.org/graph/refseq/>
WHERE
{
SELECT ?tax ?bioProject COUNT(?gene) as ?num_gene COUNT(?rrna) AS ?num_rrna COUNT(?trna) AS ?num_trna
FROM <http://togogenome.org/graph/refseq/>
WHERE
{
?tax rdf:type idorg:Taxonomy .
?seq rdfs:seeAlso ?tax ;
rdf:type ?obo_type FILTER(?obo_type IN (obo:SO_0000340, obo:SO_0000155 )).
?seq rdfs:seeAlso ?bioProject.
?bioProject rdf:type idorg:BioProject .
{ ?gene obo:so_part_of ?seq ; rdf:type obo:SO_0000704 . }
UNION
{ ?rrna obo:so_part_of ?seq ; rdf:type obo:SO_0000252 . }
UNION
{ ?trna obo:so_part_of ?seq ; rdf:type obo:SO_0000253 . }
} GROUP BY ?tax ?bioProject
}
;
検索がタイムアウトしないようであれば、下のCONSTRUCT文をそのままエンドポイントに投げても良い。その場合は冒頭"SPARQL"と最後のセミコロンを削除する
- isqlでクエリ実行&ttl生成
isqlで実行する(ポートとユーザ・パスワードは適宜読み替える)
$isql 1111 dba dba VERBOSE=OFF BANNER=OFF PROMPT=OFF ECHO=OFF BLOBS=ON ERRORS=stdout < genome_gene_number_stats.rq > genome_gene_number_stats.ttl