小编T_R*_*T_R的帖子

用文件 1 中文件 2 中第二列的模式替换文件 2 中第一列的模式

我曾尝试针对以下问题制定解决方案:我有一个 .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)

示例行替换文件:

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
Run Code Online (Sandbox Code Playgroud)

我曾尝试使用:

while …

unix awk sed

3
推荐指数
1
解决办法
207
查看次数

标签 统计

awk ×1

sed ×1

unix ×1