我正在修第四年的生物信息学课程。在目前的任务中,教授给了我们一个gff文件,其中包含了人类基因组中所有的miRNA基因,注释为基因-MIR。我们应该使用grep,以及正则表达式和其他命令行工具来生成人类基因组中唯一的miRNA名称列表。这看上去相当直截了当,我知道如何做到这一点。但我在整理文件和删除重复行时遇到了困难。我们应该在一个命令行中这样做,但我在这样做时遇到了困难。
这是一个grep命令,用于生成一个基因-和平号列表:
grep -Eo "(\gene-MIR)\d*\w*" file.gff但这只会产生一个包含多个重复的庞大列表。所以我试着:
grep -Eo "(\gene-MIR)\d*\w*" file.gff > file2 | sort < file2 | uniq -c > file3但这也不起作用。我已经尝试了以上的许多变体,但我不知道下一步该做什么。
有人能提供任何帮助/建议吗?
发布于 2021-09-25 21:01:23
您可以使用
grep -o 'gene-MIR[[:alnum:]_]*' file.gff | sort -u > file3详细信息
-o -输出匹配的文本onlygene-MIR[[:alnum:]_]* -正则表达式匹配gene-MIR以及任何零或多个“单词”字符、字母、数字或下划线(因为\w不支持universally)sort -u排序,并且只保留唯一的条目。)
https://stackoverflow.com/questions/69322658
复制相似问题