100개의 이름 목록이 포함된 gtf 파일에서 정보 가져오기

100개의 이름 목록이 포함된 gtf 파일에서 정보 가져오기

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.listhaystack.gtf

$ grep -f needles.list haystack.gtf

관련 정보