【发布时间】:2017-02-12 23:52:08
【问题描述】:
我有以下数据,例如:
Name Chrom Position
rs1 1 1234
rs2 1 1789
rs3 1 1289
1 1 1269
2 1 1897
我想查找第一列中不包含字符串“rs”的所有行,并替换为rs'chrom''position'。名称 1 看起来像 rs11269。
最终会是这样的:
Name Chrom Position
rs1 1 1234
rs2 1 1789
rs3 1 1289
rs11269 1 1269
rs11897 1 1897
我知道用 awk 我可以做到
awk '!/rs/{print $1}' file
它会在第一列中找到所有不包含字符串“rs”的行,但是我现在如何进一步用我自己的 rs ID 来替换它,这些 rs ID 是由 chrom 和 position 构建的?我会使用 gsub 还是其他东西?这不必在 shell 命令中,但 Perl 也是另一个可以使用的选项。谢谢您的帮助。
【问题讨论】:
-
已根据您的推荐编辑@EdMorton
标签: linux perl awk bioinformatics