【发布时间】:2021-09-25 02:18:25
【问题描述】:
我正在学习第四年的生物信息学课程。在当前的任务中,教授给了我们一个 gff 文件,其中包含人类基因组中的所有 miRNA 基因,注释为基因-MIR。我们应该使用 grep 以及正则表达式和其他命令行工具来生成人类基因组中唯一 miRNA 名称的列表。这似乎相当简单,我知道如何做大部分。但是我无法对文件进行排序并删除重复的行。我们应该在一个命令行中执行此操作,但我无法执行此操作。
这是我用来生成基因-MIR 名称列表的 grep 命令:
grep -Eo "(\gene-MIR)\d*\w*" file.gff
但这只会生成一个包含多个重复的巨大列表。所以我尝试了:
grep -Eo "(\gene-MIR)\d*\w*" file.gff > file2 | sort < file2 | uniq -c > file3
但这也不起作用。我已经尝试了上述的许多变体,但我不确定下一步该做什么。
谁能提供任何帮助/建议?
【问题讨论】:
-
添加一些样本行(比如 10-20 行,有一些重复)和该样本的预期输出。另外,1)
grep -E不支持\d2)使用grep '..' | sort -u > op_file或grep '..' | sort | uniq -c > op_file(不要在中间创建文件) -
请在您的问题中添加示例输入(无描述、无图像、无链接)以及该示例输入所需的输出(无评论)。
-
试试
grep -Po 'gene-MIR\w*' file.gff | sort -u > file3