いくつかの列の遺伝的変異データがありますが、現在私の変異/系統の順序が間違っているため、染色体ごとにソートする必要があります。同様の質問に答えていくつかの方法を試しましたが、何も機能せず、ほとんど空のファイルが提供されています。
現在の私の染色体の順序は次のとおりです。
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