小编Loï*_*hac的帖子

从 fasta 文件中删除多个序列

我有一个字符序列的文本文件,由两行组成:标题和下一行中的序列本身。该文件的结构如下:

>header1
aaaaaaaaa
>header2
bbbbbbbbbbb
>header3
aaabbbaaaa
[...]
>headerN
aaabbaabaa
Run Code Online (Sandbox Code Playgroud)

在另一个文件中,我有一个要删除的序列标题列表,如下所示:

>header1
>header5
>header12
[...]
>header145
Run Code Online (Sandbox Code Playgroud)

这个想法是从第一个文件中删除这些序列,因此所有这些标头+以下行。我使用 sed 执行此操作,如下所示,

while read line; do sed -i "/$line/,+1d" first_file.txt; done < second_file.txt
Run Code Online (Sandbox Code Playgroud)

它可以工作,但需要很长时间,因为我使用 sed 多次加载整个文件,而且它很大。关于如何加快这个过程的任何想法?

bash awk sed fasta

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

标签 统计

awk ×1

bash ×1

fasta ×1

sed ×1