exonic
파일 .tsv
의 열 13 에 p.
.
필요한 코드를 도와주실 수 있나요?
참고: 아미노산 변화가 없는 엑손 변형도 있으므로 13열에 언급된 아미노산 변화가 있는 엑손 변형을 필터링하고 싶습니다.
p.
아미노산 변화를 나타냅니다. 예는 다음과 같습니다.CD24:uc004ftz.1:exon1:c.A130T:p.T44S
p.
이는 아미노산 변화가 있는 모든 변종에 공통적으로 나타납니다.
예는 다음과 같습니다.
hrY 21154569 21154569 A G PASS hom exonic CD24 . synonymous SNV CD24:NM_001291737:exon1:c.T27C:p.L9L,CD24:NM_001359084:exon1:c.T27C:p.L9L,CD24:NM_013230:exon1:c.T27C:p.L9L,CD24:NM_001291738:exon2:c.T27C:p.L9L
새로 주석이 달린 .tsv
파일에는 때때로 서로 다른 열의 각 변형에 대해 3가지 다른 정의가 있습니다. 예를 들어 변종은 엑손, UTR 및 인트론(사용된 다양한 데이터베이스를 기반으로 함)으로 동시에 정의될 수 있습니다.
일부 엑손 변종에는 아미노산 변화가 없기 때문에 실제 엑손 변종을 필터링하고 싶습니다( p.*
).
답변1
사용행복하다(이전 Perl_6)
raku -ne '.put if .words[12].match("p.") && .match("exonic") ;'
입력 예:
hrY 21154569 21154569 A G PASS hom exonic CD24 . synonymous SNV CD24:NM_001291737:exon1:c.T27C:p.L9L,CD24:NM_001359084:exon1:c.T27C:p.L9L,CD24:NM_013230:exon1:c.T27C:p.L9L,CD24:NM_001291738:exon2:c.T27C:p.L9L
hrY 21154569 21154569 A G PASS hom exonic CD24 . synonymous SNV CD24:NM_001291737:exon1:c.T27C:q.L9L,CD24:NM_001359084:exon1:c.T27C:q.L9L,CD24:NM_013230:exon1:c.T27C:q.L9L,CD24:NM_001291738:exon2:c.T27C:q.L9L
hrY 21154569 21154569 A G PASS hom intronic CD24 . synonymous SNV CD24:NM_001291737:exon1:c.T27C:p.L9L,CD24:NM_001359084:exon1:c.T27C:p.L9L,CD24:NM_013230:exon1:c.T27C:p.L9L,CD24:NM_001291738:exon2:c.T27C:p.L9L
예제 출력:
hrY 21154569 21154569 A G PASS hom exonic CD24 . synonymous SNV CD24:NM_001291737:exon1:c.T27C:p.L9L,CD24:NM_001359084:exon1:c.T27C:p.L9L,CD24:NM_013230:exon1:c.T27C:p.L9L,CD24:NM_001291738:exon2:c.T27C:p.L9L
위 내용은 답변 인코딩입니다.행복하다, Perl 프로그래밍 언어 계열의 구성원입니다. Perl6 프로젝트는 2000년에 시작되었고, 2019년에 언어명이 Perl6에서 Raku로 변경되었습니다. 간단히 말해서 다음 명령을 사용하여 테스트 입력 파일을 만듭니다.
- 실제 tsv 텍스트는 라인 1입니다.
- 2번째 줄은 " "를 " "
q.
로 바꿉니다 .p.
- 테스트 입력 파일의 3행에서는
intronic
" "라는 단어를 " "라는 단어로 바꿉니다exonic
.
위의 Raku 코드는 match
열 12에서 " "라는 텍스트가 포함된 행을 검색합니다(index_0은 열 13에 있음). " "라는 단어에도 하나가 있으면 해당 행을 반환합니다. 첫 번째(즉, 왼쪽의 " ") 조건이 로 평가되면(단락 AND 연산자) 행을 즉시 건너뜁니다.p.
.words[12]
match
exonic
&&
p.
False
grep
정규 표현식 작성에 익숙하다면 Raku의 루틴을 사용할 수 있습니다.
https://docs.raku.org/routine/match
https://docs.raku.org/routine/grep
https://raku.org