SPARQLthon/TogoGenomeUpdate/2018 05

提供:TogoWiki

移動: 案内, 検索

目次

バージョン

  • refseq: release88
  • uniprot: 2018_05

対象データの絞り込み

gene数が増えすぎてファセット検索が返ってこない状況になっていたため、対象とするRefSeqを"reference genome"または"representative genome"のみにするように修正した。
これによりcompleteゲノム全てを扱っていた2018_04版よりデータ量が大幅に減った

Completeゲノム全て対象(これまで)

RefSeq sequence数: 34,827 Taxonomyの種類数: 14,371

reference / representative genomeのみ対象

RefSeq sequence数: 7,065 Taxonomyの種類数: 2,196 (内訳 原核: 1,797 古細菌: 143 真核:212 ウィルス:44)

手動で生物種追加

比較ゲノム等で使用されている生物種についてはreference / representative genomeでなくとも取得できるように追加設定 修正コード

  • tax:103690 "Nostoc sp. PCC 7120"
  • tax:2336 "Thermotoga maritima"
  • tax:243276 "Treponema pallidum subsp. pallidum str. Nichols"
  • tax:267377 "Methanococcus maripaludis S2"
  • tax:768679 "Thermoproteus tenax Kra 1"

DBファイルサイズ

250G

更新時期

  • 開始: 2018-05-25 19:15
  • 終了: 2018-05-31 01:40


生物種追加版

※uniprotの取得などを省略して実行

  • 開始: 2018-06-09 10:55
  • 終了: 2018-06-11 09:49

トリプル数統計

総トリプル数

6,358,812,861トリプル(約63億)

グラフ一覧とトリプル数

グラフURIトリプル数
http://togogenome.org/graph/uniprot3209470812
http://togogenome.org/graph/refseq1704191758
http://togogenome.org/graph/edgestore927176601
http://togogenome.org/graph/assembly_report325043736
http://togogenome.org/graph/goup58028580
http://togogenome.org/graph/tgup52415703
http://togogenome.org/graph/stats43292977
http://togogenome.org/graph/taxonomy24984789
http://togogenome.org/graph/gazetteer7062536
http://togogenome.org/graph/text_search/protein_gene6166387
http://togogenome.org/graph/text_search/protein_list6121005
http://togogenome.org/graph/text_search/gene_list5903771
http://togogenome.org/graph/gotax2832489
http://togogenome.org/graph/gold1600208
http://togogenome.org/graph/go1573748
http://togogenome.org/graph/brc914050
http://togogenome.org/graph/tgtax117357
http://togogenome.org/graph/so43060
http://togogenome.org/graph/taxonomy_lite16004
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/text_search/up_concept_subclass_reasoner1062
http://togogenome.org/graph/mccv675
http://togogenome.org/graph/text_search/up_anno_subclass_reasoner255
http://togogenome.org/graph/faldo232
http://togogenome.org/graph27

スタンザ修正

JBrowseでのexon-intronの表示対応

表示できていなかったexon-intronを表示できるように、JBrowseのコード追加とtrackList.jsonに出力するSPARQLを修正。資料

Proteinのcanonical isoformの選定

一つのProteinに対して複数のisoformがあった場合に、isoformとその付帯情報が正しく取れていないバグがあった。
また、全てのisoform情報を出力すると冗長になるスタンザもあったため、canonicalなisoformを一つだけ選択してその情報を表示するようにした コード
canonical isoformの決定方法は以下の通り

  • up:Simple_Sequence型がついている
  • (複数Simple_Sequence型がついているケースもあるので)isofrom名にprotein名が含まれている(P42166がプロテイン名であれば"P42166-1")

geneに対して一意なProteinの選定

geneに対して複数のProteinが紐づくことがあるが、優先的にreviewedのProteinを選んでその情報を表示するように修正した コード
複数reviewedなproteinが取得できてしまうケースもあるが、ランダムに選定

ヘルプのパラメータを変更

metadata.jsonでサンプルと示している幾つのかの生物種が対象から外れてしまったので変更した コード

canonical isoformの決定について(調査中)

isoformの種類と取得

Simple_Sequenceが複数あるProtein

どうも、External_Sequenceは別のProteinにとってのSimple_Sequenceになるようで、2つセットで型がつくらしい。そのためExternal_SequenceがあるものはSimple_Sequenceを2つ以上持っている状態になる。 どのProteinでのSimple_Sequenceであるかは区別がつかないかも(isoform名の一部にProtein名が含まれるという判定が有効)

  • Simple_Sequenceが複数あるProteinの一覧
SPARQL
PREFIX up: <http://purl.uniprot.org/core/>
SELECT ?protein ?isoform_cnt ?isoform
{
 {
  SELECT ?protein (COUNT(DISTINCT ?isoform) AS ?isoform_cnt)
  FROM <http://togogenome.org/graph/uniprot>
  {
     ?protein a up:Protein ;
       up:sequence ?isoform .
     ?isoform a up:Simple_Sequence .
  } GROUP BY ?protein HAVING (COUNT(DISTINCT ?isoform) >1)
 }
 ?protein up:sequence ?isoform .
 ?isoform a up:Simple_Sequence .
} ORDER BY DESC(?isoform_cnt) ?protein


Simple_Sequenceが一つもないProtein

結構な数が検出されるが、UniProtのXMLファイルを生物種ごとに分割する際にうまくできていない。 一部isoform情報はProteinの宣言行の前に出現する。その為、Proteinの宣言行の前のisoform情報は手前の生物種のrdfファイルに入ってしまう(修正方法がちょっと思いつかない)

SPARQL
PREFIX up: <http://purl.uniprot.org/core/>

SELECT ?protein
FROM <http://togogenome.org/graph/uniprot>
{
  ?protein a up:Protein ;
    up:sequence ?isoform .
  MINUS
  {
    ?protein a up:Protein ;
      up:sequence ?isoform2 .
    ?isoform2 a up:Simple_Sequence .
  }
}
;
http://purl.uniprot.org/uniprot/F4DMP2
http://purl.uniprot.org/uniprot/F4DNT2
http://purl.uniprot.org/uniprot/K0CXM0
http://purl.uniprot.org/uniprot/G2RK72
http://purl.uniprot.org/uniprot/Q9D9E9
http://purl.uniprot.org/uniprot/Q3UR84
・・・
100180 Rows.


Simple_Sequenceが付いていない"P79369-1"を生のUniProtRDFに検索かけると8件返される
$ find . -name "uniprotkb_eukaryota_opisthokonta_metazoa_33208*.rdf" | xargs grep "P79369-1" 
<rdf:Description rdf:about="http://purl.uniprot.org/isoforms/P79369-1">
<rdf:Description rdf:about="http://purl.uniprot.org/isoforms/P79369-1">
<rdf:Description rdf:about="http://purl.uniprot.org/isoforms/P79369-1">
<rdf:Description rdf:about="http://purl.uniprot.org/isoforms/P79369-1">
<rdf:Description rdf:about="http://purl.uniprot.org/isoforms/P79369-1">
<faldo:reference rdf:resource="http://purl.uniprot.org/isoforms/P79369-1"/>
<sequence rdf:resource="http://purl.uniprot.org/isoforms/P79369-1"/>
<rdf:Description rdf:about="http://purl.uniprot.org/isoforms/P79369-1">
<rdf:Description rdf:about="http://purl.uniprot.org/isoforms/P79369-1">

//しかし、生物種の分割後の9986.rdfに対してかけると7件しか返されない
$ xargs grep "P79369-1" 9986.rdf
<rdf:Description rdf:about="http://purl.uniprot.org/isoforms/P79369-1">
<rdf:Description rdf:about="http://purl.uniprot.org/isoforms/P79369-1">
<rdf:Description rdf:about="http://purl.uniprot.org/isoforms/P79369-1">
<faldo:reference rdf:resource="http://purl.uniprot.org/isoforms/P79369-1"/>
<sequence rdf:resource="http://purl.uniprot.org/isoforms/P79369-1"/>
<rdf:Description rdf:about="http://purl.uniprot.org/isoforms/P79369-1">
<rdf:Description rdf:about="http://purl.uniprot.org/isoforms/P79369-1">

//生のUniProtRDFの抜粋(uniprotkb_eukaryota_opisthokonta_metazoa_33208_8000000.rdf)
<rdf:Description rdf:about="http://purl.uniprot.org/uniprot/L5L022">   ### これは前のProtein
<mnemonic>L5L022_PTEAL</mnemonic>
</rdf:Description>
<rdf:Description rdf:about="#_kb.L5L022_up.organism_D7D48196583897FB">
<attribution rdf:resource="http://purl.uniprot.org/uniprot/L5L022#attribution-E97EF9AA869FBA6028ECC90933B4F682"/>
</rdf:Description>
<rdf:Description rdf:about="http://purl.uniprot.org/isoforms/P79369-1">  ### P79369のProteinが出現する前にそのisoformの情報が出現している。前のL5L022の情報としてrdfに含まれてしまう
<crc64Checksum rdf:datatype="http://www.w3.org/2001/XMLSchema#token">AC6EAF8329EEAE05</crc64Checksum>
</rdf:Description>
<rdf:Description rdf:about="http://purl.uniprot.org/eggnog/ENOG4111PES">
<database rdf:resource="http://purl.uniprot.org/database/eggNOG"/>
</rdf:Description>
<rdf:Description rdf:about="http://purl.uniprot.org/eggnog/KOG3466">
<rdf:type rdf:resource="http://purl.uniprot.org/core/Resource"/>
</rdf:Description>
<rdf:Description rdf:about="http://purl.uniprot.org/uniprot/P79369#SIP5352EF1AC600F4DD">
<fullName rdf:ID="_5FF4BA4589E1E09D_up.fullName_A699C27C299775D3">Putative NADH-ubiquinone oxidoreductase B22 subunit</fullName>
</rdf:Description>
<rdf:Description rdf:about="http://purl.uniprot.org/isoforms/P79369-1">
<rdf:type rdf:resource="http://purl.uniprot.org/core/Simple_Sequence"/>
</rdf:Description>
<rdf:Description rdf:about="http://purl.uniprot.org/uniprot/P79369">       ### 初めてP79369のProteinが出現(ここで生物種ファイルを区切る)
<rdfs:seeAlso rdf:resource="http://purl.uniprot.org/embl-cds/BAA19153.1"/>
</rdf:Description>
<rdf:Description rdf:about="http://purl.uniprot.org/uniprot/P79369#attribution-04B4F2CB8EE56CCB7249BCDBF9E1A36E">
<evidence rdf:resource="http://purl.obolibrary.org/ob

Simple_Sequenceが一つもないProteinで複数isoformをもつ

  • Simple_Sequenceが複数あるProteinの一覧
SPARQL
PREFIX up: <http://purl.uniprot.org/core/>
SELECT ?protein (COUNT(DISTINCT ?isoform) AS ?cnt)
{
  {
    SELECT ?protein
    FROM <http://togogenome.org/graph/uniprot>
    {
      ?protein a up:Protein ;
        up:sequence ?isoform .
      MINUS
      {
        ?protein a up:Protein ;
          up:sequence ?isoform2 .
        ?isoform2 a up:Simple_Sequence .
      }
    }
  }
  ?protein a up:Protein ;
        up:sequence ?isoform .
} GROUP BY ?protein ORDER BY DESC(?cnt)
;
LONG VARCHAR                                                                      LONG VARCHAR
_______________________________________________________________________________

http://purl.uniprot.org/uniprot/O95866                                            7
http://purl.uniprot.org/uniprot/Q86Y33                                            5
http://purl.uniprot.org/uniprot/Q16NX0                                            4
http://purl.uniprot.org/uniprot/O35892                                            2
http://purl.uniprot.org/uniprot/Q0DWC7                                            2
個人用ツール