我有一个带有唯一 header 的 Fasta 文件,我想在 Unix 中使用正则表达式提取该 header 的一部分。
例如我的 Fasta 文件以此标题开头:
>jgi|Penbr2|47586|fgenesh1_pm.1_#_25
我只想提取此 header 的最后一部分,例如:
>fgenesh1_pm.1_#_25
实际上我在 vim 编辑器中使用了这个正则表达式,但它不起作用:
:%s/^([^|]+\|){3}//g
或
:%s/^([A-Z][0-9]+\|){3}//g
如果给我一些建议,我会很合适。
最佳答案
你可以使用sed
:
sed -e 's/>.*|/>/' fasta-file
即>
和 |
之间的所有内容都被替换为 >
。
关于regex - 如何使用Linux命令提取Fasta文件中的部分文件头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32691166/