首页 > 编程语言 >如何基于Perl实现批量蛋白名转换为基因名?以做后续GO与KEGG分析

如何基于Perl实现批量蛋白名转换为基因名?以做后续GO与KEGG分析

时间:2024-05-29 21:23:26浏览次数:17  
标签:文件 KEGG 数据库 基因 Perl GO 蛋白

  众所周知,在完成蛋白组学组间差异蛋白筛选后,往往要做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

内容转自公众号:皮蛋笔记,欢迎关注,获取第一时间咨询和相关资料。

标签:文件,KEGG,数据库,基因,Perl,GO,蛋白
From: https://www.cnblogs.com/wuzhixiake/p/18221096

相关文章

  • golang errgroup 的作用
     errgroup是Go中用于并发控制和错误处理的一个工具,提供了一种方便的方式来协调多个goroutine。它允许你在一个组中运行多个goroutine,并等待它们全部完成,同时收集和返回第一个发生的错误。它的主要作用包括:同步:errgroup.Group提供了一个Wait方法,这个方法会阻塞调......
  • golang errgroup 的超时检测
     > golangerrgroup的作用.errgroup的超时检测通常是一种事后得到结果的方式。 errgroup本身并不直接支持超时控制,而是依赖于与之关联的context.Context来实现超时和取消功能。 当context超时时,它会关闭Done通道,这将通知errgroup中的协程。 errgroup的Wait方法在检......
  • 4-Django项目--资产管理
    目录项目结构asset_data.htmlasset_data/add_modify.htmlviews/asset_data.py------资产管理--------资产信息展示views/asset_data.py添加资产信息添加和编辑的html可参考学员信息添加修改htmlviews/asset_data.py修改信息资产views/asset_data.py项目结构as......
  • 解决labelme中AI Model Ai Mask Ai Polygon选项下载onnx权重慢或者无法下载问题
    新版的labelme中已经内置了AIModel功能,能够通过模型智能识别图像中想要标注的区域,能够显著减少工作量。但是第一次使用这个功能的时候会要下载模型权重,此时一般速度会非常慢,或者出现报错无法下载,下面提出一种解决方法。如图,有5种模型,每个模型需要分别下载encoder和decoder两......
  • Django 里如何使用 sqlite (操作步骤)
    下面是在VSCode里进行操作1.安装SQLite的Extension2.在models.py里做修改文件修改如下fromdjango.dbimportmodels#Createyourmodelshere.#类似这样创建一个classclassUserInfo(models.Model):username=models.CharField(verbose_name="......
  • Django 解决 CSRF 问题
    在Django出现CSRF问题要解决这个问题,就得在html里这么修改<!DOCTYPEhtml><html><head></head><body><formaction="/login/"method="post">{%csrf_token%}</form>&l......
  • Go面试专题(一)
    1选择go的原因?简单性Go语言的语法简洁清晰,没有过多的封装和继承机制,学习和使用门槛较低。高并发Go语言从语言层面原生支持并发,通过goroutine和channel实现并发编程,比如Web服务器可以轻松处理大量并发连接。高性能Go程序接近机器码运行,甚至有些情况下性能可以与C程序......
  • golang kafka例子
    packagemain//生产者代码import( "fmt" "github.com/IBM/sarama" "time")//基于sarama第三方库开发的kafkaclientvarbrokers=[]string{"127.0.0.1:9092"}vartopic="hello_kafka0"//同步消息模式funcsyncProducer(conf......
  • celery官方解决方案(基于django新)
    使用官方方案之前,先看看目录结构。luffy_api/__init__.pycelery.pysettings.pyurls.pywsgi.pymyapp/__init__.pytasks.py#也就是放在项目名称同名的内部文件夹下(和settings)同名#必须是这样的结构。第一步安装必要的模块......
  • celery通用解决方案(基于django老)
    通用方案移动项目celery_task到项目根目录在视图中写逻辑启动worker-->celery-Acelery_taskworker-ldebug-Peventlet运行django,正常使用接口#1把之前的celery_task移动过到项目根路径,然后开启worker#2在视图函数中提交任务#fromlibs.tx_smsimportg......