如何基于Perl实现批量蛋白名转换为基因名?以做后续GO与KEGG分析
众所周知,在完成蛋白组学组间差异蛋白筛选后,往往要做GO与KEGG功能富集分析,这就需要我们首先将蛋白名转换为基因名,或者找出基因ID。将蛋白名转化为基因名可能涉及不同的转换工具或数据库,这里有几种常见的方法:
①UniProt数据库:UniProt数据库提供了蛋白和其对应基因的关联信息。可以通过查询UniProt数据库来找到蛋白名对应的基因名。
② 基因注释工具:一些基因注释工具(如DAVID、Enrichr等)能够接受蛋白名作为输入,并返回与之关联的基因信息。
③文献和数据库搜索:通过文献或特定的生物信息学数据库(如NCBI、Ensembl等),可以手动查找蛋白名和基因名之间的关联。
④转录本和基因组数据库:有时蛋白和基因之间的映射可以通过转录本和基因组序列的对应关系来确定。
以上四种方法虽然可以实现蛋白名与基因名的转换,但是只适应于小样本的处理,如果差异有几百或者上千个蛋白,那么用以上方法处理起来会非常麻烦。下面我们将介绍如何用perl进行批量处理。源代码可关注本公众号(皮蛋笔记)私信获取。
1、首先下载并安装Perl脚本
网页搜索Perl直接进入即可(Strawberry Perl for Windows),点击下载并安装。

2、准备所需文件
Protein name.txt为筛选到的差异蛋白文件如下图所示,包含蛋白名称或者蛋白ID,本例中所使用的为蛋白名称。uniprot_Human.tsv为从uniprot数据库下载的物种蛋白数据库,如何下载之前笔记已经讲述。addSymbol文件就是Perl脚本,可关注本公众号(皮蛋笔记)私信获取。

3.打开addSymbol文件,更改代码中的文件名,以输入、输出文件

4.在电脑搜索框中输入“cmd”,打开命令提示符。

5.如下图所示,输入“cd ”(cd后有空格),将文件所在工作路径复制或粘贴至cd后面,并按下“enter”打开工作路径



6.手动输入addSymbol.pl文件名,按下“enter”键运行即可得结果。

7.可以发现在文件夹里已经多了结果文件,打开进行后处理即可

在获取蛋白质的基因的名称后,需要获取基因的ID以为后续进行GO和KEGG分析,下篇笔记将会展示如何应用R语言进行GO分析,敬请关注与期待。本篇内容代码与文件见以下链接
链接:https://pan.baidu.com/s/1oQ9dqOeHdO5I08skBt40VQ
提取码:r3ml
内容转自公众号:皮蛋笔记,欢迎关注,获取第一时间咨询和相关资料。

如何基于Perl实现批量蛋白名转换为基因名?以做后续GO与KEGG分析的更多相关文章
- Python基于Python实现批量上传文件或目录到不同的Linux服务器
基于Python实现批量上传文件或目录到不同的Linux服务器 by:授客 QQ:1033553122 实现功能 1 测试环境 1 使用方法 1 1. 编辑配置文件conf/rootpath_fo ...
- perl命令批量替换文件内容
转自:http://www.jbxue.com/article/12638.html 使用perl命令批量替换文件内容. 对linux下的文件内容进行替换,有时不用编写perl脚本,用perl命令就可 ...
- Python 基于Python实现批量创建目录
基于Python实现批量创建目录 by:授客QQ:1033553122 测试环境: Python版本:Python 2.7 代码实践 #!/usr/bin/env python # -*- cod ...
- JavaScript字符串转换为变量名
1.将一个字符串转换为变量名 [javascript] view plain copy print? function string_to_name(string){ let _name = 'var ...
- 详解:数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名及手工脚本创建oracle数据库
数据库名.实例名.数据库域名.全局数据库名.服务名 , 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数 ...
- Oracle数据库名、实例名、数据库域名、全局数据库名、服务名之间的区别
数据库名.实例名.数据库域名.全局数据库名.服务名 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数据库 ...
- 让Oracle 大小写敏感 表名 字段名 对像名
一.解决方案 1.在表名.字段名.对象名上加上双引号,即可实现让oracle大小写区分. 2.但是这又引起了另一个问题:在数据库操作中,sql语句中相应的表名.字段名.对象名上一定要加双引号. 解决办 ...
- C语言中变量名及函数名的命名规则与驼峰命名法
一.C语言变量名的命名规则:(可以字母,数字,下划线混合使用) 1. 只能以字母或下划线开始:2. 不能以数字开始:3. 一般小写:4. 关键字不允许用(eg:int float=2//error ...
- 基于spring-boot的社区社交微信小程序,适合做脚手架、二次开发
基于spring-boot的社区社交微信小程序,适合做脚手架.二次开发 代码地址如下:http://www.demodashi.com/demo/13867.html 1 概述 笔者做的一个后端基于s ...
- oracle10G 数据库名、实例名、ORACLE_SID 及创建数据库- hl3292转载修改(实践部分待校验)
数据库名.实例名.数据库域名.全局数据库名.服务名 , 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数 ...
随机推荐
- 深入浅出eBPF|你要了解的7个核心问题
简介: 过去一年,ARMS基于eBPF技术打造了Kubernetes监控,提供多语言无侵入的应用性能,系统性能,网络性能观测能力,验证了eBPF技术的有效性.eBPF技术和生态发展很好,未来前景广大, ...
- 一站式云原生智能告警运维平台——SLS新版告警发布!
简介: 本文介绍什么是云原生可观测性需求以及告警限制,介绍一站式云原生智能告警运维平台--SLS新版告警. 前言 本篇是SLS新版告警系列宣传与培训的第一篇,后续我们会推出20+系列直播与实战培训视频 ...
- 如何利用 AHAS 保障 Web 服务稳如磐石?
简介:应用高可用服务 AHAS (Application High Availability Service) 是经阿里巴巴内部多年高可用体系沉淀下来的云产品,基于阿里开源流控降级组件 Sentin ...
- 如何高效完成ECS多环境部署?
简介:通过本文,你可以了解到,如何通过云效流水线有效拉通开发与运维,打破二者之间的壁垒墙,让开发与运维高效联动.在软件开发和部署过程中,我们的软件往往需要在不同的运行环境中运行,例如:开发人员本地开 ...
- KubeVela 成为 CNCF 沙箱项目,让云端应用交付更加简单
简介: KubeVela 就是这样一个面向用户的上层平台项目.对于业务开发者来说,KubeVela 简单.易用,它可以让开发者以极低的心智负担和上手成本在 Kubernetes 上定义与部署应用... ...
- Niginx中Vue Router 历史(history)模式的配置
快速配置 将build后的文件直接丢到niginx目录下的html文件夹中,然后配置nginx.conf,就可以在快速的实现niginxhistory模式的配置了. location /{ # 可使用 ...
- vue.js+canvas实现随机验证码
登录注册啥的,不需要下载插件,上图: 代码: <template> <div class="about"> <p>当前验证码:{{codeStr ...
- Halo博客搭建小记
准备工作 阿里云服务器,操作系统为CentOS 7.9.2009 x86_64(Py3.7.9) 宝塔面板 Nginx 1.24.0(用于反向代理) 已备案的域名 ssl证书(https访问) 参考官 ...
- 深入学习和理解Django模板层:构建动态页面
title: 深入学习和理解Django模板层:构建动态页面 date: 2024/5/5 20:53:51 updated: 2024/5/5 20:53:51 categories: 后端开发 t ...
- 简说Python之列表,元祖,字典
目录 Python列表 创建列表 添加元素 查询元素 列表分片 分片简写 修改元素 一些其他添加列表元素的方法 extend() insert() 删除元素 remove()删除 del 通过索引删除 ...