1

次のように設定されたファイルを変更しようとしています。

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で?

4

3 に答える 3