依染色體對文件行進行數字排序?

依染色體對文件行進行數字排序?

我有幾列的遺傳變異數據,目前我的變異/系的順序錯誤,需要按染色體排序。我已經嘗試了幾種方法來使用類似問題的答案來做到這一點,但沒有任何效果,主要是空文件給我。

目前我的染色體順序是:

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

相關內容