根据基因名批量查找它的Uniprot编号

这篇具有很好参考价值的文章主要介绍了根据基因名批量查找它的Uniprot编号。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景:

前几天老师交给我一个任务,给我一个基因列表,让我查找它们所编码的蛋白质的蛋白质序列。我上了一下uniprot数据库,发现这个任务可以分成两步:

  • 找到这个基因在Uniprot数据库中所对应的蛋白质编码
  • 根据蛋白质编码批量下载蛋白质序列(以前的文章)

下面我们以基因“BOP1”为例:

根据基因名批量查找它的Uniprot编号,生物信息,python

然后可以看到:

根据基因名批量查找它的Uniprot编号,生物信息,python

这里我们可以看到,有一个个框,代表不同的蛋白。我们要找的是人,所以应该是Homo sapiens。Gene也是BOP1。对应上了!Q14137就是我们要找的uniprot编码。也可以这样说:BOP1~Q14137。

知道了一个那好办,给我们100,1000个呢?这时候我们的爬虫就出现了。直接给代码:

# 导包
import pandas as pd
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium import webdriver
from selenium.webdriver.edge.options import Options
from openpyxl import Workbook
workbook = Workbook()
sheet = workbook.active


#加载selenium配置
user_data_dir = r'C:\Users\*****'
options = Options()
options.add_argument(f'--user-data-dir={user_data_dir}')
driver = webdriver.Edge(options=options)
#读取文件
file_path = r'*****/step1.xlsx'
df = pd.read_excel(file_path, header=None)
# 获取蛋白名称列的数据
protein_names = df[0].tolist()
#开爬
for protein in protein_names:
    # 构建带有查询参数的URL
    url = f'https://www.uniprot.org/uniprotkb?query={protein}'
    print(url)
    driver.get(url)

    # 使用Selenium等待页面加载完成(最多等待30秒)
    wait = WebDriverWait(driver, 30)
    wait.until(EC.presence_of_element_located((By.XPATH, '/html/body/div/div/div/div/main/ul/li[2]/section/div[1]/div[1]/h2/a/span')))

    # 使用XPath查找页面上的内容
    #xpath_expression = '/html/body/div/div/div/div/main/ul/li/section/div[1]/div[1]/h2/a/span'
    xpath_expression = '/html/body/div/div/div/div/main/ul/li/section/div[1]/div[2]/div'

    # 使用XPath查找页面上的内容
    ul = driver.find_element(By.XPATH, '/html/body/div/div/div/div/main/ul')

    lis = ul.find_elements(By.TAG_NAME, 'li')

    for li in lis:
        title = li.find_element(By.XPATH, './section/div[1]/div[2]/div').text
        result = title.split("·")
        if protein in result[1] and 'Homo sapiens (Human)' in result[2]:
            protein_slice = li.find_element(By.XPATH, './section/div[1]/div[1]/h2/a/span').text
            protein_slice = protein_slice.split("·")
            result = [x.strip() for x in protein_slice]
            protein_name = result[0]
            sheet.append([protein, result[0]])
            break

output_file = 'output2.xlsx'
workbook.save(output_file)

# 关闭浏览器
driver.quit()

我们来看看输出文件:

根据基因名批量查找它的Uniprot编号,生物信息,python文章来源地址https://www.toymoban.com/news/detail-807754.html

到了这里,关于根据基因名批量查找它的Uniprot编号的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MATLAB实现确定肿瘤的重要基因信息

    目录 一、问题重述 2 二、基本的模型假设 4 三、名词解释 4 四、符号化 4 五、模型的建立与求解 4 5.1 问题一的分析、建模与求解 4 5.1.2 问题一的模型建立 5 5.1.2.1 巴氏距离模型 5 5.1.2.2 理想基因模型 6 5.1.2.3 综合模型 7 5.1.3 问题一的模型求解 8 5.1.4 问题一的结果及分析 10 5.2

    2024年02月22日
    浏览(35)
  • 生物信息-软件安装

    从终端进wsl: WSL2下安装conda 1.wget: unable to resolve host address解决方法 2.Windows中WSL2(子系统)设置默认root用户登入修改conf文件出现报错: E212: Can\\\'t open file for writing Press ENTER or type command to continue 原因: 1.当前用户的权限不足 2.此文件可能正被其他程序或用户使用。 一般错误原因

    2024年02月03日
    浏览(53)
  • 区块链与生物信息数据分析:实现生物研究的新方法

    生物信息学是一门研究生物数据的科学,其主要关注生物数据的收集、存储、处理、分析和挖掘。随着生物科学领域的快速发展,生物信息学也在不断发展,为生物研究提供了更多的数据和工具。然而,生物信息学数据的规模非常庞大,分布在多个数据库和平台上,这使得数

    2024年04月16日
    浏览(73)
  • 【TOP生物信息】使用SingleR注释细胞类型

    扫码关注下方公粽号,回复推文合集,获取400页单细胞学习资源! 本文共计1887字,阅读大约需要6分钟,目录如下: SingleR基本介绍 SingleR包安装 SingleR包使用 1.使用已有的参考数据集进行细胞定义 2.使用自定义数据集进行细胞定义 小结 获取代码 代码参考 往期单细胞系统教程

    2024年02月04日
    浏览(92)
  • unity根据名字查找物体

    在 Unity 中,可以使用 GameObject.Find() 函数来根据名字查找物体。例如: 这样就可以获取名字为 \\\"MyGameObject\\\" 的物体了。 注意,GameObject.Find() 函数只能在场景中查找物体,如果需要在预制件中查找物体,可以使用 Resources.Load() 函数。 还有一点需要注意的是,GameObject.Find() 函数的

    2024年02月12日
    浏览(35)
  • Selenium定向爬取PubMed生物医学摘要信息

    目录 一、前言 1、PubMed是什么? 2、PubMed特点 二、实现代码 三、分析HTML

    2024年02月08日
    浏览(50)
  • 线性代数在生物信息学中的应用

    生物信息学是一门研究生物学信息的科学,它涉及到生物数据的收集、存储、处理、分析和挖掘。生物信息学的应用范围广泛,包括基因组学、蛋白质结构和功能、生物网络、生物信息数据库等方面。线性代数是一门数学分支,它研究的是向量和矩阵之间的关系和运算。线性

    2024年04月28日
    浏览(45)
  • 生物信息学 | 借助 AI 更高效地开启研究

    By 超神经 生物信息学 (Bioinformatics) 是指利用应用数学、信息学、统计学和计算机科学的方法,研究生物学问题。 随着计算机科学技术的发展,AI 在解决复杂又颇具挑战的生物学研究问题方面,显露出极大的优势,进一步加速了传统研究范式的转变及升级。 作者 | 三羊 编辑

    2024年02月06日
    浏览(49)
  • FPGA加速技术在生物信息学中的应用

    作者:禅与计算机程序设计艺术 随着近年来生物信息学领域的发展,人们越来越关注复杂系统的模式构建、网络分析、数据挖掘等问题。由于生物信息学领域涉及的数据规模、计算量、分布式、实时性要求高,传统CPU计算资源难以满足需求,同时还有对成本的限制。因此,采

    2024年02月14日
    浏览(39)
  • 大数据在生物信息学研究中的重要作用

    生物信息学是一门研究生物学信息的科学,它结合生物学、计算机科学、数学、统计学等多学科知识,涉及到生物序列数据的收集、存储、分析、比较和挖掘等方面。随着生物科学领域的快速发展,生物信息学在生物科学研究中发挥着越来越重要的作用。 大数据在生物信息学

    2024年04月25日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包