1

分析する大きなゲノム データ ファイルがいくつかあります。これらは 2 つの形式で提供され、1 つの個別の投与量ファイルは次のようになります。

id                      snp1    snp2    snp3    snp4    snp5    snp6
RS1->1000001    DOSE    1.994   1.998   1.998   1.998   1.830   1.335
RS1->1000002    DOSE    1.291   1.998   1.998   1.998   1.830   1.335
RS1->100001     DOSE    1.992   1.998   1.998   1.998   1.830   1.335
RS1->100002     DOSE    1.394   1.998   1.998   1.998   1.830   1.335
RS1->10001      DOSE    1.994   1.998   1.998   1.998   1.830   1.335
RS1->1001001    DOSE    1.904   1.998   1.998   1.998   1.830   1.335
RS1->1002001    DOSE    1.094   1.998   1.998   1.998   1.830   1.335
RS1->1003001    DOSE    1.994   1.998   1.998   1.998   1.830   1.335
RS1->1004001    DOSE    1.994   1.998   1.998   1.998   1.830   1.335
RS1->1005002    DOSE    1.994   1.998   1.998   1.998   1.830   1.335

もう一方には、いくつかの要約情報が含まれています。

SNP         Al1 Al2 Freq1   MAF     Quality Rsq 
22_16050607 G   A   0.99699 0.00301 0.99699 0.00000
22_16050650 C   T   0.99900 0.00100 0.99900 0.00000
22_16051065 G   A   0.99900 0.00100 0.99900 0.00000
22_16051134 A   G   0.99900 0.00100 0.99900 0.00000
rs62224609  T   C   0.91483 0.08517 0.91483 -0.00000
rs62224610  G   C   0.66733 0.33267 0.66733 0.00000
22_16051477 C   A   0.99399 0.00601 0.99399 -0.00000
22_16051493 G   A   0.99900 0.00100 0.99900 -0.00000
22_16051497 A   G   0.64529 0.35471 0.64529 0.00000

2 番目のファイルの SNP 列は、最初のファイルの snp1、snp2... に対応します。2 番目のファイルの概要情報を使用して品質チェックと選択を行い、それに応じて最初のファイルのデータに統計分析を適用する必要があります。

問題は、このタスクに適した Python ライブラリがあるかどうかです。これらは非常に巨大なファイルであるため、ここではパフォーマンスが重要です。ありがとう!

4

2 に答える 2

2

高性能で効率的な操作で大きなファイルとデータを処理するには、pandasに勝るモジュールはありません。

次のコードは、ファイルを に読み込み、DataFrame簡単に操作できるようにします。

import pandas as pd
data = 'my_data.csv'
df = pd.read_csv(data)

dfデータを含む効率的なデータフレームになりました! また、パンダは区切り文字を「スニフ」するため、タブ区切り文字であると言う必要さえありません

于 2013-05-08T15:37:27.047 に答える
1

モジュールがありcsvます。バックエンドで書かれているCので、かなりうまく機能するはずです。とはいえ、フォーマットが十分に単純であれば、 str.splitさらに高速になる可能性があります。

CSV ファイルを使用してデータを保存するよりも、ある種のデータベースを使用するほうがよいように思えます。

于 2013-05-08T15:37:37.313 に答える