我有几列的遗传变异数据,目前我的变异/系的顺序错误,需要按染色体排序。我已经尝试了几种方法来使用类似问题的答案来做到这一点,但没有任何效果,主要是给我空文件。
目前我的染色体顺序是:
1
10
11
12
13
14
15
16
17
18
19
2
20
21
22
3
4
5
6
7
8
9
这些行需要按从 1 到 22 升序排序。
我试过了:
sort -k 1,1 -k2,2n file.avinput > test.avinput
sortBed -i file.avinput > test.avinput
sort -k1,1V -k2,2g file.avinput > test.avinput
bedtools sort -g file.bed> test.avinput #gives *ERROR: Need -i BED file.
这些运行但是当我尝试时head test.avinput
它没有给我任何结果,或者当我检查awk '{print $1}' test.avinput | sort -u
订单时仍然是错误的 - 我还能尝试什么来改变这个?
几行的示例如下:
File.avinput:#3 列是染色体、开始和结束 - 我没有标题
1 10 11
10 200 201
2 20 21
22 2000 2001
预期有序输出
1 10 11
2 20 21
10 200 201
22 2000 2001
目前尝试任何形式的使用sort -n
都会给我一个空文件。
答案1
根据更改的任务进行更新。
包含您创建的数据的文件file1
:
$ cat file1
1 10 11
10 200 201
2 20 21
22 2000 2001
现在我们对文件行进行排序并将结果写入file2
:
$ cat file1|sort -n > file2
或者我们甚至可以简化它:
$ sort -n file1 > file2
检查结果file2
:
$ cat file2
1 10 11
2 20 21
10 200 201
22 2000 2001