20200412 转录组分析--斑马鱼线粒体(二)

#FeatureCounts

for ele in {MT1,MT2,MT3,WT1,WT2,WT3}; do featureCounts -p -T 6 -t exon -g gene_id -a Danio_rerio_Ensemble_97.gtf -o ./count/counts$ele.txt ./bam/M_H_$ele.bam; done ###每个文件进行counts

featureCounts -p -T 6 -t exon -g gene_id -a Danio_rerio_Ensemble_97.gtf -o ./count/counts_all.txt ./bam/M_H_*.bam ###所有输入文件汇成一个txt

featureCounts -T 24 -p -a ~/data/genome/Rat6.0.99.gtf -o ~/1data/07count/count_all.txt ~/1data/06sort/sorted*.bam 1

-a 注释文件,也就是GTF或者GFF文件,通过这个文件才能区分出哪些区域为外显子; -o 输出结果文件,同样会输出一个以该名字结尾的.summary统计文件; -F 指定输入注释文件类型,包括GTF,GFF,SAF等; -t 指定注释文件中功能类型,默认外显子exon -g 指定注释文件中属性信息,默认为gene_id -A 如果基因组与注释文件中染色体ID不同,可以通过-A指定一个别名文件,例如有些基因组直接用数字表示染色体号,有些使用chr前缀; -f 计算级别,以基因还是外显子为单位进行计算; -M 如何处理多重比对reads -Q 比对质量值阈值,小于此值的reads不用于计算; -G 参考序列

最后的到数据有,countData表示的是count矩阵,行代表gene,列代表样品,中间的数字代表对应count数。


ZUI

安装DESeq2包    start R (version "3.6") and enter

> if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager")  

> BiocManager::install("DESeq2")

y

一个个包安装

data1<-read.table("counts_all.txt")### txt格式读取数据。。。mycounts<-read.csv("readcount.csv")##csv格式读取

dim(data1)###查看行数列数   >head(data1) ##前六行数据

>mycounts<-data1[,-(2:6)] ##先去掉第2-6列        

> write.csv(mycounts, "results2.csv",row.names=FALSE) #重新写入csv格式中,去除行名,并将行名改为M_H_MT1等,删除第一行数据。###

> mycounts<-read.csv("results2.csv") #重新读入数据

> rownames(mycounts)<-mycounts[,1] ###第一列设为行名 

> mycounts<-mycounts[,-1]  ##去掉第1列    

> head(mycounts)


手动去除第一行,就不需要下面的2行命令

> colnames(mycounts)<-mycounts[1,]

> mycounts<-mycounts[-1,]

###注意control要放在前面####

> condition <- factor(c(rep("M_H_MT",3),rep("M_H_WT",3)), levels = c("M_H_MT","M_H_WT"))    ##设置对照组,实验组

> condition

[1] M_H_WT M_H_WT M_H_WT M_H_MT M_H_MT M_H_MT Levels: M_H_WT M_H_MT

>colData <- data.frame(row.names=colnames(mycounts),condition) #####colData也可以自己在excel做好另存为.csv格式,再导入即可

> colData


condition M_H_MT1 M_H_MT M_H_MT2 M_H_MT M_H_MT3 M_H_MT M_H_WT1 M_H_WT M_H_WT2 M_H_WT M_H_WT3 M_H_WT

构建dds对象,开始DESeq流程 注释:dds=DESeqDataSet Object

> dds <- DESeqDataSetFromMatrix(mycounts, colData, design= ~ condition)   

> dds <- DESeq(dds)  

> dds   # 查看一下dds的内容

接下来,我们要查看treat versus control的总体结果,并根据p-value进行重新排序。利用summary命令统计显示一共多少个genes上调和下调(FDR0.1)
>  res= results(dds)         

> res = res[order(res$pvalue),]      .

> head(res)      

> summary(res)           #所有结果先进行输出 > write.csv(res,file="All_results.csv")

> table(res$padj<0.05)


可见,一共93个genes上调,94个genes下调,有离群值19。padj小于0.05的共有156个


4 提取差异表达genes(DEGs)并进行gene symbol注释

差异表达基因的界定很不统一,但log2FC是用的最广泛同时也是最不精确的方式,但因为其好理解所以广泛被应用尤其芯片数据处理中,记的是havard universit做过一个统计,FC=2相对比较可靠。但无论怎么,这种界定人为因素太大,过于武断。所以GSEA,WGCNA是拿全部表达数据(可以进行初步过滤)来进行分析,并且WGCNA采取软阈值的方式来挑选genes更加合理。既然挑选差异表达基因,还是采取log2FC和padj来进行。 获取padj(p值经过多重校验校正后的值)小于0.05,表达倍数取以2为对数后大于1或者小于-1的差异表达基因。

获取padj(p值经过多重校验校正后的值)小于0.05,表达倍数取以2为对数后大于1或者小于-1的差异表达基因。代码如下

> diff_gene_deseq2 <-subset(res, padj < 0.05 & abs(log2FoldChange) > 1)                      #或 #

> diff_gene_deseq2 <-subset(res,padj < 0.05 & (log2FoldChange > 1 | log2FoldChange < -1))                           

> dim(diff_gene_deseq2)                                  

> head(diff_gene_deseq2)                             

> write.csv(diff_gene_deseq2,file= "DEG_MT_vs_WT.csv")


5 用bioMart对差异表达基因进行注释

和RNA-seq(6): reads计数,合并矩阵并进行注释代码一样

> library("biomaRt")        

> zebrafish<- useMart("ensembl", dataset = "drerio_gene_ensembl")                          

> my_ensembl_gene_id<-row.names(diff_gene_deseq2)

> mms_symbols<- getBM(attributes=c('ensembl_gene_id','external_gene_name',"description"), filters = 'ensembl_gene_id', values = my_ensembl_gene_id, mart = zebrafish)                                         

> > head(mms_symbols)



5合并数据:res结果+mms_symbols合并成一个文件

合并的话两个数据必须有共同的列名,我们先看一下

可见,diff_gene_deseq2,mms_symbols两个文件没有共同的列名,所以要先给'diff_gene_deseq2'添加一个‘ensembl_gene_id’的列名,方法如下:(应该有更简便的方法)

> ensembl_gene_id<-rownames(diff_gene_deseq2)                        

 > diff_gene_deseq2<-cbind(ensembl_gene_id,diff_gene_deseq2)                             

> colnames(diff_gene_deseq2)[1]<-c("ensembl_gene_id")    ##添加到第一列                               

> diff_name<-merge(diff_gene_deseq2,mms_symbols,by="ensembl_gene_id")         ### 两个表根据共同列合并                              

>head(diff_name)                            #查看mtpap的情况

mtpap <- diff_name[diff_name$external_gene_name=="mtpap",]

参考文章:https://www.jianshu.com/p/3a0e1e3e41d0 

https://www.jianshu.com/u/51a71446d509  Y大宽

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容