我曾尝试针对以下问题制定解决方案:我有一个 .gff3 文件,我想将基因标头替换为简化名称。原始基因标题和新基因名称都在一个单独的文件中给出,原始名称在第 1 列中,新名称在第 2 列中。 如何使用 sed(我认为 sed 最适合这里)来替换所有出现在 .gff3 文件的第二列中使用新的缩短名称?
示例行 .gff3 文件:
tulip_contig_65_pilon_pilon . contig 1 93354 . . . ID=tulip_contig_65_pilon_pilon;Name=tulip_contig_65_pilon_pilon
tulip_contig_65_pilon_pilon maker gene 19497 23038 . + . ID=maker-tulip_contig_65_pilon_pilon-augustus-gene-0.4;Name=maker-tulip_contig_65_pilon_pilon-augustus-gene-0.4
tulip_contig_65_pilon_pilon maker mRNA 19497 23038 . + . ID=maker-tulip_contig_65_pilon_pilon-augustus-gene-0.4-mRNA-1;Parent=maker-tulip_contig_65_pilon_pilon-augustus-gene-0.4;Name=maker-tulip_contig_65_pilon_pilon-augustus-gene-0.4-mRNA-1;_AED=0.00;_eAED=0.00;_QI=418|1|1|1|0|0|3|2100|206
Run Code Online (Sandbox Code Playgroud)
示例行替换文件:
Run Code Online (Sandbox Code Playgroud)augustus_masked-tulip_contig_306_pilon_pilon-processed-gene-0.1 gene1 maker-tulip_contig_306_pilon_pilon-augustus-gene-0.12 gene2 maker-tulip_contig_65_pilon_pilon-augustus-gene-0.4 gene3
预期结果:
Run Code Online (Sandbox Code Playgroud)tulip_contig_65_pilon_pilon . contig 1 93354 . . . ID=tulip_contig_65_pilon_pilon;Name=tulip_contig_65_pilon_pilon tulip_contig_65_pilon_pilon maker gene 19497 23038 . + . ID=gene3;Name=gene3 tulip_contig_65_pilon_pilon maker mRNA 19497 23038 . + . ID=gene3-mRNA-1;Parent=gene3;Name=gene3-mRNA-1;_AED=0.00;_eAED=0.00;_QI=418|1|1|1|0|0|3|2100|206
我曾尝试使用:
while …