TPP-ishihama

提供:TogoWiki

2018年8月30日 (木) 08:53時点におけるUki moriya (トーク | 投稿記録)による版
移動: 案内, 検索
研究開発課題名 プロテオーム統合データベースの構築
研究代表者 石濱 泰
所属・役職 京都大学 大学院薬学研究科 教授
概   要 国内外に散在している種々のプロテオーム情報を標準化・統合・一元管理し、多彩な生物種・翻訳後修飾・絶対発現量も含めた世界初の横断的統合プロテオームデータベースjPOST (Japan ProteOme STandard Repository/Database) を開発し、ライフサイエンス統合データベースに欠けている「たんぱく質」という必要不可欠な生命素子情報を広く国内外に公開することを目指す。

目次

参加メンバー

  • 河野信(DBCLS)
  • 守屋勇樹(DBCLS)
  • 吉沢明康(京都大学)
  • 奥田修二郎(新潟大学)
  • 田中聡 (Trans-IT)

virtuoso バグ?

  • query: DEFINE sql:select-option "order" 行の有無で結果がかわる
## endpoint https://tools.jpostdb.org/sparql
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 dct: <http://purl.org/dc/terms/>
PREFIX jpo: <http://rdf.jpostdb.org/ontology/jpost.owl#>
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX ncit: <http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#>
PREFIX sio: <http://semanticscience.org/resource/>
PREFIX : <http://rdf.jpostdb.org/entry/>
SELECT DISTINCT ?dataset ?project
WHERE {
  VALUES ?organ { ncit:C54189 }
  VALUES ?disease { obo:DOID_162 }

  ?dataset a jpo:Dataset ;
           dct:identifier ?dataset_id ;
           sio:SIO_000216 [ a jpo:NumOfLeadingProteins ;
                          sio:SIO_000300 ?protein_count ] ;
           sio:SIO_000216 [ a jpo:NumOfSpectra ;
                          sio:SIO_000300 ?spectrum_count ] . 
  ?project jpo:hasDataset ?dataset ;
           dct:identifier ?project_id ;
           dct:title ?project_title ;
           dct:date ?project_date . 
  ?dataset jpo:hasProfile/jpo:hasSample/jpo:organ ?organ .
  ?dataset jpo:hasProfile/jpo:hasSample/(jpo:disease|jpo:diseaseClass)/rdfs:subClassOf* ?disease .

}
ORDER BY ASC(?project_id) ASC(?dataset_id) 

SPARQLthon 68

SERVICE の実行順序

  • query : あるデータセットに含まれるタンパク質の染色体番号を取ってくるクエリ
### endpoint http://db-dev.jpostdb.org/proxy/sparql
PREFIX uniprot: <http://purl.uniprot.org/core/>
PREFIX jpo: <http://rdf.jpostdb.org/ontology/jpost.owl#>
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX : <http://rdf.jpostdb.org/entry/>
SELECT ?chr (COUNT (DISTINCT ?up) AS ?count)
WHERE {
  :DS81_1 jpo:hasProtein ?protein .
  ?protein a obo:MS_1002401 .
  ?protein jpo:hasDatabaseSequence ?up .
  ?up uniprot:proteome ?chr .   # この行だけ UniProt RDF
}
ORDER BY ?chr
  • query : UniProt ミラーを叩く SERVICE 化 (RDF portal のサンプルクエリ用)。SERVICE から実行されて、帰ってこない。DEFINE sql:select-option "order" してもだめ

### endpoint http://db-dev.jpostdb.org/proxy/sparql
PREFIX uniprot: <http://purl.uniprot.org/core/>
PREFIX jpo: <http://rdf.jpostdb.org/ontology/jpost.owl#>
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX : <http://rdf.jpostdb.org/entry/>
SELECT ?chr (COUNT (DISTINCT ?up) AS ?count)
WHERE {
  :DS81_1 jpo:hasProtein ?protein .
  ?protein a obo:MS_1002401 .
  ?protein jpo:hasDatabaseSequence ?up .
  SERVICE <https://integbio.jp/rdf/mirror/uniprot/sparql> {
    ?up uniprot:proteome ?chr .
  }
}
  • query : サブクエリ化して、どうにか動く最終形態
### endpoint http://db-dev.jpostdb.org/proxy/sparql
PREFIX uniprot: <http://purl.uniprot.org/core/>
PREFIX jpo: <http://rdf.jpostdb.org/ontology/jpost.owl#>
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX : <http://rdf.jpostdb.org/entry/>
SELECT ?chr (COUNT (DISTINCT ?up) AS ?count)
WHERE {
  SERVICE <https://integbio.jp/rdf/mirror/alt/uniprot/sparql> {  # ここを proxy 通すとだめなので、直叩き
    {
      SELECT DISTINCT ?up {
        SERVICE <http://db-dev.jpostdb.org/proxy/sparql> {
          :DS81_1 jpo:hasProtein ?protein .
          ?protein a obo:MS_1002401 .
          ?protein jpo:hasDatabaseSequence ?up .
        }
      }
    }
    ?up uniprot:proteome ?chr .
  }
}
ORDER BY ?chr
  • ややこしい

SPARQLthon 66

  • OPTIONAL と DISTINCT を同時に使うと DISTINCT されない
  • query1
### endpoint http://tools.jpostdb.org/proxy/sparql
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 jpo: <http://rdf.jpostdb.org/ontology/jpost.owl#>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX faldo: <http://biohackathon.org/resource/faldo#>
PREFIX : <http://rdf.jpostdb.org/entry/>
SELECT DISTINCT ?modification ?position
WHERE {
  :DS201_1 jpo:hasProtein/jpo:hasPeptideEvidence/jpo:hasPeptide/jpo:hasPsm ?psm .
  ?psm dct:identifier ?psm_id .
  ?psm jpo:hasModification ?mod_blank .
  ?mod_blank a ?mod .
  OPTIONAL { ?mod_blank faldo:location/faldo:position ?position . }
  FILTER (?mod != jpo:Modification)
  ?mod rdfs:label ?modification .
}
ORDER BY ?modification 
OFFSET 0
LIMIT 100
  • query2 の2,3行目
### endpoint http://tools.jpostdb.org/proxy/sparql
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 jpo: <http://rdf.jpostdb.org/ontology/jpost.owl#>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX faldo: <http://biohackathon.org/resource/faldo#>
PREFIX : <http://rdf.jpostdb.org/entry/>  
SELECT DISTINCT ?psm_id ?modification ?position
WHERE {
  :DS201_1 jpo:hasProtein/jpo:hasPeptideEvidence/jpo:hasPeptide/jpo:hasPsm ?psm .
  ?psm dct:identifier ?psm_id .
  ?psm jpo:hasModification ?mod_blank .
  ?mod_blank a ?mod .
  OPTIONAL { ?mod_blank faldo:location/faldo:position ?position . }
  FILTER (?mod != jpo:Modification)
  ?mod rdfs:label ?modification .
}
ORDER BY ?psm_id ?modification 
OFFSET 0
LIMIT 100
  • 上から SELECT で囲とってサブクエリ化すると DISTINCT される
  • query3
### endpoint http://tools.jpostdb.org/proxy/sparql
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 jpo: <http://rdf.jpostdb.org/ontology/jpost.owl#>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX faldo: <http://biohackathon.org/resource/faldo#>
PREFIX : <http://rdf.jpostdb.org/entry/>
SELECT DISTINCT ?psm_id ?modification ?position
WHERE{{
  
SELECT DISTINCT ?psm_id ?modification ?position
WHERE {
  :DS201_1 jpo:hasProtein/jpo:hasPeptideEvidence/jpo:hasPeptide/jpo:hasPsm ?psm .
  ?psm dct:identifier ?psm_id .
  ?psm jpo:hasModification ?mod_blank .
  ?mod_blank a ?mod .
  OPTIONAL { ?mod_blank faldo:location/faldo:position ?position . }
  FILTER (?mod != jpo:Modification)
  ?mod rdfs:label ?modification .
}

}}
ORDER BY ?psm_id ?modification 
OFFSET 0
LIMIT 100

Missin Protein query

 ### endpoint http://db-dev.jpostdb.org/proxy/sparql
 PREFIX jpo: <http://rdf.jpostdb.org/ontology/jpost.owl#>
 PREFIX uniprot: <http://purl.uniprot.org/core/>
 PREFIX next: <http://nextprot.org/rdf#>
 PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
 PREFIX ms: <http://purl.obolibrary.org/obo/MS_>
 PREFIX : <http://rdf.jpostdb.org/entry/>
 PREFIX human_ch: <http://purl.uniprot.org/proteomes/UP000005640#Chromosome%20>
 SELECT ?exist ?ch (COUNT (DISTINCT ?up) AS ?count)
 WHERE {
   VALUES ?dataset { :DS81_1 :DS82_1 :DS83_1 :DS85_1 :DS86_1 :DS87_1 :DS88_1 :DS89_1 }
   ?dataset jpo:hasProtein ?protein .
   ?protein a ms:1002401 ;
            jpo:hasDatabaseSequence ?up .
   ?next skos:exactMatch ?up ;
         next:existence ?exist .
   ?up uniprot:proteome ?ch .
   FILTER (?ch = human_ch:3 || ?ch = human_ch:X)
 }
 ORDER BY ?ch ?exist

SPARQLthon57

SPARQLthon53

  • TogoGenome のようなファセット検索を作る
    • TogoGenome を改造するよりはイチから作ったほうが良いかも
    • TogoGenome は検索用のトリプルのグラフを用意している
  • テストデータで3億トリプル
    • ペプチドやPTMの情報は頻度情報にして圧縮可能か?
      • その場合ペスペクトル毎に出る定量値はどう入れるか
    • ペプチド以下(スペクトル、PTM、定量値など)別に分ける
    • プロテイングループ情報も別にする
 PREFIX jpo: <http://rdf.jpostdb.org/ontology/jpost.owl#>
 PREFIX ms: <http://purl.obolibrary.org/obo/MS_>
 PREFIX dct: <http://purl.org/dc/terms/>
 PREFIX sio: <http://semanticscience.org/resource/SIO_>
 PREFIX mod: <http://purl.obolibrary.org/obo/MOD_>
 PREFIX bto: <http://purl.obolibrary.org/obo/BTO_>
 PREFIX doid: <http://purl.obolibrary.org/obo/DOID_>
 PREFIX unimod: <http://www.unimod.org/obo/unimod.obo#UNIMOD_>
 PREFIX tax: <http://identifiers.org/taxonomy/>
 PREFIX : <http://rdf.jpostdb.org/entry/>
  • 各項目の要素の取得クエリ
    • species, tissue, disease, cellType
 SELECT DISTINCT ?object ?label
 WHERE {
   ?project a jpo:Project ;
            jpo:hasDataset/jpo:hasProfile/jpo:hasSample/jpo:項目 ?object .
   ?object rdfs:seeAlso*/rdfs:label ?label .
 }
    • modification 
 SELECT DISTINCT ?object ?label
 WHERE {
   {
     ?s a jpo:Project ;
        jpo:modification ?object .
   }UNION{
     ?s a jpo:PeptideSpectrumMatch ;
        jpo:hasModification/rdf:type ?object .
     FILTER (?object != jpo:Modification)
   }
 
   # PSI MOD
   FILTER (REGEX (?object, "unimod"))
   ?object <http://www.geneontology.org/formats/oboInOwl#hasRelatedSynonym> ?label .
   # unimod
   #FILTER (REGEX (?object, "unimod"))
   #?object <http://purl.obolibrary.org/obo/IAO_0000115> ?label .
 }
    • instrument, instrumentMode
 SELECT DISTINCT ?object ?label
 WHERE {
   ?project a jpo:Project;
            jpo:hasDataset/jpo:hasProfile/jpo:hasMsMode/jpo:項目 ?object .
   ?object rdfs:label ?label .
 }
  • AND検索
    • リスト
 SELECT DISTINCT ?object
 WHERE {
    • カウント
 SELECT (COUNT (DISTINCT ?object) AS ?count)
 WHERE {


  • keyword
 VALUES ?modification { 要素 }
 VALUES ?species { 要素 }
 …


  • target
    • project
 ?object a jpo:Project ;
          jpo:hasDataset/jpo:hasProfile ?profile .


    • dataset
 ?object a jpo:Dataset ;
            jpo:hasProfile ?profile .


    • protein
 ?dataset a jpo:Dataset ;
          jpo:hasProfile ?profile ;
          jpo:hasProtein ?protein .
 ?protein a ms:1002401 ;
 #           jpo:hasPeptideEvidence/jpo:hasPeptide/jpo:hasPsm/jpo:hasModification/rdf:type ?modification ;   # protein の modification filtering用
          jpo:hasDatabaseSequence ?object .
    • peptide
 ?dataset a jpo:Dataset ;
          jpo:hasProfile ?profile ;
 #           jpo:hasPeptide/jpo:hasPsm/jpo:hasModification/rdf:type ?modification ;   # peptide の modification filtering用
          jpo:hasPeptide/rdfs:label ?object .
    • disease
 ?dataset a jpo:Dataset ;
          jpo:hasProfile ?profile .
 ?profile jpo:hasSample/jpo:disease ?object .


    • filtering
 ?profile jpo:hasSample/jpo:species ?species .
 ?profile jpo:hasSample/jpo:tissue ?tissue .
 ?profile jpo:hasSample/jpo:disease ?disease .
 ?profile jpo:hasEnzymeAndModification/jpo:variableModification ?modification .  # project, dataset の modificatin filtering 用
 ?profile jpo:hasMsMode/jpo:instrument ?instrument .
  • 例えば、species が Homo sapiensで、modification に phospho を持っているタンパク質リスト 20個 を取得するクエリ
 SELECT DISTINCT ?object
 WHERE {
   VALUES ?modification { unimod:21 mod:00042 }
   VALUES ?species { tax:9606 }
 
   ?dataset a jpo:Dataset ;
            jpo:hasProfile ?profile ;
            jpo:hasProtein ?protein .
   ?protein a ms:1002401 ;
            jpo:hasPeptideEvidence/jpo:hasPeptide/jpo:hasPsm/jpo:hasModification/rdf:type ?modification ; 
            jpo:hasDatabaseSequence ?object .
 
 ?profile jpo:hasSample/jpo:species ?species .
 }
 ORDER BY ?object
 OFFSET 0
 LIMIT 20

SPARQLthon47

  • 吉沢、守屋、河野、田中(online 田畑、奥田、石濱)
  • 配列DBは UniProt。過去Ver.との対応は UniParc
    • UniProt と UniParc は常に最新にする
    • 再解析は1回だけで、更新しない。UniParc で対応できないリンク切れなどは諦める
      • UniParc ID (UPI) は消えない、変更されない、履歴が残る
      • UniParc は配列だけなのデータベースなので UPI + 種の情報でIDをたどる?
  • SliceはStanzaで(Globeも?)
  • とりあえずデータを jPOST repository に入らないと進まない
    • PX のデータだと jPOST で設定したメタデータが足りない

SPARQLthon46

  • 奥田、吉沢、守屋
  • コアデータ
    • MS ベースの同定配列データに関しては BioHackathon で RDF スキーマ設計
    • その他のデータの整理
# DB名称 件数 概要 PI データ形式(測定手段の種類) 再解析 サンプルデータ
1 ヒト腎臓・尿プロテオームDB 7,300 質量分析計と抗体によるヒト腎臓のネフロン各部および尿の統合プロテオームのデータベース 山本 抗体とMS 部分的にY?
2 脳脊髄液定量プロテオームDB 500 病態及び健常の脳脊髄液における定量プロテオーム解析データ 荒木 定量(MS(iTRAQ?)) Y
3 がん血漿プロテオームDB 400例 膵がん、子宮体がん、大腸癌、腎がん、前立腺がん患者400例、健常者400例を用いたがん血漿プロテオームデータ解析 尾野 要確認
4 ヒト大腸癌プロテオーム,膜プロテオームおよびリン酸化プロテオームDB 44,000 ヒト大腸癌検体組織および培養細胞を用いたプロテオーム解析データベース 朝長 要確認 JPST000201, 203-208, 210
5 HeLa細胞におけるパスウェイ構成タンパク質絶対量DB 1,700 ヒト子宮頸癌由来HeLa細胞におけるシグナル伝達や代謝経路を構成するタンパク質のMRM法による絶対量データ 松本 定量(MS(SRM)) N 代わりの線維芽細胞,不死化,癌化した MRM データ TIG3-WT, TS, TSM, TSR の MRM データは 57-74 あたり
6 ヒト各種ヒト細胞におけるコア代謝酵素の絶対量DB 1,080 ヒト由来の正常細胞および癌細胞中(10種類)の中心代謝酵素(108種類)のMRMによる絶対量データ 松本 定量(MS(SRM)) N
7 ヒト全タンパク質MS/MSスペクトルライブラリ 155,875 組換タンパク質リソースを用いて作製した標識ペプチドのMS/MSスペクトル(16,000以上) 松本 スペクトルの生データのみ。既知配列のスペクトル N
8 各種刺激依存的リン酸化定量プロテオームDB 24,866 ヒトおよびマウス細胞における各種刺激依存的リン酸化定量プロファイル(iTRAQ法) 松本 定量(MS(iTRAQ)) Y JPST000144
9 植物リン酸化プロテオームDB 約38,000 シロイヌナズナ、イネ、ゼニゴケなどの植物におけるリン酸化プロテオームの変動解析。世界最大 中神 定量、時間変動(MS) Y 生データ無いかもしれない
10 植物プロテオームDB 約9,400 シロイヌナズナ、イネなどの植物におけるプロテオームの変動解析 中神 定量、時間変動(MS) Y
11 ヒトリン酸化プロテオームDB 118,592サイト ヒト由来培養細胞、臨床組織(ガン、正常)、薬剤処理試料など 石濱 おそらく同定配列(MS)? Y
12 バクテリアリン酸化プロテオーム DB 3,789 大腸菌、枯草菌、緑膿菌など 石濱 同定配列(MS) Y
13 ヒトiPS細胞プロテオーム DB 9,500 ヒトiPS細胞および線維芽細胞のプロテオームプロファイルデータベース 石濱 同定配列(MS) Y JPST000052, 81, 82, 83, 85, 86
14 ヒトキナーゼ‐基質 DB 約150,000対 ヒトキナーゼ354種とそのin vitro基質の関係についてのデータベース 石濱 IDの対応リスト N
15 ヒトGlioma抗がん剤感受性/非感受性組織 融合プロテオームDB 27,415 iPEACH解析(DNAアレイデータとプロテオーム全解析データの融合)によるヒトGlioma 抗がん剤感受性/非感受性組織定量的発現プロテオーム解析 荒木 定量(MS(iTRAQ?), array) 部分的にY
16 ラット肝臓毒性融合プロテオームDB 23,162 iPEACH解析を用いた肝臓毒性による変動プロテオーム融合解析データ 荒木 定量、時間変動(MS, 2D-DIGE, Array) 部分的にY
17 イモリ精巣分化特異的プロテオーム 70 イモリ精巣分化において変動する分子の発現プロテオームデータ解析 荒木 定量(MS(iTRAQ?))、時間変動(MS) Y
18 ヒト肝臓ミクロソームプロテオーム解析SWATH/MRM 6,000 ヒト肝臓、腎臓、小腸(薬物動態肝連臓器)ミクロソームプロテオーム解析 SWATH/MRM 荒木 同定配列(MS) Y
19 ラット神経系幹細胞PC12の分化特異的融合プロテオーム解析DB 10,914 ラット神経系幹細胞PC12の正常分化とNF1遺伝子欠損モデルの分化異常に伴う変動タンパク質のiPEACH解析による融合データ 荒木 定量、時間変動(MS, 2D-DIGE, Array) 部分的にY JPST000067
20 ヒト正常二倍体線維芽細胞の二次元電気泳動解析データ 500 細胞老化に伴う蛋白質発現レベルの変化を定量解析した二次元電気泳動データベース 戸田 同定配列(2D-DIGE) DIGEな部分はN
  • HPP(neXtProt)のヒト missing protein リスト
    • missing protein が石濱先生の iPS 細胞(と言うか線維芽細胞)のデータで多く同定されていることの確認
      • neXtProt ttl
        • データ型の無いリテラルと xsd:string のマッチには STRDT(?str, xsd:string) が使える
          • でも遅いので Xref 作って入れた
      • http://db-dev.jpostdb.org/
      • 10 のテストサンプルで 454 / 3179 タンパク質
 PREFIX : <http://rdf.jpostdb.org/>
 PREFIX jpo: <http://rdf.jpostdb.org/ontology/jpost.owl#>
 PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
 PREFIX ipi: <http://identifiers.org/ipi/>
 PREFIX obo: <http://purl.obolibrary.org/obo/>
 PREFIX nex: <http://nextprot.org/rdf#> 
 PREFIX nextprot: <http://nextprot.org/rdf/entry/>
 PREFIX dct: <http://purl.org/dc/terms/>
 
 SELECT DISTINCT ?project ?title ?ipi ?nex ?chromosome ?evidence COUNT(?psm) AS ?psm_num
 WHERE {
   ?project jpo:hasRawData ?raw ;
            dct:title ?title .
   ?raw jpo:hasSpectrum/jpo:hasPeptide/^jpo:identifiedFrom ?protein .
   ?protein a obo:MS_1001591 ;
            jpo:identifiedFrom ?psm;
            jpo:hasDBSequence ?ipi .
   ?nex rdfs:seeAlso ?ipi ;
          a nex:Entry ;
          nex:existence ?evidence .
   FILTER(?evidence != nex:Evidence_at_protein_level)
   ?nex nex:gene ?gene .
   ?gene a nex:Gene ;
         nex:chromosome ?chromosome . 
 }
 ORDER BY ?project ?chromosome
  • JHUPO 2016年大会 の準備
  • リポジトリ論文の打ち合わせ

検討課題

個人用ツール