【问题标题】:How to delete group of strings from fasta如何从fasta中删除字符串组
【发布时间】:2022-11-14 06:21:18
【问题描述】:

我有斋戒

sp|A0A0B4J2F2|SIK1B_HUMAN 推定的丝氨酸/苏氨酸蛋白激酶 SIK1B OS=智人 OX=9606 GN=SIK1B PE=5 SV=1 MVIMSEFSADPAGQGQGQQKPLRVGFYDIERTLGKGNFAVVKLARHRVTKTQVAIKIIDK...>sp|A0A0B4J2F2|SIK1B_HUMAN_VEP 推定的丝氨酸/苏氨酸蛋白激酶 SIK1B OS=智人 OX=9606 GN=SIK1B PE=5 SV=1MVIMSEFSADPAGQGQGQQKPLRVGFYDIERTLGKGNFAVVKLARHRVTKTQVAIKIIDK..

两者具有相同的序列,但不同的 id 字符串。我想删除没有 _VEP 的 id 和字符串,并用 _VEP 保存 id 和序列。

我试试这个 f2 - 我需要删除的带有 seq 的文件 f1 - 包含所有 seq 的文件 grep -v -x -f f2.fasta f1.fasta > f3.fasta

还有另一个变种 awk 'NR==FNR { b[$0] = 1;下一个 } !b[$0]' f2.fasta f1.fasta > f3.fasta

我有这个输出

sp|A0A0B4J2F2|SIK1B_HUMAN_VEP 推定的丝氨酸/苏氨酸蛋白激酶 SIK1B OS=智人 OX=9606 GN=SIK1B PE=5 SV=1无序列

但我想要这个

>sp|A0A0B4J2F2|SIK1B_HUMAN_VEP 推定的丝氨酸/苏氨酸蛋白激酶 SIK1B OS=智人 OX=9606 GN=SIK1B PE=5 SV=1MVIMSEFSADPAGQGQGQQKPLRVGFYDIERTLGKGNFAVVKLARHRVTKTQVAIKIIDK..

【问题讨论】:

  • 101 年前...我用一个 perl 程序 fastgrep 来处理这样的事情。快速的网络搜索显示现在有许多其他语言的类似选项。 fastagrep input.fa '_VEP' > output.fa

标签: linux shell awk sed


【解决方案1】:

建议awk 脚本:

awk -F'|' '$3 ~ "_VEP "{print}' *.fasta

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-04
    • 1970-01-01
    • 2013-10-17
    相关资源
    最近更新 更多