我有一张这样的档案床。
KQ4156 0 34 Simple_repeat . +
KQ4156 35 64 Simple_repeat . +
KQ4156 1759 1822 Simple_repeat . +
KQ4156 1901 2059 Simple_repeat . -
KQ4156 2112 2258 DNA/hAT-Charlie . +
KQ4156 2890 2964 Simple_repeat . +
KQ4156 4085 4130 DNA/hAT-Charlie . +
KQ4156 5587 5619 Simple_repeat . +
KQ4156 5931 5995 SINE/tRNA-Deu . -对于后续的分析,我需要区分相同的元素。埃斯卡。simple_repeats_1, simple_repeats_2,等和DNA/hAT-Charlie_1, DNA/hAT-Charlie_2,等。所有的元素。使用的脚本如下:
awk 'BEGIN{OFS="\t"}{if(NR>3) {if($9=="C"){strand="-"}else{strand="+"};print $5,$6-1,$7,$11,".",strand}}' file.fa.out > file.bed
我如何修改它才能得到我想要的东西?我想过要应用paste,但我不知道如何将它应用于所有的序列
发布于 2019-05-30 18:12:36
使用表格的awk解决方案是最简单的:
awk -vOFS='\t' '{ seen[$4]++; $4=$4"_"seen[$4]; print; }' file将输出:
KQ4156 0 34 Simple_repeat_1 . +
KQ4156 35 64 Simple_repeat_2 . +
KQ4156 1759 1822 Simple_repeat_3 . +
KQ4156 1901 2059 Simple_repeat_4 . -
KQ4156 2112 2258 DNA/hAT-Charlie_1 . +
KQ4156 2890 2964 Simple_repeat_5 . +
KQ4156 4085 4130 DNA/hAT-Charlie_2 . +
KQ4156 5587 5619 Simple_repeat_6 . +
KQ4156 5931 5995 SINE/tRNA-Deu_1 . -发布于 2019-05-30 18:23:12
你能不能试着跟上。
awk 'BEGIN{OFS="\t"} {$4=$4"_"++count[$4]} 1' Input_filehttps://stackoverflow.com/questions/56375689
复制相似问题