1.软件的安装
软件网址:http://software.genetics.ucla.edu/admixture/download.html
下载linux版本的安装包。解压完成后,通过FileZilla上传到服务器上。
2.软件的使用
2.1格式的转换
打开终端,连接到服务器。将你的vcf文件移到linux中(FileZilla),然后cd到其路径。输入代码,可实现多个vcf文件的合并(见我的另外一篇简书)。
ssh root(用户名)@服务器地址
password(密码)
cd /usr/hx/test/
然后将vcf格式文件先转化为ped和map格式,代码如下。
vcftools --vcf merge.vcf --plink --out merge //merge.vcf为你所要转格式的文件,merge为你最终形成的文件名。
最后,退出服务器,在终端中利用plink使得ped,map文件生成bed文件。
cd /Users/bcl/Desktop/structure/plink_mac_20190617
./plink --file /Users/bcl/Desktop/structure/admixture/merge --out /Users/bcl/Desktop/structure/admixture/merge/Users/bcl/Desktop/structure/admixture/merge //前一个snp为ped格式的文件名,后一个为过滤后的bed格式文件名。
2.2软件的运行
2.2.1选择合适的k值
重新登上linux服务器。可以同时运行多个程序, 每个程序不同的k值, 比如, 想要k值选择1,2,3,4,5, 6,7,8可以写为:
cd /usr/hx/admixture_linux-1.3.0/ //cd到你所存放admixture_linux-1.3.0的位置。
for K in 1 2 3 4 5 6 7 8 ; do /usr/hx/admixture_linux-1.3.0/admixture --cv /usr/hx/admixture_linux-1.3.0/merge/merge.bed $K | tee log${K}.out; done //注:do后面的路径为你安装admixture的路径,merge.bed为你要跑到文件,K值可以根据你的要求做调整,其他的参数不需要改。
跑完之后生成out、Q、P文件。
然后用grep查看*out文件中的CV error(交叉验证的误差值)。最小的那个即为最合适的K值。
grep -h CV *out
2.3.2图形的绘制
将服务器上的merge(即跑的文件).4(即最佳k值).Q下载到电脑上(FileZilla)即可。
打开R studio 输入以下代码即可完成绘图。注:rainbow(?)括号内的值与k同。
ta1 = read.table("/Users/bcl/Desktop/structure/merge.4.Q") //路径为你所下载的文件所在的。
head(ta1)
names<-c("XooG10","XooG11","XooG12","XooG16","XooL3","XooL5","XooY1","XooY2","XooY3","XooY4","XooY5","XooY6","XooY7","XooY8","XooZ1","XooZ2","XooZ3","XooZ4")
barplot(t(as.matrix(ta1)),col = rainbow(4),
names.arg=names,
xlab = "Individual",
ylab = "Ancestry",
border = NA)
网友评论