我正在尝试编写一个 shell 脚本来搜索文件中的文本并将文本和相关信息打印到单独的文件中。
从这个包含基因 ID 列表的文件中:
DDIT3 ENSG00000175197
DNMT1 ENSG00000129757
DYRK1B ENSG00000105204
我想在 gtf 文件中搜索这些基因 ID (ENSG*)、它们的 RPKM1 和 RPKM2 值:
chr16 gencodeV7 gene 88772891 88781784 0.126744 + . gene_id "ENSG00000174177.7"; transcript_ids "ENST00000453996.1,ENST00000312060.4,ENST00000378384.3,"; RPKM1 "1.40735"; RPKM2 "1.61345"; iIDR "0.003";
chr11 gencodeV7 gene 55850277 55851215 0.000000 + . gene_id "ENSG00000225538.1"; transcript_ids "ENST00000425977.1,"; RPKM1 "0"; RPKM2 "0"; iIDR "NA";
并将其打印/写入单独的输出文件
Gene_ID RPKM1 RPKM2
ENSG00000108270 7.81399 8.149
ENSG00000101126 12.0082 8.55263
我已经在命令行上使用每个 ID 完成了它:
grep -w "ENSGno" rnaseq.gtf| awk '{print $10,$13,$14,$15,$16}' > output.file
但是在编写 shell 脚本时,我尝试了 for、while、read、do 和更改变量的各种组合,但没有成功。任何想法都会很棒!