Awk 从多fasta文件中的fasta序列末尾删除空间(*)

Awk 从多fasta文件中的fasta序列末尾删除空间(*),awk,sed,grep,Awk,Sed,Grep,我有一个multifasta文件,包含来自2个abinitio工具的预测蛋白质。每个序列最后都包含一个位阻(*)。我想从文件中删除它。我的序列是这样的: >snapgene1 SFLPSAEAIEKVLSHMSRRIIDDMKAELQQPEMRWFWP* >snapgene2 SFLPSAEAIEKVLSHIIIIAAAAKKKPPFFDDMKAELQQPEMRWFWP* 我想要这样的序列: >snapgen1 SFLPSAEAIEKVLSHMSRRIIDDMKAELQQPE

我有一个multifasta文件,包含来自2个abinitio工具的预测蛋白质。每个序列最后都包含一个位阻(*)。我想从文件中删除它。我的序列是这样的:

>snapgene1
SFLPSAEAIEKVLSHMSRRIIDDMKAELQQPEMRWFWP*
>snapgene2
SFLPSAEAIEKVLSHIIIIAAAAKKKPPFFDDMKAELQQPEMRWFWP*
我想要这样的序列:

>snapgen1
SFLPSAEAIEKVLSHMSRRIIDDMKAELQQPEMRWFWP
>snapgene2
SFLPSAEAIEKVLSHIIIIAAAAKKKPPFFDDMKAELQQPEMRWFWP

有人能帮我吗。谢谢

如果文本存储在文件“temp.txt”中,您可以使用以下命令:

sed -i "s/*$//" temp.txt

在awk中,如果您将fastas保存在
文件中

$ awk '{sub(/\*$/,"")}1' file
>snapgene1
SFLPSAEAIEKVLSHMSRRIIDDMKAELQQPEMRWFWP
>snapgene2
SFLPSAEAIEKVLSHIIIIAAAAKKKPPFFDDMKAELQQPEMRWFWP
它用零替换尾随的
*