如何使用另一个文件中的 ID 列表来 grep fasta 序列?

如何使用另一个文件中的 ID 列表来 grep fasta 序列?

我有一个很大的 fasta 序列文件和一个 ID 列表。我需要grep使用来自另一个文件的 ID 获取一些带标题的序列。以下是文件示例。

文件 1:

>AB1234
ACGTAGATA
>AB3456
ACGATAGAT
>AB4567
ACGTGTGA

文件 2

>AB1234
>AB3456

答案1

您可以grep从文件中读取模式,每行一个模式,使用以下-f选项:

grep -x -F -A 1 -f 'File 2' 'File 1'

此外,

  • -F按字面意思解释模式,而不是正则表达式,

  • -x仅匹配整行,

  • -A N打印N每次匹配后的行。

答案2

我让它工作了:

for i in $(cut -d" " -f1- file2); do grep -o "$i" file1 | tee -a result.txt; done

假设file1==id文件,并且file2== 要进行 greped 的文件

结果.txt:

AB1234
AB3456

相关内容