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

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

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

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

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

관련 정보