数据分析:转录本ID和基因ID转换

前言

在使用kallisto等基于cDNA数据库注释软件时,获得的gene expression matrix的gene id是transcript id。后续在做数据分析时,需要将其转换成gene symbol。以下介绍两种转换方法。

第一种方法

在GitHub上有人开发了可以做该种转换的R包, BUSpaRse提供的transcript2gene函数其实套用了biomart包的useMart函数获取了转录ID与基因ID的对应关系。它方便在直接使用,看起来较为清晰简单。

# devtools::install_github("BUStools/BUSpaRse")
library(BUSpaRse)tr2g <- transcript2gene(c("Homo sapiens", "Mus musculus"), type = "vertebrate",ensembl_version = 100, kallisto_out_path = "./")

第二种方法

直接使用biomart包的useMart函数,在使用前我们先要提取参考基因组的基因ID,为后面基于该基因ID匹配到转录本ID做准备。

  • 获取基因组的基因list
cat Homo_sapiens.GRCh38.101.gtf | awk -F'\t' '{if($3=="gene") {split($9,a,";"); print a[1]"\t"$5-$4};}' | sed 's/[gene_id |"|]//g' | sort -u > Homo_sapiens.GRCh38.101.genelength.tsv
  • 获取基因ID与转录本ID对应关系表
library(biomaRt)
library(curl)genelist <- read.table("Homo_sapiens.GRCh38.101.genelength.tsv", header = T)
human_mart <- useMart(host="www.ensembl.org", biomart="ENSEMBL_MART_ENSEMBL", dataset = "hsapiens_gene_ensembl")
human_gene_all <- getBM(attributes=c("ensembl_gene_id", "entrezgene_id","external_gene_name", "ensembl_transcript_id", "ensembl_transcript_id_version","transcript_biotype", "description"),filters="ensembl_gene_id",values = genelist$Geneid,mart=human_mart)

Reference

  1. transcript2gene usage

  2. BUSpaRse github

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/669682.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

启航新篇,量算未来 | 量子计算创新论坛成功举办!

4月28日下午&#xff0c;在2024中国移动算力网络大会——未来启航•量子计算创新论坛在苏州金鸡湖国际会议中心举办。本次论坛以“创新求发展&#xff0c;合作赢未来”为主题&#xff0c;旨在汇聚行业前沿思想&#xff0c;共谋创新发展大计&#xff0c;共同推动我国量子计算产业…

网络性能测试工具iperf3 和iperf

目录 1. iperf工具介绍 2. 下载安装 3. 使用方法 1. iperf工具介绍 iperf 是一个网络性能测试工具&#xff0c;用于测量网络带宽和性能。它可以在客户端和服务器之间进行数据传输&#xff0c;并提供了丰富的选项来配置测试参数和输出格式。 iperf 和 iperf3 都是用于测量网…

多链路聚合设备是什么

多链路聚合设备属于通信指挥装备。 乾元通多链路聚合设备&#xff0c;它能够将多个网络链路聚合成一个逻辑链路&#xff0c;以实现高速、稳定、可靠的数据传输。多链路聚合设备的核心技术包括链路聚合、负载均衡、故障切换等&#xff0c;能够智能管理和优化利用不同网络链路&a…

sql编写规范(word原件)

编写本文档的目的是保证在开发过程中产出高效、格式统一、易阅读、易维护的SQL代码。 1 编写目的 2 SQL书写规范 3 SQL编写原则 软件全套资料获取进主页或者本文末个人名片直接获取。

Inflate动态Huffman解压缩

上个已经实现GZIP压缩文件格式的Inflate静态Huffman解压&#xff0c;这个实现Inflate的无压缩输出和动态Huffman解压。 Java语言实现&#xff0c;Eclipse下编写。 范式Huffman解码实现&#xff0c;输入huffman编码&#xff0c;输出原始数据 // 范式huffman解码static class C…

视频号小店有自然/搜索流量吗?

我是王路飞。 视频号小店不过就是腾讯版的“抖音小店”。 本质都是借助短视频的流量红利&#xff0c;进行电商变现。 所以&#xff0c;在视频号开店&#xff0c;依旧是“无货源模式”“找达人带货玩法”。 至于自然/搜索流量&#xff0c;现阶段的视频号小店几乎是没有的&am…

27 JavaScript学习:异步编程

异步的概念 在JavaScript中&#xff0c;异步编程是一项重要的概念&#xff0c;特别在处理用户交互、网络请求和文件读写等场景下非常常见。JavaScript是一门单线程语言&#xff0c;因此需要通过异步编程来避免阻塞主线程&#xff0c;保证程序的流畅性和响应性。 在JavaScrip…

PDF到TXT:一键解锁文本魅力,轻松实现格式转换!

PDF文件以其独特的跨平台、易阅读性受到了广大用户的青睐。但是&#xff0c;有时我们也需要将PDF文件转换为其他格式&#xff0c;以满足不同的需求。比如&#xff0c;有时候我们需要将PDF文件转换为TXT格式&#xff0c;以便在移动设备上轻松阅读或进行文本编辑。这时&#xff0…

3.ERC4626

ERC4626是一个vault&#xff0c;在DAI中&#xff0c;使用ETH换取DAI。其流程为先充值ETH到maker vault。 Vault 资产的管理、分红用户充值某项资产获取某个凭证该凭证作为分红、推出的依据Yield Farming/借贷/质押等 以太坊改进提案EIP:ethereum improvemwnt proposal 最初E…

BTCOIN的革命之路:通过SocialFi重塑全球金融生态系统

BTCOIN的革命之路&#xff1a;通过SocialFi重塑全球金融生态系统 今日&#xff0c;BTCOIN宣布发布WEB3.0论坛引发业内现象级关注&#xff1a;作为一个倡导WEB3.0理念的数字金融平台&#xff0c;在数字货币的波澜壮阔中&#xff0c;BTCOIN以其独特的生态定位和战略愿景&#xff…

AI大模型探索之路-训练篇15:大语言模型预训练之全量参数微调

系列篇章&#x1f4a5; AI大模型探索之路-训练篇1&#xff1a;大语言模型微调基础认知 AI大模型探索之路-训练篇2&#xff1a;大语言模型预训练基础认知 AI大模型探索之路-训练篇3&#xff1a;大语言模型全景解读 AI大模型探索之路-训练篇4&#xff1a;大语言模型训练数据集概…

图像分割入门-Unet++理论与实践

探索 U-net&#xff1a;改进的图像分割神经网络 引言 图像分割是计算机视觉领域中的重要任务&#xff0c;旨在将图像中的每个像素分配到特定的类别或区域。在许多应用中&#xff0c;如医学影像分析、自动驾驶和地块识别等领域&#xff0c;图像分割都扮演着关键角色。 U-net …