Dateizeilen numerisch nach Chromosom sortieren?

Dateizeilen numerisch nach Chromosom sortieren?

Ich habe genetische Variantendaten mit mehreren Spalten. Derzeit sind meine Varianten/Linien in der falschen Reihenfolge und müssen nach Chromosomen sortiert werden. Ich habe einige Möglichkeiten ausprobiert, dies mit Antworten aus ähnlichen Fragen zu tun, aber keine hat funktioniert, sondern liefert mir meistens leere Dateien.

derzeit ist meine Chromosomenreihenfolge:

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

Diese Zeilen müssen in aufsteigender Reihenfolge von 1 bis 22 sortiert werden.

Ich habe es versucht:

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.

Diese werden ausgeführt, aber wenn ich head test.avinputes versuche, passiert nichts, oder wenn ich nachschaue, awk '{print $1}' test.avinput | sort -uist die Reihenfolge immer noch falsch. Was kann ich sonst noch versuchen, um dies zu ändern?

Ein Beispiel dafür, wie ein paar Zeilen aussehen, ist folgendes:

File.avinput: #3 Spalten sind Chromosom, Start und Ende - ich habe keinen Header

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

Erwartete geordnete Ausgabe

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

Wenn ich derzeit irgendeine Form der Verwendung versuche, sort -nerhalte ich eine leere Datei.

Antwort1

AKTUALISIERT entsprechend der geänderten Aufgabe.

Datei file1mit Ihren Daten erstellt:

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

Jetzt sortieren wir die Dateizeilen und schreiben die Ergebnisse in file2:

$ cat file1|sort -n > file2

Oder wir können es noch einfacher machen:

$ sort -n file1 > file2

Überprüfung der Ergebnisse in file2:

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

verwandte Informationen