GTF 파일(탭으로 구분)과 다른 텍스트 파일에 유전자 이름 목록이 있습니다. GTF 파일에서 유전자 목록 정보를 얻는 방법을 알고 싶습니다 grep, awk
. 몇 가지 명령을 시도했지만 그 중 아무 것도 작동하지 않았습니다.
다음은 gtf 파일의 예입니다.
#!genome-build GRCh37.p13
#!genome-version GRCh37
#!genome-date 2009-02
#!genome-build-accession NCBI:GCA_000001405.14
#!genebuild-last-updated 2013-09
1 pseudogene gene 11869 14412 . + . gene_id "ENSG00000223972"; gene_name "DDX11L1"; gene_source "ensembl_havana"; gene_biotype "pseudogene";
1 processed_transcript transcript 11869 14409 . + . gene_id "ENSG00000223972"; transcript_id "ENST00000456328"; gene_name "DDX11L1"; gene_source "ensembl_havana"; gene_biotype "pseudogene"; transcript_name "DDX11L1-002"; transcript_source "havana";
1 processed_transcript exon 11869 12227 . + . gene_id "ENSG00000223972"; transcript_id "ENST00000456328"; exon_number "1"; gene_name "DDX11L1"; gene_source "ensembl_havana"; gene_biotype "pseudogene"; transcript_name "DDX11L1-002"; transcript_source "havana"; exon_id "ENSE00002234944";
1 processed_transcript exon 12613 12721 . + . gene_id "ENSG00000223972"; transcript_id "ENST00000456328"; exon_number "2"; gene_name "DDX11L1"; gene_source "ensembl_havana"; gene_biotype "pseudogene"; transcript_name "DDX11L1-002"; transcript_source "havana"; exon_id "ENSE00003582793";
1 processed_transcript exon 13221 14409 . + . gene_id "ENSG00000223972"; transcript_id "ENST00000456328"; exon_number "3"; gene_name "DDX11L1"; gene_source "ensembl_havana"; gene_biotype "pseudogene"; transcript_name "DDX11L1-002"; transcript_source "havana"; exon_id "ENSE00002312635";
10 protein_coding exon 114710009 114710704 . + . gene_id "ENSG00000148737"; transcript_id "ENST00000355995"; exon_number "1"; gene_name "TCF7L2"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "TCF7L2-203"; transcript_source "ensembl"; exon_id "ENSE00002258101";
10 protein_coding CDS 114710516 114710704 . + 0 gene_id "ENSG00000148737"; transcript_id "ENST00000355995"; exon_number "1"; gene_name "TCF7L2"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "TCF7L2-203"; transcript_source "ensembl"; protein_id "ENSP00000348274";
다음은 텍스트 파일에 있는 유전자 이름 목록의 예입니다(gtf 파일에서 모든 관련 정보를 추출하고 싶습니다).
DDX11L1
TCF7L2
감사해요
답변1
아직도 확실하지 않습니다. gene_name
두 번째 텍스트 파일에 있는 모든 줄을 나열하시겠습니까 ? 이를 위해 다음을 시도하십시오.
awk 'NR == FNR {T[" gene_name \"" $0 "\""]; next} {for (t in T) if ($0 ~ t) print}' file2 file1
답변2
세부 정보를 원하는 짧은 데이터 목록이 포함된 파일이 있는 경우 간단한 grep
. 그런 다음 다음을 수행할 수 있습니다.needles.list
haystack.gtf
$ grep -f needles.list haystack.gtf