SNP2HLA之参考数据集合并提高分型准确性

2020-06-23 16:07:54 浏览数 (1)

img

这几天随便搜索snp2hla软件的参考数据集的时候发现一个韩国科学家写了一个数据集合并脚本,在使用韩国人样本测试时准确性较分别只用两个未合并的数据集准确性有所提高,于是,就找到了论文提供的脚本合并了一下。中间还有个小插曲,应该是作者在公开脚本的时候忘记放了一个R语言脚本,于是发邮件找作者要,很快就收到了这个文件,在此感谢作者!

软件主页在这里:http://software.buhmhan.com/MergeReference/

下面是我的数据集合并过程:

代码语言:javascript复制
#1.下载软件
wget http://software.buhmhan.com/MergeReference/MergeReference.zip
unzip MergeReference.zip
#2.把缺少的R脚本放入,脚本详细见后面附的代码
mv allele2HLA_PED_by_COOK_20170622 MergeReference/
#3.合并数据准备
#Korea数据集,是google sites,需要付出点努力才能下得到
https://sites.google.com/site/scbaehanyang/hla_panel
wget https://sites.google.com/site/scbaehanyang/hla_panel/KOR_REF_1.1.zip
unzip KOR_REF_1.1.zip
#Pan-Aisa,在软件包里
wget http://software.broadinstitute.org/mpg/snp2hla/data/SNP2HLA_package_v1.0.3.tar.gz
tar zxvf SNP2HLA_package_v1.0.3.tar.gz
#4.合并
./MergeReference.csh  KOR_REF_1.1/KOR_REF_1.1 Pan-Asia/Pan-Asia  Asia ./plink 
#5.生成数据集
./SNP2HLA_package_v1.0.3/MakeReference.csh MergeReference/Asia MergeReference/Asia Asia-Ref plink 

这样,合并就完成了,可能还需要一些细节上的注意。

因为作者的脚本是公开的,放在这里应该没问题,脚本很小,就直接贴这里了。

代码语言:javascript复制
#allele2HLA_PED_by_COOK_20170622
args<- commandArgs(trailingOnly = TRUE)



allele.file<-as.matrix(read.table(args[1]))

fam.file<-as.matrix(read.table(args[2]))


sample_count<-nrow(fam.file)

HLA_PED<-matrix(0,sample_count,22) 

#6 2*8=22

HLA_PED[,1:6]<-fam.file[,1:6]

for(i in (1:sample_count))
{
  
  for (j in (1:8))
  {
    if(nchar(allele.file[8*(i-1) j,5])<8)
    {
      HLA_PED[i,2*j-1 6]=0
      HLA_PED[i,2*j 6]=0
      
    }
    else
    {
      HLA_PED[i,2*j-1 6]<-strsplit(allele.file[8*(i-1) j,5],",")[[1]][1]
      
      HLA_PED[i,2*j 6]<-strsplit(allele.file[8*(i-1) j,5],",")[[1]][2]
    }
  }
  
}

save_HLA_PED<-args[3]

write.table(HLA_PED,save_HLA_PED, sep = "t",quote=F, col.names=F, row.names=F)

0 人点赞