gpt4 book ai didi

python - 遍历变量 URL 的循环 (Python)

转载 作者:太空宇宙 更新时间:2023-11-04 04:18:17 28 4
gpt4 key购买 nike

这里是 Python 新手。

我正在开发一个简单的 DNA 序列搜索程序。主要思想是从 NCBI 数据库中获取特定基因组和起点的不同序列。到目前为止,我能够对一个基因组和一个特定位置进行简单搜索: `

  import urllib

genome="NC_009089.1"
start="359055"
end= "359070"

link = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nuccore&id=%s&rettype=fasta&seq_start=%s&seq_stop=%s" % (genome, start, end)


f = urllib.urlopen(link)
myfile = f.read()
print(myfile).splitlines()[1]
`

这是我得到的输出(那个位置的序列):

AGTAAAACGGTTTCCT

现在,我想同时从不同的基因组中找到具有不同起点和终点的几个序列,并返回找到的所有序列。我尝试将数据导入为 csv 格式,第一列是基因组,第二列开始,第三列结束,然后用打开的文件做一个 for 循环,但因为我不熟悉变量的变化在 URL 中,我不知道如何进行。

抱歉,如果这是一个幼稚的问题。任何帮助将不胜感激。

最佳答案

如果文件中已有所有参数,则可以遍历该数据并发出这样的请求(我使用列表,因为您没有显示代码如何从文件中读取数据):

import urllib
url = 'https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi'

for genome, start, end in zip(genome_list, start_list, end_list):
data = {
'db': 'nuccore',
'rettype': 'fasta',
'genome': genome,
'start': start,
'end': end,
}
f = urllib.urlopen(url, data)

通过传递带有查询参数的 dicturlopen() 负责正确编码所有参数(使用 =&).


如果 urllib 有点复杂,你可以试试 python requests 库,根据我的经验,它更好用(但它是第三方lib,不是内置的)。

关于python - 遍历变量 URL 的循环 (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55033478/

28 4 0
文章推荐: python - 迭代时间序列
文章推荐: css - 使用 Sass 将另一个元素类型添加到定义中§
文章推荐: jquery - 如何根据其他下拉值启用/禁用下拉列表
文章推荐: css - 将
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com