繁体   English   中英

如何使用Python从多个.txt文件中提取文本?

[英]How to extract text from several .txt files with Python?

我对使用Python进行编程和使用是相对较新的,在这里找不到任何可以回答我问题的东西。 基本上,我要做的是提取大约150个不同的.txt文件的特定部分,并将每个片段收集到单个.txt文件中。

每个.txt文件都包含DNA序列比对数据,并且每个文件基本上都读出几十个不同的可能序列。 我只对每个文件中的一个序列感兴趣,并且我希望能够使用脚本从所有文件中删除该序列,并将它们组合成一个文件,然后将其输入到翻译程序中序列变成蛋白质代码。 我真正要避免的是必须逐一遍历150个文件,然后将所需的序列复制/粘贴到软件中。

有谁知道我该怎么做? 谢谢!

编辑:我试图发布其中一个文本文件的图像,但是显然我没有足够的“声誉”。

Edit2:大家好,很抱歉,我没有尽快回到这个话题。 我已经上传了图片,这是上传的链接: http : //imgur.com/k3zBTu8

我假设您有150个fasta文件,并且在每个fasta文件中都有要获取其序列的序列ID。 您可以使用Biopython模块来执行此操作,将所有150个文件放在“ C:\\ seq_folder”文件夹中(文件夹不应包含任何其他文件,并且txt文件不应打开)

import os
from Bio import SeqIO
from Bio.Seq import Seq

os.chdir('C:\\seq_folder') # changing working directory, to make it easy for python finding txt files 
seq_id=x # the sequence id you want the sequence
txt_list=os.listdir('C:\\seq_folder')
result=open('result.fa','w')
for item in txt_list:
   with open (item,'rU') as file:
     for records in SeqIO.parse(file,'fasta'):
          if records.id == seq_id:
               txt.write('>'+records.id+'\n')
               txt.write(str(records.seq)+'\n')
          else:
               continue
result.close()

此代码将生成一个fasta文件,其中包括所有文件中所需ID的顺序,并将它们放入'result.fa'中。 您也可以使用Biopythn模块将它们翻译成蛋白质。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM