SNP2HLA之參考數據集合並提高分型準確性

這幾天隨便搜索snp2hla軟件的參考數據集的時候發現一個韓國科學家寫了一個數據集合並腳本,在使用韓國人樣本測試時準確性較分別只用兩個未合併的數據集準確性有所提高,於是,就找到了論文提供的腳本合併了一下。中間還有個小插曲,應該是作者在公開腳本的時候忘記放了一個R語言腳本,於是發郵件找作者要,很快就收到了這個文件,在此感謝作者!

軟件主頁在這裏:http://software.buhmhan.com/MergeReference/

下面是我的數據集合並過程:

#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 

這樣,合併就完成了,可能還需要一些細節上的注意。

因爲作者的腳本是公開的,放在這裏應該沒問題,腳本很小,就直接貼這裏了。

#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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章