SPARQLthon/TogoGenomeUpdate/2018 01

提供:TogoWiki

移動: 案内, 検索

目次

バージョン

  • refseq: release86
  • uniprot: 2018_01

DBファイルサイズ

440G

更新時期

  • 開始: 2018-02-03 23:30
  • 終了: 2018-03-20 01:49


トリプル数統計

総トリプル数

11,174,219,395トリプル(約111億)

グラフ一覧とトリプル数

グラフURIトリプル数
http://togogenome.org/graph/uniprot6050008286
http://togogenome.org/graph/refseq3482701863
http://togogenome.org/graph/edgestore910999254
http://togogenome.org/graph/assembly_report312335240
http://togogenome.org/graph/tgup164099187
http://togogenome.org/graph/goup123168464
http://togogenome.org/graph/stats89343557
http://togogenome.org/graph/taxonomy23793743
http://togogenome.org/graph/gazetteer7062536
http://togogenome.org/graph/gotax6307506
http://togogenome.org/graph/gold1600208
http://togogenome.org/graph/go1573748
http://togogenome.org/graph/brc914050
http://togogenome.org/graph/tgtax201248
http://togogenome.org/graph/so43060
http://togogenome.org/graph/taxonomy_lite18992
http://togogenome.org/graph/insdc14238
http://togogenome.org/graph/gmo6956
http://togogenome.org/graph/meo4468
http://togogenome.org/graph/meo_descendants4247
http://togogenome.org/graph/pdo_mapping3305
http://togogenome.org/graph/pdo2881
http://togogenome.org/graph/csso2537
http://togogenome.org/graph/mpo1653
http://togogenome.org/graph/mpo_descendants1482
http://togogenome.org/graph/mccv675
http://togogenome.org/graph/faldo232
http://togogenome.org/graph27

更新の課題

tgupが途中で落ちる

TogoGenomeとUniProtを繋ぐTurtle(tgup)を出力するスクリプトが終盤で落ちる。
2回失敗し、3回目にスクリプト単体で実行すると成功した。
スクリプト: refseq2up.rb
更新処理が全て終わってからトリプル数が不足していることに気がついたので、早めに異常検知する仕組みが必要。

原因

不明。2回とも処理の終盤で落ちており、元々メモリ消費量が激しいため、他の処理と並行するとサーバ状況によっては落ちてしまうのかもしれない。

対処策

できれば全ての対処をしたいが、実行できそうな順に対応策を挙げる。

  • 何回か前からfastaファイルのの生成、jbrowseのデータ生成と並行して行う実行にしたが、並行しないように元に戻す。
  • エラー処理を入れる。最後の生物種まで処理が終わったかのチェックを入れて、ダメなら処理を進ませない方法を考える。
  • サーバに負荷をかけないような設計を見直す。

テキスト検索用データを出力するSPARQLが止まる

テキスト検索用データを取り出すために、isql経由でSPARQLを投げるが、gene関連の処理でisqlからの応答がなく止まることがある。応答がないため処理が進まない。
過去3回、いずれもtaxid:562(大腸菌)で処理が止まっており、そのpidをkillすると先に進む。562だけやり直すと数秒以内に正常にisqlから応答がある。
スクリプト: /data/store/rdf/togogenome/bin/text_search/gene_text_idx.rb

原因

562だけ突出してデータ量が多いのは確かだがisqlから応答がなくなる理由は不明。
checkpointの合間かと思ったが全く関係ない時間帯に起きている。

対処策

  • isqlのタイムアウト設定があれば、タイムアウトを発生させてエラーのキャッチ&リトライ処理を入れる。

isqlのタイムアウト設定があった。設定の説明

SQL > set result_timeout = 5000; #5秒でtimeoutする設定

設定動作確認

$ vi count_limit.sql
set result_timeout = 5000;
SPARQL SELECT (COUNT(*) AS ?cnt) WHERE{ ?s ?p ?o };

$ /data/store/virtuoso7.1/bin/isql (port) dba dba VERBOSE=OFF BANNER=OFF PROMPT=OFF ECHO=OFF BLOBS=ON ERRORS=stderr  < count_limit.sql > count_limit.txt

*** Error S1TAT: [Virtuoso Driver][Virtuoso Server]RC...: Returning incomplete results, query interrupted by result timeout.  Activity:      0 rnd  653.9M seq      0 same seg       0 same pg      0 same par  9.989K disk  84.17K spec disk      0B /      0 me
at line 2 of Top-Level:
SPARQL SELECT (COUNT(*) AS ?cnt) WHERE{ ?s ?p ?o }

更新スクリプトを修正してタイムアウト5時間で設定(tax:562のデータは正常でも2時間近く掛かっている)。 改変内容

  • 上記がダメなら、長引いているisqlの処理をモニタリングする別スクリプトを起動して監視する。