众所周知,在完成蛋白组学组间差异蛋白筛选后,往往要做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分析的更多相关文章

  1. Python基于Python实现批量上传文件或目录到不同的Linux服务器

    基于Python实现批量上传文件或目录到不同的Linux服务器   by:授客 QQ:1033553122 实现功能 1 测试环境 1 使用方法 1 1. 编辑配置文件conf/rootpath_fo ...

  2. perl命令批量替换文件内容

    转自:http://www.jbxue.com/article/12638.html 使用perl命令批量替换文件内容. 对linux下的文件内容进行替换,有时不用编写perl脚本,用perl命令就可 ...

  3. Python 基于Python实现批量创建目录

    基于Python实现批量创建目录 by:授客QQ:1033553122 测试环境: Python版本:Python 2.7   代码实践 #!/usr/bin/env python # -*- cod ...

  4. JavaScript字符串转换为变量名

    1.将一个字符串转换为变量名 [javascript] view plain copy print? function string_to_name(string){ let _name = 'var ...

  5. 详解:数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名及手工脚本创建oracle数据库

    数据库名.实例名.数据库域名.全局数据库名.服务名 , 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数 ...

  6. Oracle数据库名、实例名、数据库域名、全局数据库名、服务名之间的区别

    数据库名.实例名.数据库域名.全局数据库名.服务名 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数据库 ...

  7. 让Oracle 大小写敏感 表名 字段名 对像名

    一.解决方案 1.在表名.字段名.对象名上加上双引号,即可实现让oracle大小写区分. 2.但是这又引起了另一个问题:在数据库操作中,sql语句中相应的表名.字段名.对象名上一定要加双引号. 解决办 ...

  8. C语言中变量名及函数名的命名规则与驼峰命名法

    一.C语言变量名的命名规则:(可以字母,数字,下划线混合使用) 1. 只能以字母或下划线开始:2. 不能以数字开始:3. 一般小写:4. 关键字不允许用(eg:int float=2//error  ...

  9. 基于spring-boot的社区社交微信小程序,适合做脚手架、二次开发

    基于spring-boot的社区社交微信小程序,适合做脚手架.二次开发 代码地址如下:http://www.demodashi.com/demo/13867.html 1 概述 笔者做的一个后端基于s ...

  10. oracle10G 数据库名、实例名、ORACLE_SID 及创建数据库- hl3292转载修改(实践部分待校验)

    数据库名.实例名.数据库域名.全局数据库名.服务名 , 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数 ...

随机推荐

  1. RocketMQ 消息集成:多类型业务消息——定时消息

    简介: 本篇将继续业务消息集成的场景,从使用场景.应用案例.功能原理以及最佳实践等角度介绍 RocketMQ 的定时消息功能. 作者:凯易.明锻   引言   Apache RocketMQ 诞生至今 ...

  2. Serverless 选型:深度解读 Serverless 架构及平台选择

    作者 | 悟鹏  阿里巴巴技术专家 导读:本文尝试以日常开发流程为起点,分析开发者在每个阶段要面对的问题,然后组合解决方案,提炼面向 Serverless 的开发模型,并与业界提出的 Serverle ...

  3. [Go] 浅谈 Golang Chan 通信与死锁:all goroutines are asleep - deadlock

    Channel创建方式: var c1 chan [value type] c1 = make([channel type] [value type], [capacity]) [value type ...

  4. Windows 官方提供的触屏硬件延迟测量方法

    本文记录微软 Windows 官方在 Windows Hardware Lab Kit 提供的触屏硬件延迟测量方法 Overview of measuring Touch Down Hardware ...

  5. Steam中将XBox手柄默认布局改为任天堂手柄布局的方法

    1. 在Steam菜单栏找到"查看",选择大屏幕模式. 2. 进入大屏幕模式后,在菜单界面找到"设置". 3. 在设置界面找到"控制器",选 ...

  6. go-admin migrate 数据表迁移

    目录 视频教程 应用场景 目录说明 数据迁移 迁移步骤 配置数据库 常用命令示例 新建模型实例 3.1 方式一:不编译运行(推荐) 3.2 方式二:编译并运行迁移 3.3 方式三:golangIDE ...

  7. Spring如何控制Bean的加载顺序

    前言 正常情况下,Spring 容器加载 Bean 的顺序是不确定的,那么我们如果需要按顺序加载 Bean 时应如何操作?本文将详细讲述我们如何才能控制 Bean 的加载顺序. 场景 我创建了 4 个 ...

  8. 处理flex布局

    点击查看代码 <view class="recommend-view"> <view class="title-view"> 热门推荐 ...

  9. ctf_web

    ctfshow web13 访问题目链接 一看是一道文件上传题,上传文件进行测试 上传php会显示 error suffix 因此推测会检测格式 当文件字数超出一定字数时,显示 error file ...

  10. windows 文件夹添加备注

    1,选中希望改动的文件夹,然后右键"单击",选择"属性"按钮. 2,打开"自定义"面板,选择"更改图标",将原来的默认文 ...