MicrobeDB.jpポータル開発
提供:TogoWiki
(→SPARQLthon89) |
|||
437行: | 437行: | ||
* https://amp.dev/documentation/guides-and-tutorials/start/create/basic_markup/?format=websites | * https://amp.dev/documentation/guides-and-tutorials/start/create/basic_markup/?format=websites | ||
- | == MicrobeDB.jpマークアップ == | + | === MicrobeDB.jpマークアップ === |
* 書きかけ | * 書きかけ | ||
<pre> | <pre> |
2020年2月21日 (金) 08:37時点における最新版
目次 |
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" |
- taxonomy関連情報の取得のためSPARQListを利用してAPI試作【~SPARQLthon59】
- ValidなGenBankファイルの情報を取得するためのtaxonomy.ttl更新および修正 【~SPARQLthon60】
- Division、GenBank hidden flagのトリプルを追加のためのコンバーター拡張 https://github.com/ddbj/rdfsummit/commit/5723ff76da744521d5f1a26d9967a544af8f3187
- 残作業
- exact match複数件ヒットの対応
- divsionのセマンティクス問題 Homo sapiens { DDBJ => 'HUM', NCBI => 'PRI' }
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
- RNA-Seq RDF関連情報 /mw/SPARQLthon28/Cufflinks2RDF
- 解析に利用されている遺伝子IDはRefSeq/NCBI GeneID
- NCBI GeneIDはゲノムRDFと接続のためにidentifiers.orgで記述する
→ データモデルができたら川島さん査定をお願いする、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> .
ドキュメント管理
- MicrobeDB.jpドキュメント管理のためにGitHub pages利用提案
- (参考)CyanoBaseの例 https://cyanobase.github.io/document/#about-cyanobase
ホロゲノム解析支援ツール
- ミヤコグサGenBank→RDF開発(w/PGDBj)(平川さん)
- 根粒菌データベースRhizoBase/JBrowse作成中(藤澤)
SPARQLthon65
- MeGAP解析アップロード→ファセット検索→ 比較解析スタンザ/ beta環境構築(藤澤、岡別府、渡辺)
- RDF→JSON:Elasticsearch検索インデックスデータ(藤澤)
- ファセットメニューTemperatureデータのOpenRefineでキュレーション
- "msv:airTemperatureRegimen",
- "msv:envTemperature",
- "msv:expIncubationTemperature",
- "msv:hostBodyTemperature",
- "msv:sampleStorageTemperature"
- ファセットメニューTemperatureデータのOpenRefineでキュレーション
SPARQLthon66
- MicrobeDB.jpポータル → MBGD - MAPLE ユーザ認証・ゲノムデータ同期 打合せ
- ゲノムファセット検索用にAssembly → BioSample JSONをDBCLS APIから回収 17685 / 17715件
- RhizoBase - MBGD 遺伝子IDマッピング https://www.evernote.com/l/AAEl-V5NmFZDjJTJcjmhNGzJbLE4wG3RVB8
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の国籍の絞り込みについて、サンプル属性値の国名情報で代用するとともに、ホストの祖先/人種情報が明確なデータについては可能な限り対応する。
- 国名情報の記載しているサンプル属性の抽出
- 属性geo_loc_nameを利用してOpenRefineでバリデーション、キュレーションを試行(ユニーク値15147件中14262済, 残り885)、Wikidata Reconciliation Service API利用
- 他の属性に対してバッチ処理の予定
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の取得先の調査
- genomes/GENOME_REPORTS配下の以下に%GCを確認した。
SPARQLthon81
- サンプル情報JSONデータ詳細検討
- DDBJ/EMBL/NCBI package対応関係 https://docs.google.com/spreadsheets/d/1sglJAfbkoywmNAwV9wdyYhHADbICUIvcWG1onWYGTck/edit?usp=sharing
- サンプルメタデータの登録・更新インターフェースで必要な定義情報をDDBJ Package/Attribute定義OWLで拡張
- attribute のname, harmonized_name, synonyms を取得のために NCBI XML のパーサーを書いた
- DDBJ BioSample Package Description の取得のために NCBI XML のパーサーを書いた
- handsontableのCell type 定義のための情報、pH、温度などのファセット検索で数値データのみnumericとする → BioSample Attribute Name/Format
- 収集した情報を利用してOWL拡張 [Todo]
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>