我知道这很容易,但我无法让它发挥作用。我正在尝试使用 sed 重命名标头,尽管 reg experssion 有效,但我无法重命名 fasta 标头。这是一个小例子。我有一个像下面这样的多序列 fasta 文件
>Bra000001
CTTATTTTCTCCTTCACCACCGTACCACAGAAAAAAACTGTGATTTTAAA
AGCCACATTTACTTCTTTTTTTGTTGGGTCTAAATGTTAAAATAACATGT
>Bra000002
TTTATGTAGTACTGGACTAATCGGGTAGGGAAACAATCTTGATTTAGCAA
TACAGTGTAATAACTAATAATCATATTCATATTCCATAAATCCAAATGTT
Run Code Online (Sandbox Code Playgroud)
现在我只想像这样在 fasta 标题的末尾添加“Brassica rapa”
>Bra000001 Brassica rapa
CTTATTTTCTCCTTCACCACCGTACCACAGAAAAAAACTGTGATTTTAAA
AGCCACATTTACTTCTTTTTTTGTTGGGTCTAAATGTTAAAATAACATGT
>Bra000002 Brassica rapa
TTTATGTAGTACTGGACTAATCGGGTAGGGAAACAATCTTGATTTAGCAA
TACAGTGTAATAACTAATAATCATATTCATATTCCATAAATCCAAATGTT
Run Code Online (Sandbox Code Playgroud)
我这样做是为了让它工作
grep ">" in.fa | sed 's/$/ Brassica rapa/' > out.fa
Run Code Online (Sandbox Code Playgroud)
但是,通过这样做,我只能更改标题,但不能更改此处的序列信息。理想情况下,我想更改标题并保持顺序不变。
您只能使用sed及其替换命令,检查该行是否以>字符开头,将整行分组并在末尾附加您的字符串,例如:
sed 's/^\(>.*\)$/\1 Brassica rapa/' infile
Run Code Online (Sandbox Code Playgroud)
它产生:
>Bra000001 Brassica rapa
CTTATTTTCTCCTTCACCACCGTACCACAGAAAAAAACTGTGATTTTAAA
AGCCACATTTACTTCTTTTTTTGTTGGGTCTAAATGTTAAAATAACATGT
>Bra000002 Brassica rapa
TTTATGTAGTACTGGACTAATCGGGTAGGGAAACAATCTTGATTTAGCAA
TACAGTGTAATAACTAATAATCATATTCATATTCCATAAATCCAAATGTT
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10947 次 |
| 最近记录: |