私は、彼らが$2
値がFusion
であり、同じ$4
値が各行にある持っている場合tab-delimited
ファイル内の重複行を削除するawk
を使用しようとしています。下の例では、1行目と2行目は同じ$2
の値を持ち、$4
の値も同じなので、重複する行2は削除されます。 3行目と4行目もこのロジックに従います。行の量は可変ですが、形式は同じです。 5行目と6行目にはにFusion
が含まれていないので、それらはスキップされ、出力に出力されます。ありがとうございました :)。awkの
ファイル
chr12:12006495-chr15:88483984 Fusion Gain-of-Function ETV6NTRK3-E4N15 1868
chr15:88483984-chr12:12006495 Fusion Gain-of-Function ETV6NTRK3-E4N15 1868
chr12:12022903-chr15:88483984 Fusion Gain-of-Function ETV6NTRK3-E5N15 414833
chr15:88483984-chr12:12022903 Fusion Gain-of-Function ETV6NTRK3-E5N15 414833
chr10 SNV ....
chr15 SNV ....
awkの
awk -F'\t' '{if($2 in a)a[$2]=$2=="Fusion"?$0:a[$4];else a[$4]=$0}END{for(i in a)print a[i]}' file
所望の出力
chr12:12006495-chr15:88483984 Fusion Gain-of-Function ETV6NTRK3-E4N15 1868
chr12:12022903-chr15:88483984 Fusion Gain-of-Function ETV6NTRK3-E5N15 414833
chr10 SNV ....
chr15 SNV ....
ご協力いただきありがとうございます。 – Chris