MicrobeDB.jpポータル開発

提供:TogoWiki

2020年2月21日 (金) 08:37時点におけるTfuji (トーク | 投稿記録)による版
移動: 案内, 検索

目次

H29年度マイルストーン

  • MicrobeDB.jp top page差し替え
    • 期限: MicrobeDB.jp論文submitまで
    • 期限(日付): 2018年1月上旬?
    • 理由: 論文の図で差し替え予定のtop pageの画像を使っている
  • MicrobeDB.jp HTTPS→HTTPリダイレクト設定
    • 期限: MicrobeDB.jp論文submitまで
    • 期限(日付): 2018年1月上旬?
    • 理由: https://microbedb.jp URLの論文記載目的
  • MicrobeDB.jpヘルプページの稼働
    • 期限: MicrobeDB.jp論文submitしてから査読に回るまで?
    • 期限(日付): 2018年1月中旬?
    • 理由: Helpページがないとそれだけでrejectになる
  • MicrobeDB.jp ポータルサイトのプレリリース
    • 期限: 日本ゲノム微生物学会まで
    • 期限: 2018年3月7日
    • 理由: ゲノ微(3/7)でMicrobeDB.jpの講習会をする
  • MicrobeDB.jp ポータルサイトHTTPS化
    • 期限: 日本ゲノム微生物学会まで
    • 期限: 2018年3月7日
    • 理由: ゲノ微(3/7)でMicrobeDB.jpの講習会をする
  • ポータルサイトへ移行
    • 期限: 論文アクセプト後
    • 期限: 2018年4月中をめどに
    • 理由: ポータル公開を予告しているため

SPARQLthon59

DFAST - MBGD - MDBフローについて

  • MBGDでCluster IDをアサインするAPIサーバを立てて、ポータル側はクライアントとしてCDS fastaをPOSTして、結果を受け取る方針

DFAST生成GenBank2RDF

  • 非公開データのゲノムRDF変換について、MDBでの対応検討
INSDC MDB
insdc:Entry http://identifiers.org/insdc/AE006470.1 mdb:Entry
insdc:Taxonomy http://identifiers.org/taxonomy/194439 insdc:Taxonomy http://identifiers.org/taxonomy/194439
insdc:BioProject http://identifiers.org/bioproject/PRJNA302 mdb:BioProject
insdc:BioSample http://identifiers.org/biosample/SAMN02604006 mdb:BioSample
insdc:Gene http://identifiers.org/insdc/AE006470.1#feature:2-1126:-1:gene.1
insdc:locus_tag "CT0001"

SPARQLthon60

比較解析スタンザナビゲーションの高度化

  • 検索性の向上、インターフェースの改良→BioSample RDF/メタゲノムサブセットの取得方法について
    • 情報共有していただいたDBCLS punk API について利用の検討【Todo】
  • プライベートデータに対してのMEO、MDBVアノテーション(オントロジーマッピング)およびRDF変換の自動化の必要性

SPARQLthon61

ホロゲノム解析支援ツール開発

  • 開発方針としては、MDB比較解析スタンザ+ホロゲノム解析のための拡張
  • メタゲノム解析データを検索しやすくするためのファセットナビゲーションも合わせて開発 ←比較解析スタンザナビゲーションの高度化

ホロゲノム関連RDF

  • Host, Symbiont, Holobiontのゲノム関係情報の記述はMDBVで →管理、拡張のためレポジトリを移動する【Todo】
    • Holobiontの定義されているオントロジーなし

差分更新系の調査

  • 各グラフ単位のRDFデータセット生成フローの確認
  • Stats情報の自動取得およびMicrobeDB.jpが利用しているRDFの依存関係調査を目的としてSPARQLbuilder/metadata生成→umakaviewerを試用 → SPARQLthon61/MicrobeDB.jp-Umakaviewer
  • INSDC/BioProjectはDBCLS punk APIが生成するRDFバルクに置き換える方向で

認証サーバtauth

  • OpenID connectインターフェースのクライアント実装(Ruby, Perl) 【Todo】
  • 認証サーバ用に、無料で使えるSSL証明を取得する https://letsencrypt.org 【Todo】

Global Sign Open Source Projectも無料で利用できる

菌類RNA-Seq RDF

→ データモデルができたら川島さん査定をお願いする、ExpressionAtlas, IHEC に既存モデルがあるかも。

SPARQLthon62

認証サーバTAuth

  • OpenID connectインターフェースのSinatraクライアントで接続テスト(藤澤)
    • google OpenID Connect認証動作確認→ tauthエンドポイント差し替え+パラメーター微調整
    • 有効期限切れ*.annotation.jp SSL証明をletsencrypt取得 ← いまここ

BH17.11

  • 論文投稿+講習会+ポータルサイト公開に向けたマイルストーンとユースケースのシナリオ作成
  • スタンザヘルプ+ドキュメント書き
  • ポータルサイト開発
  • ユーザ・グループ認証サーバセットアップ
  • メタゲノム解析データ可視化ツールLEAのAPI実行テスト
  • プライベートゲノム・メタゲノム解析データのRDF変換系組込み
    • DFAST生成GenBank2RDF、MBGDバージョン等のID体系の確認
    • DDBJ Pipeline生成MeGAP2RDF
    • BioSampleからMEO自動アノテーション準備
  • スタンザのhttps化
  • MBGD高精度解析サービス(開発予定)へのユーザ認証・データ連携の準備

SPARQLthon63

  • MEOID自動アサインとポータルサイト組込み方法の検討
    • 鈴木さん作のツールの動作確認(森)
    • DDBJ BioSample Package - MEO IDマッピング(森)

MEOIDアサインのポータルサイト組込みの仕様案

  • APIでTSVファイルPOST、レスポンス Sample_ID, MEO_id, MEO_label取得なJSON
  • MEOアサイン
    • DDBJ biosample package→ MEO(AutoAnnotation)
    • env_* attribute → EnvO → MEO(AutoAnnotation)
    • 鈴木さんツール→ MEO(AutoAnnotation)
    • 自動アサインMEO → ユーザが選別したMEO (CuratedAnnotation)
  • EBI BioSample RDFに習ったデータモデル(案)
    • 来年度公開データも同じ仕様でアサイン予定
<uuid> rdf:type, 
mdbv:MEOAnnotation,
    owl:NamedIndividual ;
    mdbv:score "100.0"^^xsd:double ;
    dc:creator "MDB API"^^xsd:string ;
    oac:hasBody <http://purl.jp/bio/11/meo/MEO_0000422> ;
    oac:hasTarget <http://microbedb.jp/resource/MDB00001#Sample> .

<uuid> rdf:type, 
mdbv:MEOManualAnnotation,
    owl:NamedIndividual ;
    mdbv:score "100.0"^^xsd:double ;
    dc:creator "submitter"^^xsd:string ;
    oac:hasBody <http://purl.jp/bio/11/meo/MEO_0000422> ;
    oac:hasTarget <http://microbedb.jp/resource/MDB00001#Sample> .

ドキュメント管理


ホロゲノム解析支援ツール

  • ミヤコグサGenBank→RDF開発(w/PGDBj)(平川さん)
  • 根粒菌データベースRhizoBase/JBrowse作成中(藤澤)

SPARQLthon65

  • MeGAP解析アップロード→ファセット検索→ 比較解析スタンザ/ beta環境構築(藤澤、岡別府、渡辺)
  • RDF→JSON:Elasticsearch検索インデックスデータ(藤澤)
    • ファセットメニューTemperatureデータのOpenRefineでキュレーション
      • "msv:airTemperatureRegimen",
      • "msv:envTemperature",
      • "msv:expIncubationTemperature",
      • "msv:hostBodyTemperature",
      • "msv:sampleStorageTemperature"

SPARQLthon66


SPARQLthon70

BioSampleメタデータへの自動MEOアサインAPIの検討

  • ENVO IDと MEO IDとのマッピング
  • メタゲノム系TaxonomyID(label:human skin metagenome等)とMEOの対応表作成

BioSampleメタデータのMDBでの使用属性とキュレーション方針の確認

BioSampleとBioProjectとの対応確認

メタゲノム系のサンプル数が108万件あり、多くのデータは一つのBioProjectIDに複数BioSampleが紐付く関係だが、次のような例外データがあった。

BioProjectが複数ひもづくサンプル

サンプル数: 3,979 例: BioSampleは一つだが、解析手法(16S, metatranscriptome等)によってプロジェクトが分かれているケース。
本来はBioSampleを分けるべきケースだが分かれていない。
https://www.ncbi.nlm.nih.gov/biosample/?term=SAMEA2619685

MicrobeDB.jpではSRR(RUN)単位でメタゲノム解析を行うが、アプリケーションでは見やすいように(Bio)Sample単位で集計している。
このケースの場合、解析手法の違うSRRを一つのBioSampleで集約するのは間違いなので、BioSampleID + BioprojectIDという単位でSRRをグルーピングして集計する必要がある。

BioSampleURIの設計を変更

前: http://purl.jp/bio/11/sample/SAMDxxxxxxxx
後: http://purl.jp/bio/11/sample/SAMDxxxxxxxx_ PRJDBxxx (一意になるようにProjectIDをURIに含める)
BioProjectが紐づかないサンプル

サンプル数: 125,412 ゴミのような(scraped)BioSampleSAMN07372758もあるが、有効なBioSampleSAMD00115336でもBioProjectIDと紐づかないものが多数ある。(全体の12%ほど)
BioProjectとBioSampleを登録してBioSampleだけ先に公開することが可能(DDBJアノテータさんに確認)

BioSampleメタデータから国名および関連情報のキュレーション

講習会ユーザのニーズにあったホストHumanの国籍の絞り込みについて、サンプル属性値の国名情報で代用するとともに、ホストの祖先/人種情報が明確なデータについては可能な限り対応する。

  1. 国名情報の記載しているサンプル属性の抽出
  2. 属性geo_loc_nameを利用してOpenRefineでバリデーション、キュレーションを試行(ユニーク値15147件中14262済, 残り885)、Wikidata Reconciliation Service API利用
  3. 他の属性に対してバッチ処理の予定

SPARQLthon71

  • メタゲノム解析文献から抽出されたキュレーションメタデータの利用検討
  • 国名関連情報を解決するReconciliation Service API開発

SPARQLthon72

  • ミヤコグサのゲノムRDFにMBGD cluster IDを足すためのRDFを作成
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix mbgd: <http://purl.jp/bio/11/mbgd> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix insdc: <http://ddbj.nig.ac.jp/ontologies/nucleotide/> .

[]
    mbgd:extendedMemberOf <http://mbgd.nibb.ac.jp/resource/cluster/MBGD:2015-01_default_2841> ;
    dct:identifier "Ljchlorog3v0000020.1" ;
    a insdc:Messenger_RNA .

[]
    mbgd:extendedMemberOf <http://mbgd.nibb.ac.jp/resource/cluster/MBGD:2015-01_default_792> ;
    dct:identifier "Ljchlorog3v0000430.1" ;
    a insdc:Messenger_RNA .

[]
    mbgd:extendedMemberOf <http://mbgd.nibb.ac.jp/resource/cluster/MBGD:2015-01_default_1285> ;
    dct:identifier "Ljchlorog3v0000580.1" ;
    a insdc:Messenger_RNA .

SPARQLthon77

MDBでゲノムデータを扱う生物種

  • Assembly数は2019年2月21日現在のもの
taxon rank taxonomy id Assembly数
Bacteria superkingdom 2 195,475
Archaea superkingdom 2157 3,345
Ascomycota phylum 4890 3,859
Mucoromycotina subphylum 451507 74
Tremellomycetes class 155616 173
Chlorophyta phylum 3041 75
Rhodophyta phylum 2763 12

GC Contentsの取得先の調査

SPARQLthon81

SPARALthon85

  • 新規ES検索インデックスに対応したアプリケーション実装
  • MBGD RDF/TogoStanza更新とMicrobeDB.jpの更新連携 → RDF更新に合わせて、検索インデックス作成も依頼

SPARQLthon89

schema.orgによる構造化マークアップ検討

検索ギャラリーを見る https://developers.google.com/search/docs/guides/search-gallery

データセット

   <script type="application/ld+json">
    {
      "@context":"https://schema.org/",
      "@type":"Dataset",
      "name":"NCDC Storm Events Database",
      "description":"Storm Data is provided by the National Weather Service (NWS) and contain statistics on...",
      "url":"https://catalog.data.gov/dataset/ncdc-storm-events-database",
      "sameAs":"https://gis.ncdc.noaa.gov/geoportal/catalog/search/resource/details.page?id=gov.noaa.ncdc:C00510",
      "identifier": ["https://doi.org/10.1000/182",
                     "https://identifiers.org/ark:/12345/fk1234"],
      "keywords":[
         "ATMOSPHERE > ATMOSPHERIC PHENOMENA > CYCLONES",
         "ATMOSPHERE > ATMOSPHERIC PHENOMENA > DROUGHT",
         "ATMOSPHERE > ATMOSPHERIC PHENOMENA > FOG",
         "ATMOSPHERE > ATMOSPHERIC PHENOMENA > FREEZE"
      ],
      "license" : "https://creativecommons.org/publicdomain/zero/1.0/",
      "hasPart" : [
        {
          "@type": "Dataset",
          "name": "Sub dataset 01",
          "description": "Informative description of the first subdataset...",
          "license" : "https://creativecommons.org/publicdomain/zero/1.0/"
        },
        {
          "@type": "Dataset",
          "name": "Sub dataset 02",
          "description": "Informative description of the second subdataset...",
          "license" : "https://creativecommons.org/publicdomain/zero/1.0/"
        }
      ],
      "creator":{
         "@type":"Organization",
         "url": "https://www.ncei.noaa.gov/",
         "name":"OC/NOAA/NESDIS/NCEI > National Centers for Environmental Information, NESDIS, NOAA, U.S. Department of Commerce",
         "contactPoint":{
            "@type":"ContactPoint",
            "contactType": "customer service",
            "telephone":"+1-828-271-4800",
            "email":"ncei.orders@noaa.gov"
         }
      },
      "includedInDataCatalog":{
         "@type":"DataCatalog",
         "name":"data.gov"
      },
      "distribution":[
         {
            "@type":"DataDownload",
            "encodingFormat":"CSV",
            "contentUrl":"http://www.ncdc.noaa.gov/stormevents/ftp.jsp"
         },
         {
            "@type":"DataDownload",
            "encodingFormat":"XML",
            "contentUrl":"http://gis.ncdc.noaa.gov/all-records/catalog/search/resource/details.page?id=gov.noaa.ncdc:C00510"
         }
      ],
      "temporalCoverage":"1950-01-01/2013-12-18",
      "spatialCoverage":{
         "@type":"Place",
         "geo":{
            "@type":"GeoShape",
            "box":"18.0 -65.0 72.0 172.0"
         }
      }
    }
    </script>

サイトリンク検索ボックス

    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "WebSite",
      "url": "https://www.example.com/",
      "potentialAction": [{
        "@type": "SearchAction",
        "target": "https://query.example.com/search?q={search_term_string}",
        "query-input": "required name=search_term_string"
      },{
        "@type": "SearchAction",
        "target": "android-app://com.example/https/query.example.com/search/?q={search_term_string}",
        "query-input": "required name=search_term_string"
      }]
    }
    </script>

ソフトウェアアプリケーション

    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "SoftwareApplication",
      "name": "Angry Birds",
      "operatingSystem": "ANDROID",
      "applicationCategory": "https://schema.org/GameApplication",
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "4.6",
        "ratingCount": "8864"
      },
      "offers": {
        "@type": "Offer",
        "price": "1.00",
        "priceCurrency": "USD"
      }
    }
    </script>

構造化テストツール

AMP Home page

MicrobeDB.jpマークアップ

  • 書きかけ
[
    {
      "@context": "https://schema.org",
      "@type": "WebSite",
      "url": "https://microbedb.jp",
      "description": "An integrated database of publicly available microbial genome and metagenome data.",
      "potentialAction": {
        "@type": "SearchAction",
        "target": "https://microbedb.jp/search?q1={search_term_string}",
        "query-input": "required name=search_term_string"
      }
    },
    {
      "@context":"https://schema.org/",
      "@type":"Dataset",
      "name":"MicrobDB.jp Database",
      "version": "3.0.0",
      "description":"An integrated database of publicly available microbial genome and metagenome data.",
      "url":"https://microbedb.jp",
      "sameAs": ["https://integbio.jp/dbcatalog/record/nbdc01181",
                "https://dbarchive.biosciencedbc.jp/jp/microbedb/desc.html"],
      "identifier": "http://purl.jp/bio/11",
      "keywords":[
         "Microbial database",
         "Genome",
         "Metagenome",
         "RDF",
         "Semantic Web"
      ],
      "license" : "http://creativecommons.org/licenses/by-sa/4.0/",
      "hasPart" : [
        {
          "@type": "Dataset",
          "name": "Genome and Metagenome Samples",
          "version": "2020-02-16",          
          "description": "...",
          "license" : "http://creativecommons.org/licenses/by-sa/4.0/"
        },
        {
          "@type": "Dataset",
          "name": "Taxonomy",
          "url": "http://ddbj.nig.ac.jp/ontologies/taxonomy",
          "version": "2020-02-16",
          "description": "..",
          "license" : "https://creativecommons.org/publicdomain/zero/1.0/"
        },
        {
          "@type": "Dataset",
          "name": "MBGD",
          "url": "http://integbio.jp/rdf/?view=detail&id=mbgd",
          "version": "mbgd_2014-02",
          "description": "..",
          "license" : "https://creativecommons.org/publicdomain/zero/1.0/"
        },
        {
          "@type": "Dataset",
          "name": "MEO",
          "url": "https://bioportal.bioontology.org/ontologies/MEO",
          "version": "",
          "description": "Metagenome and Microbes Environmental Ontology",
          "license" : "https://creativecommons.org/publicdomain/zero/1.0/"
        },
        {
          "@type": "Dataset",
          "name": "MPO",
          "url": "http://mbgd.genome.ad.jp",
          "version": "mbgd_2014-02",
          "description": "..",
          "license" : "https://bioportal.bioontology.org/ontologies/MPO"
        },
        {
          "@type": "Dataset",
          "name": "MPO",
          "url": "http://mbgd.genome.ad.jp",
          "version": "mbgd_2014-02",
          "description": "..",
          "license" : "https://creativecommons.org/publicdomain/zero/1.0/"
        },
        {
          "@type": "Dataset",
          "name": "HMADO",
          "url": "http://mbgd.genome.ad.jp",
          "version": "mbgd_2014-02",
          "description": "..",
          "license" : "https://creativecommons.org/publicdomain/zero/1.0/"
        }  
      ],
      "creator":	{
		"@context": "https://schema.org/",
		"@type": "Project",
		"name": "MicrobeDB.jp Project",
        "url": "https://microbedb.jp",
		"description": "An integrated database of publicly available microbial genome and metagenome data.",
		"logo": "https://microbedb.jp/images/logo.png",
        "contactPoint":{
            "@type":"ContactPoint",
            "contactType": "customer service",
            "telephone":"+1-828-271-4800",
            "email":"ncei.orders@noaa.gov"
         }
	   },
      "includedInDataCatalog":{
         "@type":"DataCatalog",
         "name":"Integbio Database Catalog",
         "url": "https://integbio.jp/dbcatalog"
      },
      "distribution":[
         {
            "@type":"DataDownload",
            "encodingFormat":"RDF",
            "contentUrl":"..."
         },
         {
            "@type":"DataDownload",
            "encodingFormat":"RDF",
            "contentUrl":"..."
         }
      ]
    }
]
<pre>