用户工具

站点工具


个性化条目:环境因子分析

环境因子分析

目的: 研究环境因子与物种的关联分析:通过计算环境变量与所选物种(或基因、功能等)之间的相关性(Spearman相关系数等),将获得的数值矩阵通过Heatmap图直观展示 pval 通过BH 矫正为padj
输入文件: 环境因子文件 与物种信息文件

方法: 1.相关系数计算方法: corr=corr.test(tax, environment, method = “spearman”,adjust=“BH”) 2.画图:pheatmap,heatmap2

脚本:/TJPROJ6/RNA_SH/script_dir/sperman.R

#!/TJPROJ6/RNA_SH/personal_dir/zhangxin/miniconda/envs/R_3.6.0/bin/Rscript
#!/TJPROJ1/RNA_R/software/R/R-3.6.0/bin/Rscript
suppressMessages({
library(argparser)
library("gplots")
library("pheatmap")
library("psych")})

argv <- arg_parser('')
argv <- add_argument(argv,"--tax", help="the abundance of tax")
argv <- add_argument(argv,"--env", help="the environment  file")
argv <- add_argument(argv,"--method", help="the D/R/C/N")
argv <- add_argument(argv,"--prefix", help="the prefix of outfile")

argv <- parse_args(argv)

tax <- argv$tax
env <- argv$env
prefix <- argv$prefix
method<- argv$method

if(method == "D"){
        rows_cluster = T
        cols_cluster = T
        dendrogram="both"
}else if (method == "R"){
        rows_cluster = T
        cols_cluster = F
	dendrogram="row"
}else if (method == "C"){
        rows_cluster = F
        cols_cluster = T
	dendrogram="col"
}else if (method == "N"){
        rows_cluster = F
        cols_cluster = F
	dendrogram="none"
}

tax=read.delim(tax, header=T, check.names=FALSE,row.names=1,sep="\t")
environment=read.delim(env, header=T, check.names=FALSE,row.names=1,sep="\t")

#===============cor================
corr=corr.test(tax, environment, method = "spearman",adjust="BH")
rcorr=corr$r
if(length(rcorr)<=10){
        cell_widths=36
        cell_width=34
}else{
        cell_widths=floor(360/length(rcorr[1,]))
        cell_width=floor(300/length(rcorr[1,]))
}

pcorr=corr$p
#物种与环境因子的相关性及其p值进行作图
#接下来将p值用显著性符号表示
sigcor=pcorr
sigcor[which(sigcor<0.001)]="***"
sigcor[which(sigcor>=0.001&sigcor<0.01)]="**"
sigcor[which(sigcor>=0.01&sigcor<0.05)]="*"
sigcor[which(sigcor>=0.05&sigcor<0.1)]="."
sigcor[which(sigcor>=0.1)]=" "
#其中which也可以省略:sigcor[sigcor<0.001]="***"
pdf(paste(prefix,'_pheatmap_sperman.pdf',sep=''),)
pheatmap(rcorr, cluster_rows = rows_cluster ,cluster_cols=cols_cluster,scale="none",legend=T,display_numbers =sigcor,show_rownames=TRUE, fontsize_number = 20)
dev.off()
png(paste(prefix,'.pheatmap_sperman.png',sep=''),type='cairo-png')
pheatmap(rcorr, cluster_rows = rows_cluster ,cluster_cols=cols_cluster,scale="none",legend=T,display_numbers =sigcor,show_rownames=TRUE, fontsize_number = 20)
dev.off()
pdf(paste(prefix,'_heatmap2_sperman.pdf',sep=''),)
heatmap.2(rcorr, col=colorRampPalette(rev(c("red","yellow","blue")))(75), srtCol=35, trace="none", key.title=NA,
          dendrogram=dendrogram, cexRow=1.2, cexCol=1.2, keysize=0.9, key.ylab=NA,
          margins=c(8, 15),key.xlab="Correlation",offsetRow=-0.1, offsetCol=-0.1,
          cellnote=sigcor,notecol='black',notecex=2,density.info="none")
dev.off()
png(paste(prefix,'.heatmap2_sperman.png',sep=''),type='cairo-png')
heatmap.2(rcorr, col=colorRampPalette(rev(c("red","yellow","blue")))(75), srtCol=35, trace="none", key.title=NA,
          dendrogram=dendrogram, cexRow=1.2, cexCol=1.2, keysize=0.9, key.ylab=NA,
          margins=c(8, 15),key.xlab="Correlation",offsetRow=-0.1, offsetCol=-0.1,
          cellnote=sigcor,notecol='black',notecex=2,density.info="none")
dev.off()

结果:

一.星号说明 padj<0.001=“*” padj>=0.001&padj<0.01=“” padj>=0.01&padj<0.05=“*” padj>=0.05&padj<0.1=“.” padj>=0.1 =“ ” 二.图片横坐标为 环境因子,纵坐标为物种

个性化条目/环境因子分析.txt · 最后更改: 2023/03/16 08:31 由 fengjie