【发布时间】:2019-07-12 03:42:08
【问题描述】:
我正在尝试根据第 1 列中的标识符合并相同的行。第 2 列中的信息不一定相同。如何融合双打来保留第二列的所有唯一记录?
我的数据前三行示例:
>TRINITY_DN100377_c0_g1 GO:0046556,GO:0009044,GO:0045493,
>TRINITY_DN10038_c0_g1 GO:0005783,GO:0005789,GO:0016021,GO:0004581,
>TRINITY_DN10038_c0_g1 GO:0005789,GO:0004598
我想得到:
>TRINITY_DN100377_c0_g1 GO:0046556,GO:0009044,GO:0045493,
>TRINITY_DN10038_c0_g1 GO:0005783,GO:0005789,GO:0016021,GO:0004581,GO:0004598,
所以简单地融合双精度,但保留第 2 列的所有唯一性。
我正在使用:
cat file | sort -u | awk '!seen[$1]++' > newfile
但这只会导致双打的第一行被保留,其余的被删除。
谁能帮助我,我如何保留所有唯一的 GO 术语?
【问题讨论】: