余分なスペースで不規則なタイトルを変更する

余分なスペースで不規則なタイトルを変更する

データを処理しています。このあいまいなファイル形式:

   SNP  A1  A2   F1 I1 F2 I2 F3 I3
rs0001   A   C   0.02 0.00 1.99

(最初の3フィールドの周りのスペースに注意してください)

タイトルが非常に長く(500,000項目)、次のように変換したいと思います。

   SNP  A1  A2   F1_I1 F2_I2 F3_I3
rs0001   A   C   0.02 0.00 1.99

...不規則なスペースを削除または削除せずに使用する方が簡単です。参考までに、一貫性がある限り、これは許可されます。

SNP A1 A2 F1_I1 F2_I2 F3_I3
rs0001 A C 0.02 0.00 1.99

Unix / Linuxで再フォーマットする方法はありますか?ありがとう

ベストアンサー1

あなたがリンクしたplinkファイル形式の仕様には奇妙な詳細がたくさん含まれています。

まず、「F1 I1」と「F2 I2」が2つの異なる(ただし関連する)列のヘッダを明確に表すいくつかの例は次のとおりです。

    SNP  A1  A2   F1 I1       F2 I2        F3 I3
 rs0001   A   C   0.98 0.02   1.00 0.00    0.00 0.01 
 rs0002   G   A   0.00 1.00   0.00 0.00    0.99 0.01  

Ixしかし、ヘッダーがあるにもかかわらず、列値が欠落しているように見える例も提供しました。

    SNP  A1  A2   F1 I1 F2 I2 F3 I3
 rs0001   A   C   0.02 0.00 1.99

この例が間違っているのか、データが実際にこのようにフォーマットされているのかはわかりません。このオプションに関する説明は、dose1「線量データは0..2尺度ではなく0..1です」という一般的な2つの列形式の代わりに1列の線量データを使用できることを示唆しているようです.私の直感では、1つの値のみを提供するサンプルデータのタイトルが混乱しているようです。

仕様の理解と部分的に一致する不正確な仕様とデータの処理方法は常に困難です。間違ったデータにフラグを表示すると同時に、マイナーなヘッダーの問題を持つファイルを正しく処理できるように、データパーサーの許容範囲を決定する必要があります。

実際のファイル処理に関する質問について:ファイルに単一値または二重値線量データがあるかどうかを示す外部インジケータがある場合は、Ix使い慣れたスクリプトまたはテキスト処理言語を使用してヘッダーを完全に削除しsedます。awkperlpython

おすすめ記事