学习笔记Day21:转录组差异分析

转录组差异分析

差异分析难点在于将数据处理成需要的格式

表达矩阵

数值型矩阵-count

行名是symbol

低表达量的基因需要过滤

分组信息

因子,对照组在level第一位

与表达矩阵的列一一对应

项目名称

字符串(不要有特殊字符)

TCGA-XXX

非TCGA数据特殊无要求

  • 拿不到count数据如何做差异分析?

    • 自行做上游分析得到count

    • tpm:取log,用limma做差异分析

    • fpkm、rpkm:转换为tpm,取log,用limma做差异分析

在这里插入图片描述

  • 不同类型转录组数据的应用

在这里插入图片描述

差异分析数据整理

差异分析的前提:count数据

项目取名字

TCGA的数据,统一叫TCGA-xxxx,非TCGA的数据随意起名,不要有特殊字符即可。

proj = "TCGA-CHOL"

表达矩阵

dat = read.table("TCGA-CHOL.htseq_counts.tsv.gz",check.names = F,row.names = 1,header = T)
range(dat)
#> [1]  0.0000 24.1811
#逆转log,发现需要逆转,才逆转
dat = as.matrix(2^dat - 1)
dat[1:4,1:4]
#>                    TCGA-ZD-A8I3-01A TCGA-W5-AA2U-11A TCGA-W5-AA30-01A
#> ENSG00000000003.13             5254             2476             5132
#> ENSG00000000005.5                 1                1                0
#> ENSG00000000419.11             1212              655             1644
#> ENSG00000000457.12              753              346             2652
#>                    TCGA-W5-AA38-01A
#> ENSG00000000003.13             8249
#> ENSG00000000005.5                 1
#> ENSG00000000419.11             1696
#> ENSG00000000457.12              519
# 深坑一个
dat[97,9]
#> [1] 876
as.character(dat[97,9]) #眼见不一定为实吧。
#> [1] "875.999999999999"# 转换为整数矩阵
exp = round(dat)
# 检查
as.character(exp[97,9])
#> [1] "876"

临床信息

clinical = read.delim("TCGA-CHOL.GDC_phenotype.tsv.gz")
clinical[1:4,1:4]
#>   submitter_id.samples age_at_initial_pathologic_diagnosis
#> 1     TCGA-ZH-A8Y2-01A                                  59
#> 2     TCGA-ZH-A8Y7-01A                                  59
#> 3     TCGA-W7-A93O-01A                                  NA
#> 4     TCGA-W7-A93O-11A                                  NA
#>   albumin_result_lower_limit albumin_result_specified_value
#> 1                         NA                             NA
#> 2                        3.5                            2.4
#> 3                         NA                             NA
#> 4                         NA                             NA

表达矩阵行名ID转换

library(tinyarray)
exp = trans_exp_new(exp)
#> Warning in AnnoProbe::annoGene(rownames(exp), ID_type = "ENSEMBL", species =
#> species): 6.54% of input IDs are fail to annotate...
exp[1:4,1:4]
#>             TCGA-ZD-A8I3-01A TCGA-W5-AA2U-11A TCGA-W5-AA30-01A TCGA-W5-AA38-01A
#> DDX11L1                    0                0                0                1
#> WASH7P                    81               10              146               55
#> MIR6859-1                  1                0               11                1
#> MIR1302-2HG                0                0                0                0

基因过滤

需要过滤一下那些在很多样本里表达量都为0或者表达量很低的基因。过滤标准不唯一。

过滤之前基因数量:

nrow(exp)
#> [1] 56514
  • 常用过滤标准1

仅去除在所有样本里表达量都为零的基因

exp1 = exp[rowSums(exp)>0,]
nrow(exp1)
#> [1] 48057
  • 常用过滤标准2

仅保留在一半以上样本里表达的基因

exp = exp[apply(exp, 1, function(x) sum(x > 0) > 0.5*ncol(exp)), ]
nrow(exp)
#> [1] 28434

分组信息获取

TCGA的数据,直接用make_tcga_group给样本分组(tumor和normal),其他地方的数据分组方式参考芯片数据pipeline/02_group_ids.R

library(tinyarray)
Group = make_tcga_group(exp)
table(Group)
#> Group
#> normal  tumor 
#>      9     36

保存数据

save(exp,Group,proj,clinical,file = paste0(proj,".Rdata"))

玩转GEO的实用工具

library(tinyarray)
get_count_txt('GSE204753')
##获得超级标准的表达矩阵!!

引用自生信技能树课程,又是爱小洁老师的一天!!

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

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

相关文章

LeetCode_1304.和为零的 N 个不同整数

✨✨所属专栏:LeetCode刷题专栏✨✨ ✨✨作者主页:嶔某✨✨ 题目: 题解: 题目说让我们返回一个由n个各不相同的整数组成的数组,相加为0。 这里的比较好的办法就是类似于 1 2 3 0 -3 -2 -1这样对称的数组。既满足要求…

低代码新时代:6款免费开发平台助你畅行编码之路

本篇文章为您介绍的六款免费又好用的低代码开发平台有:Zoho creator、Baserow、OS.bee、nuBuilder、JHipster、Appian。 一、Zoho creator Zoho Creator是一款国际化的低代码开发平台,有超17年低代码经验。近些年,Zoho Creator以其成本低、国…

第25天:安全开发-PHP应用文件管理包含写入删除下载上传遍历安全

第二十五天 一、PHP文件管理-下载&删除功能实现 1.文件上传: 无过滤机制黑名单过滤机制白名单过滤机制文件类型过滤机制 2.文件删除: unlink() 文件删除函数调用命令删除:system shell_exec exec等 3. 文件下载: 修改HT…

python3--lxml pytoml.core.TomlError expected_equals报错解决

文章目录 一、问题二. 解决方法:三. 参考:四. 总结 一、问题 在ubuntu的armbian上的python3中安装lxml时报错了 安装命令是 pip3 install lxml报错简略信息如下图 File "/usr/share/python-wheels/pytoml-0.1.2-py2.py3-none-any.whl/pytoml/par…

Linux debian gdb dump

1.开发背景 记录 debian 下应用程序崩溃调试方法 2.开发需求 程序越界可以定位到越界的位置附近 3.开发环境 debian 操作系统,如果不支持需要查看是否存在对应的可执行文件 4.实现步骤 4.1 设置 dump 输出大小 ulimit -c unlimited # 设置输出大小 生成core 文…

稀碎从零算法笔记Day56-LeetCode:组合总和 Ⅳ

题型:DP、数组 链接:377. 组合总和 Ⅳ - 力扣(LeetCode) 来源:LeetCode 题目描述 给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的…

Qt中的Qmainwindow和Qwidget区别

Qmainwindow是有菜单栏的,如图 Qwidget是没有菜单栏的,如图

《网络安全-frida初探-付费应用简单逆向》

文章目录 一、目标应用二、分析流程声明文章仅供学习参考,严禁非法使用,如非法使用,而导致的一切后果,由使用者自负 一、目标应用 aHR0cHMlM0EvL3d3dy53YW5kb3VqaWEuY29tL2FwcHMvODI4NjIxMy9oaXN0b3J5X3Y5 二、分析流程 反编译apk查看相关信息 功能使用的通过该处判断的需…

C# 窗体应用程序 Chart控件显示实时曲线

IDE: VS2019 项目模板:C# windows 窗体应用(.NET Framework) 【参考】 B站上教程C#Chart控件画折线图的使用,关于Chart控件的属性,介绍得非常详细。B站上教程C#上位机Chart控件实时曲线终极讲解,对鼠标滚轮事件等,多…

今日arXiv最热NLP大模型论文:浙江大学:蒸一蒸,多Agent变成单一模型,效果更好

“团结就是力量”,面对复杂多变的现实环境,multi-agent应运而生。相较于单打独斗的single-agent,multi-agent集结了多个功能各异的LLM,共同攻克难关。然而,这种协同作战的方式也带来了沉重的推理负担,限制了…

【GDAL-Python】3-在Python中使用GDAL处理数字高程模型DEM

文章目录 1-介绍1.1 主要内容1.2 坡度、坡向、山体阴影 2-代码实现2.1 数据介绍2.2 代码实现2.3 效果显示 3.参考资料3.1 使用richdem库中的TerrainAttribute计算坡度、坡向、山体阴影 1-介绍 1.1 主要内容 (1)教程内容:使用GDAL处理数字高…

20240422,C++文件操作

停电一天之后&#xff0c;今天还有什么理由不学习呜呜……还是没怎么学习 一&#xff0c;文件操作 文件操作可以将数据持久化&#xff0c;对文件操作时须包含头文件<fstream> 两种文件类型&#xff1a;文本文件&#xff1a;文件以文本的ASCII码形式存储&#xff1b;二进…