无需等待ans即可进行多服务器重新请求和文件写入

2024-09-18 15:20:15 发布

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

我正在做一个基于基因组数据的蛋白质预测程序,有时我需要向服务器发送多个请求,并将结果写入一个文件。 我有大约100个请求和文件写作要做。问题是每次重新请求大约需要2到5分钟来回答和写入文件。也就是说,使用循环,需要3个多小时才能运行。 问题是我不需要第一个请求的结果来执行第二个、第三个等等。我想同时提出100个要求。我该怎么做

我们尝试使用多线程,它的工作,因为我们设法削减运行时间4使用我们的4核计算机。但我确信这是解决问题的错误方法,我们没有同时运行所有请求

from Bio.Blast import NCBIWWW
from Bio.Blast import NCBIXML

seq1 = "AGYRGYGCAYGCGYAGCAGC"

result_handle = NCBIWWW.qblast("blastp","nr",seq1)
blast_file = open("my_blast_1.xml", "w")
blast_file.write(result_handle.read())
blast_file.close()
result_handle.close()

这是在我的一个序列上执行请求和文件写入的示例代码。它做了预期的,但我需要找到一种方法,这样做100次,在同一时间为我的seq1,seq2,seq3,seq4

谢谢


Tags: 文件数据fromimport基因组close蛋白质result