多个探针对应同一个基因取最大表达量探针极简代码

这个需求实在是太常见了,很多时候我们下载的表达矩阵,都是基因的探针ID作为行名来标记,如下:

这个变量是 dat,一个表达矩阵, 所以需要对探针进行注释,并且筛选。

首先看看注释的结果:

很明显可以看到,很多基因都是有多个探针的,而且每个探针的中位表达量不一样,这里我们可以选择最大的探针保留。

代码很简单:

  dat[1:4,1:4]  
  library(hgu133plus2.db)
  ids=toTable(hgu133plus2SYMBOL)
  head(ids)
  dat=dat[ids$probe_id,]
  dat[1:4,1:4] 
  ids$median=apply(dat,1,median)
  ids=ids[order(ids$symbol,ids$median,decreasing = T),]
  ids=ids[!duplicated(ids$symbol),]
  dat=dat[ids$probe_id,]
  rownames(dat)=ids$symbol
  dat[1:4,1:4]  

过滤后的表达矩阵如下:

可以手动简单检查一些探针的转换情况来验证代码是否准确无误。

不过,如果你连表达矩阵都不知道如何生成,那么你需要补充的基础知识就比较多了。

原文发布于微信公众号 - 生信技能树(biotrainee)

原文发表时间:2018-11-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习算法与Python学习

不会用Photoshop抠图?Mask R-CNN助你一键“除”人

19430
来自专栏友弟技术工作室

Django实现验证码

Django实现验证码 背景知识 1. 验证码的作用 防恶意破解密码:防止,使用程序或机器人恶意去试密码.为了提高用户的体验,用户输入错误以后,才会要求输入验证...

759110
来自专栏简书专栏

基于xgboost的风力发电机叶片结冰分类预测

xgboost中文叫做极致梯度提升模型,官方文档链接:https://xgboost.readthedocs.io/en/latest/tutorials/mo...

18610
来自专栏HansBug's Lab

算法模板——sap网络最大流 1(非递归+邻接矩阵)

实现功能:首行输入N,M,S,T,代表这张图N个点,M条边,源点为S,汇点为T;接下来T行输入个边的出发点、终点和权值;输出最大流 原理:sap网络流算法(详见...

31970
来自专栏付越的专栏

深度学习入门篇--手把手教你用 TensorFlow 训练模型

最近笔者终于跑通 TensorFlow Object Detection API的ssd_mobilenet_v1 模型,这里记录下如何完整跑通数据准备到模型使...

6.3K20
来自专栏PaddlePaddle

【FAQ】模型配置相关问题汇总

导语 我们用13篇推文向您介绍了如何安装、编译和使用PaddlePaddle,您可以点击公众号右下角的历史消息获取相应的使用指南。 ? 在使用指南的最后一部分,...

389100
来自专栏深度学习与计算机视觉

手把手教你如何应用TF-Slim快速实现迁移学习

这是一篇以实践为主的入门文章,目的在于用尽量少的成本组织起来一套可以训练和测试自己的分类任务的代码,其中就会用到迁移学习,TF-Slim库的内容,所以我们分为下...

1.2K80
来自专栏生信小驿站

Python数据处理从零开始----第四章(可视化)(8)火山图目录

来源数据分别是差异基因分析的两列指标,FoldChange和Pvalue值,根据这两个指标,我们可以把基因分为up,down和normal三种差异表达类型,...

14720
来自专栏破晓之歌

神经网络简介 原

9840
来自专栏用户2442861的专栏

caffe python 图片训练识别 实例

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/details...

89720

扫码关注云+社区

领取腾讯云代金券