如何在包含列表或其他文件中唯一项的目录中查找文件?

2024-06-25 23:13:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个Python3脚本来解析一个目录,该目录包含带有细菌物种名称和对应于每个物种的蛋白质序列的文件。这些文件被称为fasta文件,因为每个序列的标识符(aka header)都以“>;”开头。示例如下

File_1
>Mycoplasma_hypo
MAKEIILGIDLGTTNSVVAIIENQKPVVLENPNGKTTTPSVVAFKNNEEIVGDAAKRQ
LETNPEAIASIKRLMGTDKTVRANNNNERDYKPEEISAKILAYLKEYAEKKIGHKVTK
>Mycoplasma_galli
MSNNNGLIIGIDLGTTNSCVSVMEGAQKVVIENPEGKRTTPSVVSYKNGEIIVGDAAKRQ
MLTNPNTIVSIKRLMGTSKKVKINDKGVEKELTPEEVSASILSYLKDYAEKKTGQKISR
>Mycoplasma_agal
MAKEVIIGIDLGTTNSVVSIVDNGSPVVLENLNGKRTTPSVVSFKDGEIIVGDNAKNQ
IETNPDTVASIKRLMGTSKTVHVNNNNNKDYKPEEISAMILEHLKKYAEEKIGHKIEK

File_2
>Mycoplasma_hypo
MAKEIILGIDLGTTNSVVAIIENQKPVVLENPNGKTTTPSVVAFKNNEEIVGDAAKRQ
LETNPEAIASIKRLMGTDKTVRANNNNERDYKPEEISAKILAYLKEYAEKKIGHKVTK
>Mycoplasma_galli
MSNNNGLIIGIDLGTTNSCVSVMEGAQKVVIENPEGKRTTPSVVSYKNGEIIVGDAAKRQ
MLTNPNTIVSIKRLMGTSKKVKINDKGVEKELTPEEVSASILSYLKDYAEKKTGQKISR
>Mycoplasma_galli
MSNNNGLIIGIDLGTTNSCVSVMEGAQKVVISVVSYKNLKDYAEKKHHGEIIVGDAAKRQ
MLTNPNTIVSIKRLMGTSKKVKI-NDKGVEKELTPEEVSASILSYLKDYAEKKTGQKISR
>Mycoplasma_gen
MAKENNVIIGIDLGTTNSVRTTPSVVSFKDGEIIVGDNAKNQVSIVDNGSPVVLENLNGK
IETNPDTVASIKRLMGTSKTVHVNNNNNNKDYKPEEISAMILEHLKKYAEEKIGHKIEK

如您所见,文件\u 2包含重复项(>;鸡支原体)。我想跳过这个文件,并创建一个目录的所有其他文件包含唯一的细菌物种从一个给定的名单或其他文件,其中包含这些细菌物种的名称。此类查找文件的示例可以是:

查找\u文件

>Mycoplasma_galli 
>Mycoplasma_hypo
>Mycoplasma_gen
>Mycoplasma_agal

Tags: 文件gt目录名称示例物种序列file
1条回答
网友
1楼 · 发布于 2024-06-25 23:13:46
path = ["File_1.txt","File_2.txt"]

list_all = []
import re
for i in path:
    s=open(i).read()
    list_all = list_all + re.findall(r'(?<=\s)\>\w+',s) #Extracts all words start with '>'

list_uni = list(set(list_all))

f = open('lookup.txt', 'w+')

f.write("\n".join(list_uni))

f.close()

相关问题 更多 >