파일 라인을 염색체별로 숫자로 정렬하시겠습니까?

파일 라인을 염색체별로 숫자로 정렬하시겠습니까?

여러 열의 유전 변이 데이터가 있는데 현재 내 변이/계통의 순서가 잘못되어 염색체별로 정렬해야 합니다. 비슷한 질문에 대한 답변을 사용하여 여러 가지 방법을 시도했지만 아무것도 작동하지 않고 대부분 빈 파일이 제공됩니다.

현재 내 염색체 순서는 다음과 같습니다.

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

관련 정보