plink 软件中 --set-missing-var-ids 命令
plink中 --set-missing-var-ids 用于对缺失snpID的snp设定名称
1、测试数据
root@PC1:/home/test# ls outcome.map outcome.ped root@PC1:/home/test# cat outcome.ped DOR 1 0 0 0 -9 G G C C G G G G A G A A G G G C A G A A DOR 2 0 0 0 -9 G G G C G G G G G G A A A G C C A G A A DOR 3 0 0 0 -9 G G C C G G G G G G A A A G G C G G A A DOR 4 0 0 0 -9 G G C C G G G G G G A A G G G G G G A A DOR 5 0 0 0 -9 G G C C G G G G G G A A A G G C G G A A DOR 6 0 0 0 -9 G G C C G G G G G G A A A A C C G G A A root@PC1:/home/test# cat outcome.map ## 一共10个snp, 后5个snpID缺失, 为“.” 1 s64199.1 0 55910 1 OAR19_64675012.1 0 85204 1 OAR19_64715327.1 0 122948 1 OAR19_64803054.1 0 203750 1 DU281551_498.1 0 312707 1 . 0 356863 1 . 0 400518 1 . 0 487423 1 . 0 578716 1 . 0 639876
2、利用 plink --set-missing-var-ids 增加唯一ID ,--set-missing-var-ids后使用@和#
root@PC1:/home/test# plink --file outcome --set-missing-var-ids @:# --recode tab --out result root@PC1:/home/test# ls outcome.map outcome.ped result.log result.map result.nosex result.ped root@PC1:/home/test# cat result.map ## 将第1列和第2列合并为snpID 1 s64199.1 0 55910 1 OAR19_64675012.1 0 85204 1 OAR19_64715327.1 0 122948 1 OAR19_64803054.1 0 203750 1 DU281551_498.1 0 312707 1 1:356863 0 356863 1 1:400518 0 400518 1 1:487423 0 487423 1 1:578716 0 578716 1 1:639876 0 639876
3、可以增加其他修饰
root@PC1:/home/test# plink --file outcome --set-missing-var-ids head@_#end --recode tab --out result2 root@PC1:/home/test# ls outcome.map outcome.ped result2.log result2.map result2.nosex result2.ped result.log result.map result.nosex result.ped root@PC1:/home/test# cat result2.map ## @和#是必须的,其余可选 1 s64199.1 0 55910 1 OAR19_64675012.1 0 85204 1 OAR19_64715327.1 0 122948 1 OAR19_64803054.1 0 203750 1 DU281551_498.1 0 312707 1 head1_356863end 0 356863 1 head1_400518end 0 400518 1 head1_487423end 0 487423 1 head1_578716end 0 578716 1 head1_639876end 0 639876
4、shell实现
(2)
root@PC1:/home/test# cat outcome.map 1 s64199.1 0 55910 1 OAR19_64675012.1 0 85204 1 OAR19_64715327.1 0 122948 1 OAR19_64803054.1 0 203750 1 DU281551_498.1 0 312707 1 . 0 356863 1 . 0 400518 1 . 0 487423 1 . 0 578716 1 . 0 639876 root@PC1:/home/test# awk '{OFS = "\t"}{if($2 ~ /^\./) {print $1, $1":"$4, $3,$4} else {print $0}}' outcome.map 1 s64199.1 0 55910 1 OAR19_64675012.1 0 85204 1 OAR19_64715327.1 0 122948 1 OAR19_64803054.1 0 203750 1 DU281551_498.1 0 312707 1 1:356863 0 356863 1 1:400518 0 400518 1 1:487423 0 487423 1 1:578716 0 578716 1 1:639876 0 639876
(2)、
root@PC1:/home/test# cat outcome.map 1 s64199.1 0 55910 1 OAR19_64675012.1 0 85204 1 OAR19_64715327.1 0 122948 1 OAR19_64803054.1 0 203750 1 DU281551_498.1 0 312707 1 . 0 356863 1 . 0 400518 1 . 0 487423 1 . 0 578716 1 . 0 639876 root@PC1:/home/test# awk '{OFS = "\t"}{if($2 == ".") {print $1, $1":"$4, $3, $4} else {print $0}}' outcome.map 1 s64199.1 0 55910 1 OAR19_64675012.1 0 85204 1 OAR19_64715327.1 0 122948 1 OAR19_64803054.1 0 203750 1 DU281551_498.1 0 312707 1 1:356863 0 356863 1 1:400518 0 400518 1 1:487423 0 487423 1 1:578716 0 578716 1 1:639876 0 639876
5、R实现
dat <- read.table("outcome.map", header = F) dat for (i in 1:nrow(dat)) { ## 利用循环判断实现 if (dat[i,2] == ".") { dat[i,2] = paste(dat[i,1], dat[i,4], sep = ":") } } dat
分类:
生信
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2020-12-14 linux系统中部署vsftpd服务(虚拟用户模式)
2020-12-14 linux系统中部署vsftpd服务(本地用户模式)
2020-12-14 linux系统中安装ifconfig命令