GWAS cFDR多效基因实例分析
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"GWAS cFDR多效基因实例分析"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"GWAS cFDR多效基因实例分析"文章能帮助大家解决问题。
千家信息网最后更新 2026年11月02日GWAS cFDR多效基因实例分析
这篇文章主要介绍"GWAS cFDR多效基因实例分析"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"GWAS cFDR多效基因实例分析"文章能帮助大家解决问题。
GWAS cFDR 分析
library(dplyr)library(ggplot2)library(RColorBrewer)#library(GWAScFDR) #library(condFDR)library(cfdr)mycol=c(brewer.pal(7,"Set2"),rev(brewer.pal(8,"Set1")),brewer.pal(8,"Set3"),brewer.pal(12,"Paired"),brewer.pal(8,"Dark2"),brewer.pal(7,"Accent"))stratifiedQQplot = function(p1,p2, xlab=_expression(nominal-log[10]~~(q[expected])), ylab=_expression(empirical-log[10]~~(p[observed])),t="Stratified Q-Q Plot"){ library(ggplot2) #p1 = p1[p1!=0] #p2 = p2[p2!=0] dat = NULL for(cutoff in c(1,0.1,0.01,0.001,0.0001)){ p = p1[p2<=cutoff] x = -log10(seq(from = 0,to = 1,length.out = length(p)+1))[-1] print(max(x)) y = sort(-log10(p),decreasing = T) dat = rbind(dat,data.frame(x=x,y=y,cutoff)) } dat$cutoff = factor(dat$cutoff) p = ggplot(dat,aes(x=x,y=y,fill=cutoff,colour=cutoff)) + geom_line(size=1.2) + geom_abline(intercept=0,slope=1) + labs(title = t) + labs(x = xlab) + labs(y = ylab) + ylim(0,log10(length(p1)))+ scale_fill_manual(values=mycol)+ theme_bw()+ theme( panel.grid=element_blank(), axis.text.x=element_text(colour="black", hjust=1), axis.text.y=element_text(colour="black"), panel.border=element_rect(colour = "black"), legend.key = element_blank(), plot.title = element_text(hjust = 0.5))}######################################################################################setwd("/share/nas1/huangls/project/zx-20210914-383-gwas_cfdr") t1d<-read.table("t1d_gwas_buildGRCh48_pavalue_removedld.tsv",header = F,sep = "\t") fnbmd<-read.table("fn-bmd-gwas_grch48_pvalue_removedld.tsv",header = F,sep="\t") lada<-read.table("lada_gwas_grch48_pvalue_removedld.tsv",header = F,sep="\t") #t1d<-read.table("t1d_gwas_buildGRCh48_pavalue.tsv",header = F,sep = "\t") #fnbmd<-read.table("fn-bmd-gwas_grch48_pvalue.tsv",header = F,sep="\t") #lada<-read.table("lada_gwas_grch48_pvalue.tsv",header = F,sep="\t") colnames(t1d)<-c("chr","pos","ref","alt","t1d.p","variant_id","AF","id") colnames(fnbmd)<-c("chr","pos","fnbmd.p","id") colnames(lada)<-c("chr","pos","lada.p","id") aa=inner_join(t1d,fnbmd,by="id") df<-inner_join(aa,lada,by="id") #df$t1d.p[df$t1d.p==0]=1.5e-300 #df$fnbmd.p[df$fnbmd.p==0]=1.5e-300 #df$lada.p[df$lada.p==0]=1.5e-300 # #cfdr https://annahutch.github.io/fcfdr/articles/t1d_app.html# af=df$AF df$maf=ifelse(af>0.5,1-af,af) df<-df[nchar(df$ref)==1 & nchar(df$alt)==1, ] df<-df[!(df$fnbmd.p==1 | df$lada.p==1 | df$t1d.p==1), ] df=df[,c("chr.x" , "pos.x" , "ref" , "alt" , "id","variant_id","AF", "fnbmd.p" ,"t1d.p" , "lada.p" )] write.table(df,"all.pvalue.tsv",quote = F,row.names = F,sep = "\t") #xx=read.table("all.pvalue.tsv",header = T,sep = "\t") library(RColorBrewer) palette(brewer.pal(8,"Set1"))################################################################## # https://www.biorxiv.org/content/10.1101/2020.12.04.411710v2.full.pdf pp=c(1,0.1,0.01,0.001,0.0001) PP<- c("fnbmd.t1d.cfdr","fnbmd.lada.cfdr") TT<- c("FNBMD|T1D","FNBMD|LADA") dd=NULL for(j in 1:length(PP)){ t=unlist(strsplit(PP[j],"[.]")) # p1=df[,paste0(t[1],".p")] # p2=df[,paste0(t[2],".p")] p1=paste0(t[1],".p") p2=paste0(t[2],".p") ###################QQQQ################################## titl=paste0(toupper(t[1]),"|",toupper(t[2])) p = stratifiedQQplot(df[,p1],df[,p2], ylab =bquote(Nominal~~-log[10](P[.(titl)])) , xlab =bquote(Empirical~~-log[10](q[.(titl)])) , t=titl) png(filename=paste0(t[1],".",t[2],".qq.png"), height=5*300, width=6*300, res=300, units="px") print(p) dev.off() pdf(file=paste0(t[1],".",t[2],".qq.pdf"), height=5, width=6) print(p) dev.off() titl=paste0(toupper(t[2]),"|",toupper(t[1])) p = stratifiedQQplot(df[,p2],df[,p1], ylab =bquote(Nominal~~-log[10](P[.(titl)])) , xlab =bquote(Empirical~~-log[10](q[.(titl)])) , t=titl) png(filename=paste0(t[2],".",t[1],".qq.png"), height=5*300, width=6*300, res=300, units="px") print(p) dev.off() pdf(file=paste0(t[2],".",t[1],".qq.pdf"), height=5, width=6) print(p) dev.off()###########################cFDR########################################## cf1=cfdr::cfdr(df[,p1],df[,p2]) cf2=cfdr::cfdr(df[,p2],df[,p1]) #cf1=GWAScFDR::cFDR(df[,p1],df[,p2]) #cf2=GWAScFDR::cFDR(df[,p2],df[,p1]) cf=data.frame(cFDR1=cf1,cFDR2=cf2) cf$ccFDR=apply(cf, 1, max) #ccf=condFDR::ccFDR(df,p1,p2,p_threshold = 0.1,mc.cores = 8) res=data.frame(df,cf) res=plyr::rename(res,c("cFDR1"=paste0(toupper(t[1]),"|",toupper(t[2]),".cFDR"),"cFDR2"=paste0(toupper(t[2]),"|",toupper(t[1]),".cFDR"),"ccFDR"=paste0(toupper(t[1]),"|",toupper(t[2]),".ccFDR"))) write.table(res,paste0(t[1],".",t[2],".cfdr.all.res.tsv"),quote = F,row.names = F,sep = "\t") }# merge all data fnbmd.lada=read.table("fnbmd.lada.cfdr.all.res.tsv",head=T,sep="\t",check.names = F) fnbmd.t1d=read.table("fnbmd.t1d.cfdr.all.res.tsv",head=T,sep="\t",check.names = F) fnbmd.t1d=fnbmd.t1d[,c("id","FNBMD|T1D.cFDR", "T1D|FNBMD.cFDR", "FNBMD|T1D.ccFDR")] fnbmd.cfdr.res=inner_join(fnbmd.lada,fnbmd.t1d,by="id",check.names = F) head(fnbmd.cfdr.res)write.table(fnbmd.cfdr.res,"cfdr.all.res.tsv",quote = F,row.names = F,sep = "\t")#做ANNOVAR注释之后合并aa=read.table("cfdr.hg38_multianno.txt",head=T,sep="\t",check.names = F)bb=read.table("cfdr.all.res.tsv",head=T,sep="\t",check.names = F) aa$id=paste(aa$Chr,aa$Start,sep = "-")aa=aa[,c("id","avsnp150","Func.refGene" , "Gene.refGene" , "GeneDetail.refGene", "ExonicFunc.refGene", "AAChange.refGene", "cytoBand")]cfdr.ann=inner_join(bb,aa,by="id",check.names = F)write.table(cfdr.ann,"cfdr.all.anno.res.tsv",quote = F,row.names = F,sep = "\t")ANNOVAR注释:
perl /share/work/biosoft/annovar/2019Oct24/table_annovar.pl \ --buildver hg38 \ --outfile cfdr \ --remove \ --protocol refGene,cytoBand,avsnp150\ --operation g,r,f \ --nastring . \ cfdr.var.ann.avinput /share/work/database/ref/Homo_sapiens/humandb/hg38/
关于"GWAS cFDR多效基因实例分析"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
分析
基因
实例
实例分析
知识
注释
行业
不同
实用
内容
实用性
实际
文章
方法
更多
案例
知识点
篇文章
资讯
资讯频道
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技有限公司经营范围
互联网巨头反垄断金融科技
深圳互联网科技公司
互联网科技英文
礼当家互联网科技
艾特科技互联网
智慧科技互联网
互联网 新科技
互联网金融和金融科技
互联网科技有限公司 翻译
丰台科技园 互联网公司
深圳前海聚择互联网科技有限公司
中国互联网有什么科技含量
南山科技园互联网公司有哪些
互联网和黑科技的看法
互联网在线教育科技创业
长沙互联网科技
众安科技工业互联网合作
富国互联网科技002692
宇信科技在杭州互联网排第几
互联网科技公司电话
沃里互联网科技
佰商互联网科技有限公司
互联网金融科技委员会
哈尔滨秒房互联网科技有限公司
宁波青枫互联网科技有限公司
辽宁互联网新科技
张召忠谈中国互联网科技
陕西云淼互联网科技公司
互联网科技博主张洲