次のように設定されたファイルを変更しようとしています。
chr start ref alt
chr1 18884 C CAAAA
chr1 135419 TATACA T
chr1 332045 T TTG
chr1 453838 T TAC
chr1 567652 T TG
chr1 602541 TTTA T
chr1 614937 C CTCTCTG
chr1 654889 C CA
chr1 736800 AC A
次のように変更したい:列「ref」が文字列> 1(つまり2行目)の場合、2つの新しい列を生成します。
最初の新しい列 = 開始座標-1 2 番目の新しい列 = 開始座標+(ref の文字列の長さ)+1
したがって、2 行目の出力は次のようになります。
chr1 135419 TATACA T 135418 135426
または: 「ref」の文字列の長さ = 1 で、列「alt」= 長さ >1 の文字列 (つまり行 1) の場合
最初の新しい列 = 開始座標 2 番目の新しい列 = 開始座標 + 2
したがって、1 行目の出力は次のようになります。
chr1 18884 C CAAAA 18884 18886
私は awk でこれを試みましたが、成功しませんでした 私の perl は存在しませんが、これが最善の方法でしょうか? それともRで?