代码:DESeq2包做转录组RNAseq差异分析

2023-10-09 09:20

本文主要是介绍代码:DESeq2包做转录组RNAseq差异分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

教程来自:R语言DESeq2包做转录组RNAseq差异表达分析的一个简单小例子_哔哩哔哩_bilibili

代码:

getwd()
counts<-read.csv("lsm/counts.csv",row.names = 1)head(counts)
dim(mycounts)
counts_1<-counts[rowSums(counts) != 0,]
dim(counts_1)
group<-read.csv("lsm/group.csv",stringsAsFactors = T)
group
colnames(counts_1) == group$id'''
如果没有安装DESeq2,使用如下命令进行安装,
把两个井号去掉
'''
#install.packages("BiocManager")
#BiocManager::install("DESeq2")
library(DESeq2)dds <- DESeqDataSetFromMatrix(countData=counts_1, colData=group, design=~dex)dds <- DESeq(dds)
res <- results(dds)head(res)
class(res)
res_1<-data.frame(res)
class(res_1)
head(res_1)
dim(res_1)
library(dplyr)
res_1 %>% mutate(group = case_when(log2FoldChange >= 1 & pvalue <= 0.05 ~ "UP",log2FoldChange <= -1 & pvalue <= 0.05 ~ "DOWN",TRUE ~ "NOT_CHANGE")) -> res_2table(res_2$group)write.csv(res_2,file="rnaseq/diff_expr_result.csv",quote = F)

制作count.csv时应注意:

1.第一列选取gene_id,不然会有重复项。

2.数据选择read counts,注意不是FPKM。

3.counts列表里的read counts需要为整数。因此在excel种用ROUND函数四舍五入取整。

4.第一列不能有表头

ROUND函数四舍五入取整数
做好的样子

报错有重复项:提示  1.有重复值 2.表头没删除

制作group.vsc

列的顺序要和counts里行的顺序一致

踩坑:

1.报错:Error: unexpected ')' in " )"

跟括号没关系,其实是代码忘加逗号。   

修改前

修改后:

res_1 %>%mutate(group = case_when(log2FoldChange >= 2 & padj <= 0.05 ~ "up",log2FoldChange <= 2 & padj <= 0.05 ~ "down",TRUE ~ "not_change")) -> res_2

遇到跑不通的多跑几次

这篇关于代码:DESeq2包做转录组RNAseq差异分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/171866

相关文章

使用Dify访问mysql数据库详细代码示例

《使用Dify访问mysql数据库详细代码示例》:本文主要介绍使用Dify访问mysql数据库的相关资料,并详细讲解了如何在本地搭建数据库访问服务,使用ngrok暴露到公网,并创建知识库、数据库访... 1、在本地搭建数据库访问的服务,并使用ngrok暴露到公网。#sql_tools.pyfrom

Java springBoot初步使用websocket的代码示例

《JavaspringBoot初步使用websocket的代码示例》:本文主要介绍JavaspringBoot初步使用websocket的相关资料,WebSocket是一种实现实时双向通信的协... 目录一、什么是websocket二、依赖坐标地址1.springBoot父级依赖2.springBoot依赖

讯飞webapi语音识别接口调用示例代码(python)

《讯飞webapi语音识别接口调用示例代码(python)》:本文主要介绍如何使用Python3调用讯飞WebAPI语音识别接口,重点解决了在处理语音识别结果时判断是否为最后一帧的问题,通过运行代... 目录前言一、环境二、引入库三、代码实例四、运行结果五、总结前言基于python3 讯飞webAPI语音

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景

MyBatis-Plus中静态工具Db的多种用法及实例分析

《MyBatis-Plus中静态工具Db的多种用法及实例分析》本文将详细讲解MyBatis-Plus中静态工具Db的各种用法,并结合具体案例进行演示和说明,具有很好的参考价值,希望对大家有所帮助,如有... 目录MyBATis-Plus中静态工具Db的多种用法及实例案例背景使用静态工具Db进行数据库操作插入

什么是 Java 的 CyclicBarrier(代码示例)

《什么是Java的CyclicBarrier(代码示例)》CyclicBarrier是多线程协同的利器,适合需要多次同步的场景,本文通过代码示例讲解什么是Java的CyclicBarrier,感... 你的回答(口语化,面试场景)面试官:什么是 Java 的 CyclicBarrier?你:好的,我来举个例

基于Canvas的Html5多时区动态时钟实战代码

《基于Canvas的Html5多时区动态时钟实战代码》:本文主要介绍了如何使用Canvas在HTML5上实现一个多时区动态时钟的web展示,通过Canvas的API,可以绘制出6个不同城市的时钟,并且这些时钟可以动态转动,每个时钟上都会标注出对应的24小时制时间,详细内容请阅读本文,希望能对你有所帮助...

HTML5 data-*自定义数据属性的示例代码

《HTML5data-*自定义数据属性的示例代码》HTML5的自定义数据属性(data-*)提供了一种标准化的方法在HTML元素上存储额外信息,可以通过JavaScript访问、修改和在CSS中使用... 目录引言基本概念使用自定义数据属性1. 在 html 中定义2. 通过 JavaScript 访问3.

Mysql中InnoDB与MyISAM索引差异详解(最新整理)

《Mysql中InnoDB与MyISAM索引差异详解(最新整理)》InnoDB和MyISAM在索引实现和特性上有差异,包括聚集索引、非聚集索引、事务支持、并发控制、覆盖索引、主键约束、外键支持和物理存... 目录1. 索引类型与数据存储方式InnoDBMyISAM2. 事务与并发控制InnoDBMyISAM

Flutter监听当前页面可见与隐藏状态的代码详解

《Flutter监听当前页面可见与隐藏状态的代码详解》文章介绍了如何在Flutter中使用路由观察者来监听应用进入前台或后台状态以及页面的显示和隐藏,并通过代码示例讲解的非常详细,需要的朋友可以参考下... flutter 可以监听 app 进入前台还是后台状态,也可以监听当http://www.cppcn