1
目前我试图解析以下文件类型(.fasta):grep的整个输出搜索到的文件
>SeqID=0001__GroupID=0001
ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGC
>SeqID=0002__GroupID=0001
ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGC
>SeqID=0003__GroupID=0002
ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGC
>SeqID=0004__GroupID=0003
ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGC
>SeqID=0005__GroupID=0003
ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGC
>SeqID=0006__GroupID=0004
ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGC
为了可以通过组ID中提取的序列。我有ID的文件以下列格式来提取:
GroupID=0002
GroupID=0003
我已经使用下面的命令
:
$ grep -A 1 -f groupIDs_to_extract.txt sequences_file.fasta > output.txt
这个想法是在输入与每个ID来执行的grep文本文件,其中包含以下一行上下文以实际提取序列。所以,从我的例子中,输出从第2组和第3的所有序列:
>SeqID=0003__GroupID=0002
ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGC
>SeqID=0004__GroupID=0003
ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGC
>SeqID=0005__GroupID=0003
ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGC
然而,它只是在输出年底整个sequences_file.fasta,我不知道为什么。谁能帮忙?
你的'grep'二进制文件是否支持'grep -A 1'? – fedorqui
'groupIDs_to_extract.txt'中可能有空行(很可能在文件末尾)。空行代表“匹配所有内容”。 –
我意识到我的文件没有按照我的想法格式化(请参阅我的答案)。但是,是的,我的'groupIDs_to_extract.txt'中确实有空行。只有我解决了这两个问题后才能正常工作,所以谢谢! – Arthis