关于bedtools merge 功能中sort 命令的解释

  Bedtools 是一个很好的用来处理区间的工具,很多时候用这个底层语言编写的小工具比自己写的脚本运行快很多,但是这个工具中的某些功能对输入文件有一定的要求,比如说里面的一个merge函数,这是里面的一个note:

Note:

bedtools merge requires that you presort your data by chromosome and then by start position (e.g., sort -k1,1 -k2,2n in.bed > in.sorted.bed for BED files).

 

  刚开始看不懂这些参数是什么意思,后来查了一下资料,这里记录下来,方便以后查阅。

  

 

 

  这个命令这样写也许看的更清楚些: sort -k 1,1 -k 2,2n input.bed > input_sorted.bed

  主要有两个参数 -n 和 -k;

  其中 -n 的意思是按照数值大小排序。(-n 参数在 2,2 后面, 它仅对第二列有效)

  其中 -k 的意思是指定排序的列(域),比如说 -k 1,1  表示仅仅对第一列有效, -k 2,2n 表示仅仅对第二列按照数字排序

  其中 -t 的意思是指定行分隔符, 这里应该是 -t $' ', 因为默认的也是, 所以可以省略。

原文地址:https://www.cnblogs.com/Demo1589/p/6962883.html