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_name2番目のテキストファイルのすべての行を一覧表示しますか?これを行うには、以下を試してください。

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

関連情報