news 2026/6/1 8:33:23

使用geneHapR做单倍型分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用geneHapR做单倍型分析

1、以hmp文件为例

chr1_hmp<- read.delim("data/Haplotype/chr1.hmp.txt", check.names=F, header=T)chr1_hmp<- chr1_hmp[,-c(1,5:11)]# 去掉无用的列chr1_hmp_df<- chr1_hmp %>% tidyr::separate(alleles, into=c("REF","Alt"), sep="/")# 将alleles拆分为REF、ALT列chr1_hmp_df<- data.frame(CHR=chr1_hmp_df$chrom, POS=chr1_hmp_df$pos, REF=chr1_hmp_df$REF, Alt=chr1_hmp_df$Alt, INFO="NA", chr1_hmp_df[,-c(1:4)])# 创建新的数据框hap_data<- chr1_hmp_df %>% dplyr::filter(CHR=="1", POS<=20000&POS>=1)# 取一定范围内的数据# 从表格形式的基因型数据开始单倍型分析hapResult<- table2hap(hap_data, hapPrefix="Hap", hetero_remove=TRUE,# 移除包含杂合位点的样本na_drop=TRUE)# 移除包含基因型缺失的样本hapSummary<- hap_summary(hapResult, hapPrefix="Hap")# 官方可视化热图plotHapTable(hapSummary,# 单倍型结果hapPrefix="Hap",# 单倍型名称前缀angle=45,# 物理位置的角度displayIndelSize=0,# 图中展示最大的Indel大小title="Haplotype", ALLELE.color="white")

# 自定义热图hapSummary_df<- hapSummary[c(5:nrow(hapSummary)),]%>% dplyr::select(-c("Accession"))heatmap_data<- hapSummary_df %>%# 创建副本,保留原始频率as_tibble()%>% mutate(row_id=row_number())%>%# 转换为长格式pivot_longer(cols=-c(Hap, freq, row_id),# 排除这些列names_to="position_name",# 原始列名values_to="allele"# 等位基因)%>%# 从列名中提取位置信息mutate(# 提取位置数字(假设列名是pos1, pos2, pos3或类似格式)position=as.numeric(gsub("\\D+","", position_name)),# 提取数字# 如果列名没有数字,则使用列索引position=ifelse(is.na(position), as.numeric(factor(position_name, levels=unique(position_name))), position), hap=Hap)%>%# 排序和选择arrange(desc(freq), hap, position)%>% select(hap, position, allele, freq)%>% ungroup()# 创建热图p3<- ggplot(heatmap_data, aes(x=factor(position), y=reorder(hap, freq), fill=allele))+ geom_tile(color="white", size=0.8, width=0.9, height=0.9)+ geom_text(aes(label=allele), color="white", fontface="bold", size=4)+ scale_fill_brewer(palette="Set1")+ scale_y_discrete(labels=function(x){# 在y轴标签上添加频率freq_values<- heatmap_data %>% distinct(hap, freq)%>% arrange(desc(freq))%>% pull(freq)paste0(x," (", sprintf("%s", freq_values),")")})+ labs(title="Haplotype heatmap",#subtitle = "Visualization of alleles at each polymorphic site",x="Variant Position", y=NULL, fill="Allele")+ theme_minimal(base_size=12)+ theme(axis.text.x=element_text(face="bold", angle=45, color="black"), axis.text.y=element_text(face="bold", color="black"), panel.grid=element_blank(), legend.position="bottom", plot.title=element_text(face="bold", hjust=0.5), plot.subtitle=element_text(hjust=0.5, color="black"))+ guides(fill=guide_legend(nrow=1, byrow=TRUE))print(p3)

# LD heatmapolor.rgb<- colorRampPalette(rev(c("white","red")),space="rgb")assign("name_gap",0.2, envir=.GlobalEnv)p<- plot_LDheatmap(hap=hapResult,# 单倍型结果add.map=FALSE,# 是否添加基因模式图gff=NULL,# 注释信息Chr=NULL,# 染色体名称start=NULL,# 基因的起始位置end=NULL, title=NULL, color=olor.rgb(20), newpage=F)LDheatmap::LDheatmap(gdat=p, title=NULL, text=FALSE,# 单元格不显示数字SNP.name=F)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/28 15:51:01

中国大模型暗战:阿里通义2.0的伦理后门测试报告

一、行业背景与测试必要性 随着国产大模型进入“千模大战”白热化阶段&#xff0c;阿里通义2.0凭借多模态能力跃居第一梯队。据工信部《2025大模型安全白皮书》显示&#xff1a; 头部模型参数年均增长400%&#xff0c;伦理漏洞触发率同比上升220% 后门攻击成本下降至$5000&am…

作者头像 李华
网站建设 2026/5/29 1:12:08

告别“救火式”维修:物联工业网关构建智慧运维新模式

场景痛点&#xff1a;在传统的制造企业中&#xff0c;设备维护往往依赖于人工巡检、定期保养和故障后的紧急抢修。这种“救火式”的维修方式不仅效率低下、成本高昂&#xff0c;更可能导致非计划停机&#xff0c;造成巨大的生产损失。随着人力成本越发高昂以及高效率的生产要求…

作者头像 李华
网站建设 2026/5/28 12:57:56

OpenAI 儿童剥削报告激增与AI内容审核技术

根据该机构近期的一份更新&#xff0c;在2025年上半年&#xff0c;其向国家失踪与受虐儿童中心&#xff08;NCMEC&#xff09;提交的儿童剥削事件报告数量&#xff0c;是2024年同期类似时间段的80倍。NCMEC的网络举报热线是一个国会授权的信息交换中心&#xff0c;用于报告儿童…

作者头像 李华