我想修改其設置這樣的文件:將列添加到基於現有列的文件
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
我想修改它使得: 如果列「參考」是一個字符串> 1(即第2行),那麼我生成2個新的列,其中:
第一新列=起始座標-1 第二新列=起始座標+(參考文獻串的長度)+1
因此,對於第2行輸出將如下所示:
chr1 135419 TATACA T 135418 135426
或: 如果在 「REF」= 1和列 「ALT」=長度的字符串的字符串的長度> 1(即線1)然後
第一新列=開始座標 第二新列=起始座標+ 2
所以,對於第1行輸出將是:
chr1 18884 C CAAAA 18884 18886
我在AWK此次嘗試但沒有成功 我的Perl是不存在的,但這是最好的方式嗎?或者也許在R?
如果我讀正確的規格做什麼,你的兩個如果崩潰的一個(如1 + 1 = 2),除非你確實有在案件哪些ALT可能會丟失。如果是這樣(可能會錯過),那麼你可能有一個固定的記錄字段輸入和規格缺失 - 因爲下面的每個解決方案分裂在白色空間。 –