データを処理しています。このあいまいなファイル形式:
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
ます。awk
perl
python