linux - 按列和通用编号对床文件进行排序
问题描述
我有一个这样的床文件:
#chrom start end value
chr1 11323785 11617177 0.862170087976540
chr1 12645605 13926923 0.934891485809683
chr1 14750216 15119039 0.945945945945946
chr1 18102157 19080189 0.895174708818636
chr1 29491029 30934636 0.892526250772082
chr1 33716472 35395979 0.911901081916538
chr2 13108570 15600747 0.902084152575698
chr2 15694926 17648720 0.887029288702929
chr2 17724731 18378756 0.000837797619047
chr2 19442702 19551715 0.304347826090000
chr2 20745595 21842850 0.000430434255552
chr3 59553227 59708848 1
chr3 59790383 61504477 0.772413793103448
chr3 62167230 62508631 0.230046948357259
chr3 62589695 63775476 0.979970326409496
chr3 64469064 65348951 0.980019980019980
chr3 66972860 67511514 0.850828729281768
chr6 84151925 85317754 0.900999091734787
chr6 85428902 86109751 0.961119751166407
chr6 86456610 87828399 0.963746223564955
chr6 88048916 88236474 0.886227544910183
chr6 88568774 89535038 0.976602238046796
chrX 123088093 128394210 0.855213637369936
chrX 130635879 133327791 0.895311949242157
chrX 134061433 134880328 0.878120411160059
chrX 135187116 135597436 0.940133037694013
我的目标是使用 sort 来“排序”作为一个通用数字(1e-3 < 0.05)。我尝试:
sort -g -k4 filename
sort -g -k4 filename
awk '{print $4}' small.bed | sort -g
但是我没有得到我所要求的。最后一个对浮点值进行了很好的排序,但是我只打印了第四列。任何提示?
感谢您的时间。
保罗
解决方案
为什么不使用数字排序?任何非数字键都将评估为零,因此您无需剪掉“# header”行。
$ sort -n -k4,4 filename
#chrom start end value
chr2 20745595 21842850 0.000430434255552
chr2 17724731 18378756 0.000837797619047
chr3 62167230 62508631 0.230046948357259
chr2 19442702 19551715 0.304347826090000
chr3 59790383 61504477 0.772413793103448
chr3 66972860 67511514 0.850828729281768
chrX 123088093 128394210 0.855213637369936
chr1 11323785 11617177 0.862170087976540
chr6 88048916 88236474 0.886227544910183
chr2 15694926 17648720 0.887029288702929
chr1 29491029 30934636 0.892526250772082
chr1 18102157 19080189 0.895174708818636
chrX 130635879 133327791 0.895311949242157
chr6 84151925 85317754 0.900999091734787
chr2 13108570 15600747 0.902084152575698
chr1 33716472 35395979 0.911901081916538
chr1 12645605 13926923 0.934891485809683
chr1 14750216 15119039 0.945945945945946
chr6 85428902 86109751 0.961119751166407
chr6 86456610 87828399 0.963746223564955
chr6 88568774 89535038 0.976602238046796
chr3 62589695 63775476 0.979970326409496
chr3 64469064 65348951 0.980019980019980
chr3 59553227 59708848 1
推荐阅读
- c# - Dotnet Core & Swagger:防止 Swagger UI 未经身份验证
- javascript - JS机器学习算法中的.get(0)不起作用
- flutter - Flutter:如何将 Textfield 输入放入列表中以构建 ListView.builder
- python - 将变量传递到数据框查询中的布尔表达式
- laravel - Laravel Echo 没有订阅 Pusher Presence Channel,甚至在 Pusher 仪表板中也没有
- java - Netty 客户端接收消息延迟
- docker - 由于 docker 配置文件中的路径问题,程序不包含静态“Main”方法
- python - 使用 ffmpeg-python 进行多个管道输入
- r - 如何将现有值更改为同一列中的新类别?
- neo4j - 仅以 Neo4j 表格格式显示属性