Сортировать строки файла по хромосомам?

Сортировать строки файла по хромосомам?

У меня есть данные генетических вариантов с несколькими столбцами, в настоящее время мои варианты/линии находятся в неправильном порядке и должны быть отсортированы по хромосоме. Я пробовал несколько способов сделать это, используя ответы на похожие вопросы, но ни один из них не работает, в основном давая мне пустые файлы.

В настоящее время мой порядок хромосом следующий:

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заказ, он по-прежнему неверен. Что еще я могу попробовать, чтобы это изменить?

Вот пример того, как выглядит пара строк:

Файл.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

Связанный контент