如何从fasta文件头中删除前三个字符

How to remove the first three character from the fasta file header

我有一个这样的 fasta 文件:

>rna-XM_00001.1 
actact
>rna-XM_00002.1
atcatc

如何删除 'rna-' 使其变为

>XM_00001.1 
actact
>XM_00002.1
atcatc

你显示的是文件内容?那么 sed 应该可以做到这一点:

sed 's/^>rna-/>/' < inputfile > outputfile

解释:

  • sed 命令行的第一个字符是 s,它告诉 sed 进行替换
  • / 是分隔符
  • ^ 告诉 sed 只查看一行的开头
  • 下一个>rna-是行首要匹配的模式
  • 下一个>是替换模式的替换

相反,如果您想始终删除 > 之后的前四个字符,只要它们以 - 结尾,您可以使用:

sed 's/^>...-/>/' < inputfile > outputfile

解释:

  • 这与上面类似,除了在行首匹配的模式是 >...-。该模式是一个正则表达式,其中 . 匹配任何单个字符。所以这个模式匹配以 > 开头的任何行,后跟任何三个字符,然后是 -.