1 875091 G GA GT:AD:DP:BQ:SS:FT:DP4 0/1:.:5:.:1:VarscanHighConfidenceIndel:1,2,1,1
1 948846 T TA GT:DP:DP4:BQ:SS:FT:AD 1/1:50:10,0,10,0:.:1:VarscanHighConfidenceIndel:.
안녕하세요, 품질을 기준으로 샘플을 추출해야합니다. 샘플이 거대하고 특정 열만 표시하고 있습니다.다른 형식의 awk
열 5는 ':'으로 구분 된 열 6의 값에 대한 정보를 나타냅니다. 여기에 나와 있지 않은 컬럼 5의 다른 포맷이 있습니다.
특정 값의 샘플을 추출해야합니다. 예를 들어 다른 형식의 경우 DP> 12 및 SS = 1 및 기타 값이 필요합니다.
첫 번째 행에서 5/6 열의 세 번째 요소 인 DP는 5입니다. SS = 1 (요소 5). 2 행째
는 DP가 열 5/6의 두번째 요소이며 값이 50이고, SS = 1 (소자 5)내가 모두 비슷한 포맷을 그룹화 하였다 한 개별 AWK했다 그들에게 명령하십시오.
gzip -dc file1.vcf.gz | grep 'GT:AD:DP:BQ:SS:FT:DP4' |awk -F "\t" 'NR>1 {split($6,a,":"); if(a[5]==1 && a[3]>12){print $0}}'
gzip -dc file1.vcf.gz | grep 'GT:DP:DP4:BQ:SS:FT:AD' |awk -F "\t" 'NR>1 {split($6,a,":"); if(a[5]==1 && a[2]>12){print $0}}'
내가 열 거기에 다른 많은 다른 형식으로 다른 형식의 개별 AWK를하지 않고이 할 수있는 방법을 찾고 있어요 5
은 시간이 없어 완전한 답을 쓸 수는 있지만'split ($ 5, a,/: /)'를 사용하여 sp 'a'에서 찾은 값에 따라 원하는 필드와'split ($ 6, v,/: /)'를 찾고'v '로 색인을 붙입니다. –
grep을 제거하고'gzip ... | '과 같이 $ 5에 대한 테스트를 추가 할 수 있습니다. awk -F "\ t" 'NR> 1 && $ 5 ~/GT : 광고 ... | GT : DP ... | ....../{split (....); ....} 행운을 빈다. – shellter