rnaseq_dongfeng_overlapABC_heatmap

2023-10-09 09:20

本文主要是介绍rnaseq_dongfeng_overlapABC_heatmap,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

提要:
本次实验给了我三个样品ABC,其中A是单端测序仅有一个文件,B,C为双端测序,有两个文件。给我的数据都是clean data,因此我没有进行质控,直接从STAR比对开始,然后利用了rsem进行转录本定量。利用DEseq2进行差异表达分析。其中分组为B相对与A上调的基因为upAB,B相对于C上调的基因为upBC。分别找到两组上调基因后去overlap共同的基因,然后将这些overlap到的基因做个火山图。

寻找上调差异基因

** 设计一个sampleAB,BC.txt的文件 **
在这里插入图片描述
** 以及一个gene_trans.txt文件 **

awk '{print $1,"\t"$2}' *.isoforms.results > gene_trans.txt

在这里插入图片描述
** 寻找差异基因**

setwd("F:/rnaseq/dongfeng/2021_8_16/data2")
library(DESeq2)
library(ggplot2)
library(clusterProfiler)
library(ggrepel)
library(org.Hs.eg.db)
library(tidyverse)
library(apeglm)
library(tximport)
library(stringr)sampleAB<-read.table("sampleAB.txt",sep = "\t",header = T)
sampleAB$condition <- factor(c(rep("control", 1), rep("treatment", 2)), levels = c("control","treatment"))
sampleBC<-read.table("sampleBC.txt",sep = "\t",header = T)
sampleBC$condition <- factor(c(rep("control", 2), rep("treatment", 2)), levels = c("control","treatment"))rownames(sampleAB)<-sampleAB$sample
rownames(sampleBC)<-sampleBC$sample
files <- paste(sampleAB$sample,".genes.results",sep="")
files
filesBC <- paste(sampleBC$sample,".genes.results",sep="")
filesBCtxi<-tximport(files,type="rsem",tx2gene=tx2gene)
txi$length[txi$length == 0] <- 1
txiBC<-tximport(filesBC,type="rsem",tx2gene=tx2gene)
txiBC$length[txiBC$length == 0] <- 1ddsTxi<-DESeqDataSetFromTximport(txi,colData = sampleAB,design = ~condition)
ddsTxi <- DESeq(ddsTxi)
ddsTxiBC<-DESeqDataSetFromTximport(txiBC,colData = sampleBC,design = ~condition)
ddsTxiBC <- DESeq(ddsTxiBC)resTxi <- results(ddsTxi,contrast = c("condition","control","treatment"))
resTxi <- lfcShrink(ddsTxi,coef="condition_treatment_vs_control", type="apeglm")
resTxiBC <- results(ddsTxiBC,contrast = c("condition","control","treatment"))
resTxiBC <- lfcShrink(ddsTxiBC,coef="condition_treatment_vs_control", type="apeglm")resTxi <- subset(resTxi, padj < 0.05 & abs(log2FoldChange) > 1)
resTxi <- resTxi[order(abs(resTxi$log2FoldChange),decreasing = TRUE),]
write.csv(resTxi,file = "DESeqAB2-Txi.csv")
resTxiBC <- subset(resTxiBC, padj < 0.05 & abs(log2FoldChange) > 1)
resTxiBC <- resTxiBC[order(abs(resTxiBC$log2FoldChange),decreasing = TRUE),]
write.csv(resTxiBC,file = "DESeqBC2-Txi.csv")resSigUpAB <- subset(resTxi, padj < 0.05 & log2FoldChange >1 )
write.csv(resSigUpAB,file = "resSigUpAB.csv")
resSigUpBC <- subset(resTxiBC, padj < 0.05 & log2FoldChange >1 )
write.csv(resSigUpBC,file = "resSigUpBC.csv")
#↑ 找的是log2FoldChange >1的上调的基因#↓  由于resSigUpAB的第一列是ENSEMBL ID,但是没有行名,因此加上个行名"gene_id",另存文件为resSigUpABid.csv
ABup<- read.csv("resSigUpABid.csv",header = T)
View(ABup)#该数据中ENSEMBL id存在小数,有小数是不能转SYMBOL等id的,因此先去掉小数。
ABup$gene_id=unlist(str_split(ABup$gene_id,"[.]",simplify=T))[,1]
symbolidABUP = bitr(ABup$gene_id,fromType="ENSEMBL",toType="SYMBOL",OrgDb="org.Hs.eg.db")
write.csv(symbolidABUP,file = "symbolidABUP.csv")
BCup<- read.csv("resSigUpBCid.csv",header = T)
BCup$gene_id=unlist(str_split(BCup$gene_id,"[.]",simplify=T))[,1]
symbolidBCUP = bitr(BCup$gene_id,fromType="ENSEMBL",toType="SYMBOL",OrgDb="org.Hs.eg.db")
write.csv(symbolidBCUP,file = "symbolidBCUP.csv")#此处,从A.genes.results文件复制内容到excel中,并筛选出后面要做heatmap的数据,如TPM,FPKM,COUNT等,!!!一定要留下ENSEMBL号,方便merge
Acount<- read.csv("Acount.csv",header = T)
Acount$gene_id=unlist(str_split(Acount$gene_id,"[.]",simplify=T))[,1]
write.csv(Acount,file = "Acountid.csv")
Bcount<- read.csv("Bcount.csv",header = T)
Bcount$gene_id=unlist(str_split(Bcount$gene_id,"[.]",simplify=T))[,1]
write.csv(Bcount,file = "Bcountid.csv")
Ccount<- read.csv("Ccount.csv",header = T)
Ccount$gene_id=unlist(str_split(Ccount$gene_id,"[.]",simplify=T))[,1]
write.csv(Ccount,file = "Ccountid.csv")

然后去找overlap。###

将得到的在这里插入图片描述文件上传到服务器上进行overlap

sort symbolidABUP.csv symbolidBCUP.csv | uniq -d > overlapAB_BC.csv 

即可得到overlapAB_BC.csv文件

heatmap数据准备

# 将最后需要合并的去做heatmap的文件添加到另一个文件夹下,方便读取。
setwd("F:/rnaseq/dongfeng/2021_8_16/data2/heatmap")
library(dplyr)
A <- read.csv("Acountid.csv",header = F)
B <- read.csv("Bcountid.csv",header = F)
C <- read.csv("Ccountid.csv",header = F)
OVER <- read.csv("overlapAB_BC.csv",header = F)
OVERA <- left_join(OVER, A, by ='V1')
OVERAB <- left_join(OVERA, B, by ='V1')
OVERABC <- left_join(OVERAB, C, by ='V1')

画图

BiocManager::install("gplots")
install.packages("pheatmap")
library(gplots)
library(pheatmap)
heatABC <- read.csv("OVERABC.csv",header = T)
data <- read.csv("OVERABC.csv", header = T, row.names = 1)
#pheatmap(as.matrix(data), scale='row', border_color=NA, width=9, height=50, fontsize=9, fontsize_row=10,cluster_col=F, filename="heatmap2.pdf" )
pheatmap(data, scale='row', border_color=NA, width=5, height=50, fontsize=20, fontsize_row=20,cluster_col=F, filename="heatmap4.pdf" )

这篇关于rnaseq_dongfeng_overlapABC_heatmap的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

基于HTML5实现的Heatmap热图3D应用

Heatmap热图通过众多数据点信息,汇聚成直观可视化颜色效果,热图已广泛被应用于气象预报、医疗成像、机房温度监控等行业,甚至应用于竞技体育领域的数据分析。 已有众多文章分享了生成Heatmap热图原理,可参考《How to make heat maps》和《How to make heat maps in Flex》,本文将介绍基于HTML5技术的实现方式,主要基于Cavans和We

三十七、openlayers官网示例Earthquakes Heatmap解析——在地图上加载热力图

官网demo地址: Earthquakes Heatmap  这篇主要介绍了热力图HeatmapLayer HeatmapLayer 是一个用于在地图上显示热力图的图层类型,通常用于表示地理数据中的密度或强度。例如,它可以用来显示地震、人口密度或其他空间数据的热点区域。在这个示例中,HeatmapLayer 被用来显示从 KML 文件中提取的地震数据。  const vecto

生物信息学入门 使用 RNAseq counts数据进行差异表达分析(DEG)——edgeR 算法 数据 代码 结果解读

差异表达分析通常作为根据基因表达矩阵进行生物信息学分析的第一步,有助于我们观察基因在不同样本中的表达差异,从而确定要研究的基因和表型之间的联系。常用的基因表达数据来自基因芯片或高通量测序。虽然矩阵看起来差不多,但是由于服从不同的分布,因此在进行差异表达的时候需要用不同的方法。对于一般的生命科学领域科研人员来说,了解晦涩的算法并没有太大价值。本文力求精简,从数据——算法——结果三个方面

基于SpringBoot和HeatMap的全球地震热力图可视化实践

目录 前言 一、关于热力图 1、HeatMap简介 2、属性和方法介绍 二、全球地震热力图反演 1、地震信息查询开发  2、前端地图开发 三、地震带反演成果 1、三大地震带反演 2、地震区域分析 总结 前言         众所周知,全球的地震带主要可以分为三处地震带——环太平洋地震带、欧亚地震带、海岭地震带。地震带基本上在板块交界处。第一个是环太平洋地震

【画热力图heatmap】

## 可视化import seaborn as snsimport matplotlib.pyplot as pltsns.set()ax = sns.heatmap(out_shot, center=2000)plt.title('title')plt.

seaborn heatmap绘制热力图cmap参数的含义

https://blog.csdn.net/linzhjbtx/article/details/85319554

seaborn heatmap热力图用法

https://blog.csdn.net/u011240016/article/details/83756548

matplotlib中sns.heatmap绘制热力图最上面一行和最下面一行都只显示一半

matplotlib中sns.heatmap绘制热力图最上面一行和最下面一行都只显示一半 像这样 原因:据说是所用版本matplotlib的bug 解决方法: 1、更改matplotlib版本 2、 ax = sns.heatmap(...);bottom, top = ax.get_ylim()ax.set_ylim(bottom + 0.5, top - 0.5)

Vue项目使用leaflet+heatmap.js加载热力图

概述 最近做数字工程实践涉及到大量的地图操作,刚开始跳过依赖于supermap iclient for JavaScript,但是越做深入越发现局限性太大,于是开始考虑使用开源地图库做各项操作,本文记录在vue项目中引入原生leaflet及heatmap打开地图及显示热力图的各项操作。 各项操作 leaflet打开地图 第一步:下载leaflet Leaflet官网下载即可 第

HEMlets Pose: Learning Part-Centric Heatmap Triplets for Accurate 3D Human Pose Estimation,ICCV 2019

摘要:提出部件-中心-热图 三元组,构建空间体积,再用积分的方式实现端到端训练。 介绍:三个挑战(1)从图像推到3D pose的歧义性问题(2)针对回归问题,已有的方法,没有很好的平衡,人体表示与学习效率的关系(3)室外场景训练数据匮乏。 本文的提出的部件-中心热图三元组,将人体部件周围的体积空间极化,每个部件有两个关节点连接。其实,就是简单的一个2D heatmap的一张热图变成三张热图。