Classificando numericamente as linhas do arquivo por cromossomo?

Classificando numericamente as linhas do arquivo por cromossomo?

Tenho dados de variantes genéticas com várias colunas, atualmente minhas variantes/linhas estão na ordem errada e precisam ser classificadas por cromossomo. Tentei algumas maneiras de fazer isso usando respostas de perguntas semelhantes, mas nenhuma funcionou, principalmente fornecendo arquivos vazios.

atualmente minha ordem cromossômica é:

1
10
11
12
13
14
15
16
17
18
19
2
20
21
22
3
4
5
6
7
8
9

essas linhas precisam ser classificadas em ordem crescente de 1 a 22.

Eu tentei:

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.

Eles rodam, mas quando tento head test.avinputnão dá nada, ou quando verifico awk '{print $1}' test.avinput | sort -uo pedido ainda está errado - o que mais posso tentar para mudar isso?

Um exemplo da aparência de algumas linhas é este:

File.avinput: #3 colunas são cromossomo, início e fim - não tenho cabeçalho

1    10  11
10   200 201
2    20   21
22   2000 2001

Saída ordenada esperada

1    10  11
2    20   21
10   200 201
22   2000 2001

Atualmente, tentar qualquer forma de uso sort -nme dá um arquivo vazio.

Responder1

ATUALIZADO de acordo com a tarefa alterada.

Arquivo file1com seus dados criados:

$ cat file1
1    10  11
10   200 201
2    20   21
22   2000 2001

Agora classificamos as linhas do arquivo e escrevemos os resultados em file2:

$ cat file1|sort -n > file2

Ou podemos até simplificá-lo:

$ sort -n file1 > file2

Verificando os resultados em file2:

$ cat file2
1    10  11
2    20   21
10   200 201
22   2000 2001

informação relacionada