小编Dod*_*oda的帖子

使用 awk 或 sed 替换 fasta 标头中的单个字符

我正在 bash 中使用一个 fasta 文件,该文件的标题以“>”开头,以“C”或“+”结尾。就像这样:

>chr1:35031657-35037706+
GGTGGACTAGCCAGTGAATGTCAACGCGTCCCTA
CCTAAGGCGATATCCGCAGCCGCCCGCGTCCCTA
>chr1:71979382-71985425C
agattaaatgaactattacacataaagtgcttac
ttacacataaagtgcttacgaactattacaggga
Run Code Online (Sandbox Code Playgroud)

我想使用 awk (gsub?) 或 sed 将标题的最后一个字符更改为“+”(如果它是“C”)。基本上我希望所有序列都以“+”结尾。没有C。

期望的输出:

>chr1:35031657-35037706+
GGTGGACTAGCCAGTGAATGTCAACGCGTCCCTA
CCTAAGGCGATATCCGCAGCCGCCCGCGTCCCTA
>chr1:71979382-71985425+
agattaaatgaactattacacataaagtgcttac
ttacacataaagtgcttacgaactattacaggga
Run Code Online (Sandbox Code Playgroud)

序列不需要改变任何东西。我认为这非常简单,但我自己很难使用其他帖子来做到这一点。我知道这awk '/^>/ && /C$/{print $0}'将打印以“>”开头并以“C”结尾的标题,但我不确定如何用“+”替换所有这些“C”。

感谢您的帮助!

bash awk sed bioinformatics fasta

1
推荐指数
1
解决办法
737
查看次数

标签 统计

awk ×1

bash ×1

bioinformatics ×1

fasta ×1

sed ×1