質問:
ラボNGSファイルデータベーススキーマの設計
Gus
2017-05-22 21:32:41 UTC
view on stackexchange narkive permalink

私は病院の学術研究室に常駐するBioinfoGeekであり、NGS、CyTOF、その他の大量のデータ生成テクノロジーを日常的に採用しています。メタデータの収集と最終製品(miriadExcelシートといくつかの不十分に設計されたRedCapDB)との関連付けに関する現在の「プロトコル」にうんざりしています。

中央で構造化され、制御されたデータストアを実装したいと考えています。これの世話をします。技術者へのインターフェースがデータをどのように入力するかがその採用にとって重要であることを私は知っていますが、これはこの特定の質問の焦点では​​ありません:このタイプのデータベースのスキーマまたはスキーマガイドラインはありますか?強い>

私はむしろこれをうまく行う方法を知っている人々によって開発されたモデルを使用したいと思います。私はBioSQLを知っていますが、uniprotやgenbankに見られるような完全なタンパク質/ヌクレオチドレコードを対象としているようです。それは私たちがここに持っているものではありません。私が欲しいのは、このプレプリントで触れたシステムに似たものです: http://biorxiv.org/content/early/2017/05/10/136358

あるいは、関連するガイドラインを見つけたり、個人的なアドバイスを提供したりできる場所へのリンクを誰かが提供できますか?

処理済みまたは未処理のデータを保存しようとしていますか?キャプチャしようとしているファイル形式の例は何ですか?
これは主にプライマリデータ編成用です。800個のWESのBAMを取得し、PROJECT、READ_LENGTH、SAMPLE_NAME、FAMILY_ID、DATA_TYPE、DIAGNOSISなどのメタデータに関連付けられた各BAMのファイルの場所が必要です。
ねえガス、私たちも同じ研究をしていて、Biostarsでこの質問を作成しました。何か見つけたら教えてください! https://www.biostars.org/p/350514/
三 答え:
#1
+9
woemler
2017-05-22 22:01:01 UTC
view on stackexchange narkive permalink

Global Alliance for Genomics and Healthは、結果はまちまちですが、保存と共有のためにシーケンスデータとメタデータを表現する問題にかなり長い間取り組んできました。 NGSデータを GitHubリポジトリに保存するためのモデルとAPIを提供していますが、高レベルのビューを取得するのは少し面倒な場合があります。これをより適切に表現したものが他にあるかどうかはわかりません。

個人的な経験(12を超えるゲノムデータベースを構築した)から、理想的なデータモデルとストレージのベストプラクティスはありません。ゲノムデータにはさまざまな形やサイズがあり、ニーズは他のすべての組織とは異なるため、1つのバイオインフォマティクスグループで機能するものが必ずしも機能するとは限りません。最善の方法は、ワークフロー内のすべてのデータ型と、データとメタデータを使用して行う可能性のあるダウンストリーム分析をカバーするモデルを設計および実装することです。

#2
+5
Daniel Standage
2017-05-22 23:04:32 UTC
view on stackexchange narkive permalink

私は、ゲノム情報学のような動きの速い分野で非常に長い間安定する理想的なデータモデルがないことに同意します。おそらく、スキーマレス(NoSQLまたは MongoDBなどの他のドキュメントベースのシステム)データベースアプローチの方がうまくいくでしょうか?これにより、現在データベースに追加しているデータベースエントリに関連する情報を柔軟に添付できます。後続のデータベースエントリにさらに多くの/異なる情報を添付する場合は、後でデータベースを再構築する必要はありません。

#3
+5
user172818
2017-05-23 00:31:41 UTC
view on stackexchange narkive permalink

metadata の場合、次のようなSQLスキーマを使用します。

  CREATE TABLE Project(ac TEXT、-project / Study accession PRIMARY KEY( ac)); CREATE TABLE Sample(-生物学的サンプル/生検ac TEXT、PRIMARY KEY(ac)); CREATE TABLE AnalysisSample(prj_ac TEXT、-プロジェクトアクセス(Project.ac)シンボルTEXT、-で一意の短い名前プロジェクトsample_acTEXT、-サンプルアクセッション(Sample.ac)PRIMARY KEY(prj_ac、シンボル)); CREATE TABLEコレクション(-BAMファイルac TEXT、-コレクション/アライメントファイルアクセッションprj_ac TEXT、-プロジェクトアクセッション( Project.ac)PRIMARY KEY(ac)); CREATE TABLE ReadGroup(cl_ac TEXT、-コレクションアクセッション(Collection.ac)rg_id TEXT、[email protected] RG-ID sample_sym TEXT、[email protected] RG-SM;マッチングAnalysisSample.symbol PRIMARY KEY(cl_ac、rg_id)); CREATE TABLE VariantSet(-VCFファイルac TEXT、-VCFファイルアクセッションprj_ac TEXT、-プロジェクトアクセッション(Project.ac)PRIMARY KEY(ac)); CREATE TABLE Va riantSample(vs_ac TEXT、-VCFファイルアクセッション(VariantSet.ac)sample_sym TEXT、-VCFファイルのサンプルシンボル。一致するAnalysisSample.symbolPRIMARY KEY(vs_ac、sample_sym));  

スキーマには、 Project テーブルと生物学的 Sample テーブルがあります。高レベルで互いに独立しています。 AnalysisSample は、BAMまたはVCFで使用されるサンプルを記述し、 Project と生物学的 Sample を接続します。重要なのは、各 AnalysisSample には、プロジェクト内で一意のシンボルがあります(プライマリインデックスを参照)。これは、BAM読み取りグループ行またはVCFサンプル行の記号です。 Collection は事実上BAM / CRAMファイルです。理論的には、BAMファイルには複数のサンプルが含まれている場合があり(実際にはまれですが)、個別の ReadGroup テーブルでアドレス指定されます。最後に、 VariantSet はVCFファイルです。 VariantSample は、各VCFファイルに含まれているサンプルを示します。

これは完全なスキーマのスケルトンです。適切なテーブルにフィールドを追加できます(たとえば、ファイルパスとhg19 / hg38 / etcを Collection に、読み取り長を ReadGroup に、ファミリIDを Sample codeに追加できます。 >)。また、効率的なテーブル結合のためのインデックスと、複雑な構造(血統など)のためのより多くのテーブルも必要です。

私が参加したプロジェクトの場合、このスキーマはほとんどの場合機能するはずです。 GA4GHのJSONスキーマに触発されていますが、私のバージョンはSQLであり、より単純で、構造もわずかに異なり、より優れていると思います。



このQ&Aは英語から自動的に翻訳されました。オリジナルのコンテンツはstackexchangeで入手できます。これは、配布されているcc by-sa 3.0ライセンスに感謝します。
Loading...