【发布时间】:2021-03-07 22:03:36
【问题描述】:
我有一个结构如下的基因组坐标文件:
chromosome1|25000|35000_chromosome1|400|600
chromosome4|78000|80000_chromosome2|43000|45000
我想对每行上的 2 个条目进行排序,如果它们属于同一染色体(例如第 1 行),则首先按较低的基因组坐标排序,如果它们位于不同的染色体上,则首先按编号较低的染色体排序。 期望的输出:
chromosome1|400|600_chromosome1|25000|35000
chromosome2|43000|45000_chromosome4|78000|80000
我尝试了以下方法,但奇怪的是它并不总是正常工作!
cat file | awk 'BEGIN{OFS="\t"}{split($1,a,"_chr"); a[2]="chr" a[2]; str=$1; if(a[1]>a[2]) str=a[2]"_"a[1]; print str,$2}'
可以请人帮忙吗? 提前非常感谢!
【问题讨论】: