SPARQLthon/TogoGenomeUpdate/2018 04
提供:TogoWiki
目次 |
バージョン
- refseq: release87
- uniprot: 2018_04
DBファイルサイズ
460G
更新時期
- 開始: 2018-04-30 23:45
- 終了: 2018-05-17 03:48
テキスト検索データの生成で2日ほど処理停滞
トリプル数統計
総トリプル数
11,793,101,815トリプル(約111億)
グラフ一覧とトリプル数
更新の課題
テキスト検索用データを出力するSPARQLが止まる
前回対策を施したがisqlのタイムアウト設定は効かずに2日間停滞した。
別ウィンドウで562のデータを再度クエリを掛けても2日以上返ってこなかったため、クエリの見直しが必要そう
/data/store/virtuoso7.1/bin/isql 20711 dba dba VERBOSE=OFF BANNER=OFF PROMPT=OFF ECHO=OFF BLOBS=ON ERRORS=stderr < /data/store/rdf/togogenome/bin/text_search/sparql/gene/temp_sparql_protein_cross_references_562.rq > /data/store/rdf/togogenome/text_search/current/prepare/gene/text/protein_cross_references/562.txt
データ量が多すぎてGeneのファセット検索が返ってこない
現状での対象RefSeqシーケンスの選定
Assembly report(refseq)から以下の条件で取得 2014年7月のAssemblyReports
- assembly_levelが"Chromosome"または"Complete Genome"
- version_statusが"latest"(最新のAssembly ID)
- ヒト(9606)の場合はBioProject"PRJNA168"だけに限定
- sequence_idが"AC|AP|NC|NG|NM|NP|NR|NT|NW|XM|XP|XR|YP|ZP"から始まるものだけに限定
(取得SPARQL) PREFIX asm: <http://ddbj.nig.ac.jp/ontologies/assembly/> SELECT DISTINCT ?assembly_accession ?tax_id ?bioproject_accession ?refseq_category ?release_date ?replicon_type ?seq_id FROM <http://togogenome.org/graph/assembly_report> { ?assembly asm:assembly_id ?assembly_accession ; rdf:type <http://identifiers.org/refseq> ; asm:tax_id ?tax_id ; asm:bioproject_accession ?bioproject_accession ; asm:gbrs_paired_asm ?gbrs ; asm:version_status "latest" ; asm:assembly_level ?level ; asm:refseq_category ?refseq_category ; #use stats asm:release_date ?release_date ; #use stats asm:sequence ?seq . ?seq asm:assigned_molecule_location_type ?replicon_type ; asm:sequence_role "assembled-molecule" ; asm:refseq_accession ?seq_id . FILTER( (CONTAINS(?level, "Chromosome") OR ?level = "Complete Genome") AND !((?tax_id ="9606") AND !(?bioproject_accession = "PRJNA168")) AND regex(?seq_id, "^((AC|AP|NC|NG|NM|NP|NR|NT|NW|XM|XP|XR|YP|ZP)_\\d+|(NZ\\_[A-Z]{2,4}\\d+))(\\.\\d+)?$") ) } ORDER BY ?tax_id ?bioproject_accession ?replicon_type ?seq_id
RefSeq sequence数: 34,827 Taxonomyの種類数: 14,371
対象RefSeqシーケンスを絞った場合
refseq_categoryをrepresentative genome以上とした場合
RefSeq sequence数: 7,065
Taxonomyの種類数: 2,196 (内訳 原核: 1,797 古細菌: 143 真核:212 ウィルス:44)
AND ?refseq_category IN ("representative genome", "reference genome")
PREFIX asm: <http://ddbj.nig.ac.jp/ontologies/assembly/> SELECT DISTINCT ?tax_id ?tax_label ?bioproject_accession ?refseq_category ?release_date FROM <http://togogenome.org/graph/assembly_report> FROM <http://togogenome.org/graph/taxonomy> { ?assembly asm:assembly_id ?assembly_accession ; rdf:type <http://identifiers.org/refseq> ; asm:tax_id ?tax_id ; asm:taxon ?taxon ; asm:bioproject_accession ?bioproject_accession ; asm:gbrs_paired_asm ?gbrs ; asm:version_status "latest" ; asm:assembly_level ?level ; asm:refseq_category ?refseq_category ; #use stats asm:release_date ?release_date ; #use stats asm:sequence ?seq . ?seq asm:assigned_molecule_location_type ?replicon_type ; asm:sequence_role "assembled-molecule" ; asm:refseq_accession ?seq_id . FILTER( (CONTAINS(?level, "Chromosome") OR ?level = "Complete Genome") AND !((?tax_id ="9606") AND !(?bioproject_accession = "PRJNA168")) AND regex(?seq_id, "^((AC|AP|NC|NG|NM|NP|NR|NT|NW|XM|XP|XR|YP|ZP)_\\d+|(NZ\\_[A-Z]{2,4}\\d+))(\\.\\d+)?$") AND ?refseq_category IN ("representative genome", "reference genome")) ?taxon rdfs:label ?tax_label . } ORDER BY ?tax_id ?bioproject_accession ?replicon_type ?seq_id
- Taxonomy root毎のカウント
PREFIX asm: <http://ddbj.nig.ac.jp/ontologies/assembly/> PREFIX tax: <http://identifiers.org/taxonomy/> SELECT ?root_tax_label COUNT(DISTINCT ?taxon) FROM <http://togogenome.org/graph/assembly_report> FROM <http://togogenome.org/graph/taxonomy> { ?assembly asm:assembly_id ?assembly_accession ; rdf:type <http://identifiers.org/refseq> ; asm:tax_id ?tax_id ; asm:taxon ?taxon ; asm:bioproject_accession ?bioproject_accession ; asm:gbrs_paired_asm ?gbrs ; asm:version_status "latest" ; asm:assembly_level ?level ; asm:refseq_category ?refseq_category ; #use stats asm:release_date ?release_date ; #use stats asm:sequence ?seq . ?seq asm:assigned_molecule_location_type ?replicon_type ; asm:sequence_role "assembled-molecule" ; asm:refseq_accession ?seq_id . FILTER( (CONTAINS(?level, "Chromosome") OR ?level = "Complete Genome") AND !((?tax_id ="9606") AND !(?bioproject_accession = "PRJNA168")) AND regex(?seq_id, "^((AC|AP|NC|NG|NM|NP|NR|NT|NW|XM|XP|XR|YP|ZP)_\\d+|(NZ\\_[A-Z]{2,4}\\d+))(\\.\\d+)?$") AND ?refseq_category IN ("representative genome", "reference genome")) VALUES ?taxon_parent {tax:2 tax:2759 tax:2157 tax:10239 tax:12884 tax:28384 tax:12908 } ?taxon rdfs:label ?tax_label . ?taxon rdfs:subClassOf* ?taxon_parent . ?taxon_parent rdfs:label ?root_tax_label . } GROUP BY ?taxon_parent ?root_tax_label
refseq_categoryをreference genomeのみとした場合
RefSeq sequence数: 433 Taxonomyの種類数: 171
AND ?refseq_category = "reference genome"
PREFIX asm: <http://ddbj.nig.ac.jp/ontologies/assembly/> SELECT DISTINCT ?tax_id ?tax_label ?bioproject_accession ?refseq_category ?release_date FROM <http://togogenome.org/graph/assembly_report> FROM <http://togogenome.org/graph/taxonomy> { ?assembly asm:assembly_id ?assembly_accession ; rdf:type <http://identifiers.org/refseq> ; asm:tax_id ?tax_id ; asm:taxon ?taxon ; asm:bioproject_accession ?bioproject_accession ; asm:gbrs_paired_asm ?gbrs ; asm:version_status "latest" ; asm:assembly_level ?level ; asm:refseq_category ?refseq_category ; #use stats asm:release_date ?release_date ; #use stats asm:sequence ?seq . ?seq asm:assigned_molecule_location_type ?replicon_type ; asm:sequence_role "assembled-molecule" ; asm:refseq_accession ?seq_id . FILTER( (CONTAINS(?level, "Chromosome") OR ?level = "Complete Genome") AND !((?tax_id ="9606") AND !(?bioproject_accession = "PRJNA168")) AND regex(?seq_id, "^((AC|AP|NC|NG|NM|NP|NR|NT|NW|XM|XP|XR|YP|ZP)_\\d+|(NZ\\_[A-Z]{2,4}\\d+))(\\.\\d+)?$") AND ?refseq_category = "reference genome" ) ?taxon rdfs:label ?tax_label . } ORDER BY ?tax_id ?bioproject_accession ?replicon_type ?seq_id
スタンザの更新
Genome Plotのバグ
http://togogenome.org/organism/13345#genome_plot
UniProt情報のisoformの優先順位
uniprot:Simple_Sequenceタイプのisoformがcanonicalなisoform
PREFIX up: <http://purl.uniprot.org/core/> PREFIX faldo: <http://biohackathon.org/resource/faldo#> SELECT ?annotation ?isoform { <http://purl.uniprot.org/uniprot/P38398> up:annotation ?annotation . ?annotation up:range/faldo:begin/faldo:reference ?isoform }
RefSeqとUniProtマッピング
RefSeqのgeneから複数のUniProtIDが紐づくケースがあり、その場合のスタンザの表示は複数のUniProtの情報が混じって出てくる場合がある。例:9606:GNAS
どれか一つのUniProtIDを選択する or 切り替えができるようにする、といった対応が必要になる。
複数ProteinIDに紐づくgene数: 991 うち、9606で複数ProteinIDに紐づくgene数 118
複数UniProtがマッピングされるケース
reviewedとUnreviewedのIDが分かれている
TogoGenome Gene ID : 9606:BRCA1 UniProtID: P38398(Reviewed) A0A024R1V0(Unreviewed)
同じ配列を持つ別の位置のProtein
TogoGenome Gene ID : 9606:PRR20A UniProtID: P86478 P86479 P86480 P86481 P86496
UniProtとRefSeqのGeneIDをマッピングするために使用している、UniProtのidmapping.datファイルには、各々5個のUniProtIDとRefSeqのProteinIDがクロスでマッピングされている(多対多)
P86478 RefSeq NP_001123876.1 <= "PRR20B" P86478 RefSeq NP_001123877.1 <= "PRR20C" P86478 RefSeq NP_001123878.1 <= "PRR20D" P86478 RefSeq NP_001123879.1 <= "PRR20E" P86478 RefSeq NP_940843.1 <= "PRR20A" P86478 RefSeq XP_016855016.1 <= 該当なし P86479 RefSeq NP_001123876.1 P86479 RefSeq NP_001123877.1 P86479 RefSeq NP_001123878.1 P86479 RefSeq NP_001123879.1 P86479 RefSeq NP_940843.1 P86479 RefSeq XP_016855016.1 P86480 RefSeq NP_001123876.1 P86480 RefSeq NP_001123877.1 P86480 RefSeq NP_001123878.1 P86480 RefSeq NP_001123879.1 P86480 RefSeq NP_940843.1 P86480 RefSeq XP_016855016.1 P86481 RefSeq NP_001123876.1 P86481 RefSeq NP_001123877.1 P86481 RefSeq NP_001123878.1 P86481 RefSeq NP_001123879.1 P86481 RefSeq NP_940843.1 P86481 RefSeq XP_016855016.1 P86496 RefSeq NP_001123876.1 P86496 RefSeq NP_001123877.1 P86496 RefSeq NP_001123878.1 P86496 RefSeq NP_001123879.1 P86496 RefSeq NP_940843.1 P86496 RefSeq XP_016855016.1
UniProtのmappingデータがおかしい模様。Gene名が一緒かどうかで判定できる可能性がある。
external isoformがある場合
TogoGenome Gene ID : 9606:GNAS UniProtID: O95467 P63092 P84996 Q5JWF2
対応
"PRR20A"のような同じ配列を持つケースについては、UniProtのmappingデータがおかしい模様。Gene名が一緒かどうかで判定できる可能性がある。
"GNAS"の例であればTranscriptIDでUniProtIDを特定できるかもしれないが、TogoVarで先に対応してからTogoGenomeにフィードバっクする。
RefSeqから情報を取得するスタンザ(gene_attributes等)では1つのGeneに対してTranscriptをLIMIT 1でランダムに選定して表示しているので、UniProtから情報を取得するスタンザでもUniProt IDをLIMIT 1で選定してから表示する。その際、せめてreviewedなUniProtを優先して選定する。