复制床文件的列以生成另一个床文件

复制床文件的列以生成另一个床文件

我有一个bed文件genome_cov.bed,指定基因组上每个位置的基因组覆盖范围。这些列是;脚手架、位置、覆盖范围。

scaffold_1      1       0
scaffold_1      2       0
scaffold_1      3       32
scaffold_1      4       34
scaffold_1      5       34
scaffold_1      6       39
scaffold_1      7       39
scaffold_1      8       53
scaffold_1      9       58
scaffold_1      10      60

我想生成另一个重复第二列的床文件。

当我使用 cut -f 时,我无法复制该列,当我使用 awk 命令时:

awk '{print $1,$2,$2,$3}' genome_cov.bed > genome_cov2.bed

它不会生成床文件,最终看起来像这样:

scaffold_1 1 1 0
scaffold_1 2 2 0
scaffold_1 3 3 32
scaffold_1 4 4 34
scaffold_1 5 5 34
scaffold_1 6 6 39
scaffold_1 7 7 39
scaffold_1 8 8 53
scaffold_1 9 9 58
scaffold_1 10 10 60

答案1

您可以设置输出字段分隔符制表符:

awk '{print $1,$2,$2,$3}' OFS='\t' genome_cov.bed

或用于printf明确指定格式

awk '{printf "%s\t%s\t%s\t%s\n",$1,$2,$2,$3}' genome_cov.bed

相关内容