BLUPF90基因型文件

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


BLUPF90基因型文件

前言

我们在使用BLUPF90软件进行遗传评估时(GBLUP、ssGBLUP),有时会需要准备基因型文件如snp.ped、snp.map,本文介绍两个制作blupf90所需基因文件的方法。


一、blupf90所需基因文件

注:blupf90中文件的分隔符必须为空格

查阅说明书:

1.OPTION SNP_file(snp-make.file)

BLUPF90 仅接受按照以下规则准备的标记文件。

• 标记文件是包含2 列的固定宽度格式的文本文件。

• 第一列包含动物的ID。 (BLUPF90 实际上跳过此列,因此您可以在此处放置任何信息。) • 第二列包含动物的基因型。它有 4 个可能的值:0(纯合子)、1(杂合子)、2(替代纯合子)和 5(缺失或未知)。

• 所有第二列必须以一行中的固定位置开始。在上面的示例中,第二列始终从第 9 个字符开始。

• 每只基因分型动物必须具有相同数量的标记。

• 不得在两个相邻基因型之间插入空格。

• 不必按个体ID 对标记文件进行排序。
snp.file

2.OPTION map_file(map file )

map文件将标记与染色体、物理位置和SNP名字相关联。仅当使用 ssGBLUP 进行全面质量控制和 GWAS 时才需要此文件。该文件应包含至少 3 个字段,并至少用 1 个空格分隔。第四列是可选的,它包含标记的名称。这里我们展示一个示例(在本例中包括第四个字段)。此处仅显示前 3 行。

• 前3 个字段应包含整数值:第一个是标记编号,第二个指定染色体编号,第三个表示染色体上的物理位置。标记编号只是一个整数,不一定是相关的,用于外部数据操作,程序实际上并不使用它。

• 性染色体(X) 可以存在,但它也应该是一个整数值。 X染色体的编码默认为0。

• 第 4 列(可选)可以包含任何字母、数字和符号(可能是 ASCII),最多 50 个字符。
注:map文件需要行头,即SNP_ID CHR POS,具体如下图
在这里插入图片描述

二、snp文件的两种制作方法

2.1 使用R包blupADC

非常方便!!!

2.1.1安装R包

blupADC作者网站:https://qsmei.netlify.app/zh/post/
blupADC安装教程参考:1、https://github.com/TXiang-lab/blupADC
2、https://zhuanlan.zhihu.com/p/409430029

这里只介绍一种:Rstudio中键入:
(1)安装依赖包和devtools

install.packages(c("Rcpp", "RcppArmadillo","RcppProgress","data.table","bigmemory","R6"))
if (!require(devtools)) install.packages("devtools")#if devtools not already installed

(2)devtools安装blupADC

devtools::install_github("TXiang-lab/blupADC")

2.1.2 使用R包

blupADC中支持多种格式文件,详细功能和参数参考作者网站:https://qsmei.netlify.app/zh/post/blupadc/
(注:基因型文件较小,SNP位点相对较少时使用R包blupADC。例如:芯片数据,低深度测序)

library(blupADC) #加载R包

phased_result=geno_format(
         input_data_path="D:/Data/WZY/ssgwas",      # 输入文件路径
    	 input_data_name="YN_zk",        # 以ped、map数据为例,只需要文件名前缀
         input_data_type="Plink",        # 输入数据类型(可以有VCF、haplotype等
    	 output_data_type="BLUPF90",     # 输出文件类型blupf90所需格式
         output_data_name="adc",         # 输出文件的名字
         output_data_path="D:/Data/WZY/ssgwas",  #输出文件路径
         return_result=TRUE,             # 将结果保存为R环境变量
         cpu_cores=1                     # 使用cpu的核心数 
                  )

文件名
在这里插入图片描述
map文件较小,可以直接使用wps、excel等制作

2.2 使用plink、awk、sed等命令制作snp、map文件(Linux)

(注:基因型文件较大,SNP位点相对较多时,可以使用以下代码手动制作snp.file。例如:重测序数据)

2.2.1 snp文件

#1.使用plink --recodeA参数将基因型数据转成012格式
plink --cow --bfile test --recodeA --out all_test 
#2.提取基因型数据中的ID,制作id文件
awk '{print $2}' all_test.raw > id.raw
#3.删除all_test.raw文件前6列
awk '{for (i=1; i<=NF; i++) if ( i > 6) printf "%s%s", $i, (i == NF ? RS : FS)}' all_test.raw > snp_file.raw
#4.将snp_file.raw文件中分隔符(空格)删除,得到基因型文件
sed -i 's/ //g' snp_file.raw
#5.合并id、基因型文件
paste id.raw snp_file.raw > snp.ped
#6.删除行头
sed -i '1d' snp.ped
#7.修改文件分隔符为空格
sed -i 's/\t/ /g' snp.ped

2.2.2 map文件

#添加行号作为map的第一列snp的编号
awk '{$5=NR; print}' test.map > new_test.map
#调整map文件列的顺序,以满足snp编号、染色体、物理位置。OFS=" "表示以空格为分隔符
awk '{OFS=" ";print $5,$1,$4}' new_test.map > snp.map
#给map文件加上行头SNP_ID CHR POS
sed -i '1i\SNP_ID CHR POS' snp.map

总结

以上为BLUPF90基因型文件snp_file、map_file的格式介绍和准备方法,敬请批评指正。另外,关于BLUPF90软件的参数设置、模型设置,推荐B站房子下面一头猪的视频:https://www.bilibili.com/video/BV1cg4y1W7Yv/?spm_id_from=444.41.list.card_archive.click&vd_source=58ed914aec5f189bf7c99ffcea6826d2

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
基因填充是指根据已有的基因数据来推断缺失位点的基因。Plink是常用的进行基因填充的软件之一。在基因填充过程中,Plink使用了多种算法和方法来准确估计缺失位点的基因。 Plink的基因填充功能可以通过使用不同的命令行选项来实现。其中最常用的是"--fill-missing-genotypes"选项,该选项允许使用不同的方法进行基因填充。这些方法包括最大似然估计、EM算法和贝叶斯方法等。用户可以根据自己的需求选择合适的填充方法。 在进行基因填充之前,需要注意样本的数据质量以及所使用的参考数据的质量。样本数据的质量可以通过分析分结果的准确率来评估,而参考数据的质量可以通过参考面板的选择来控制。此外,样本量的大小和SNP的密度也会对基因填充的准确性产生影响。 为了保证基因填充的准确性,还需要考虑样本的杂合度和哈温平衡。在进行基因填充之前,需要确保样本符合哈温平衡的假设。如果样本中存在纯合基因或杂合度较低的样本,可能会导致填充结果的不准确性。在GWAS分析中,通常需要移除这些样本以保证群体符合哈温平衡的假设。 总结起来,基因填充是使用已有的基因数据来推断缺失位点的基因。Plink是常用的进行基因填充的软件之一,它提供了多种方法和算法来实现基因填充。在进行基因填充之前,需要注意样本数据的质量、参考数据的质量以及样本的杂合度和哈温平衡。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值