nei遗传距离聚类树

R中计算Nei's遗传距离,并利用UPGMA获取聚类树的具体流程如下:

1. 在Excel中整理marker数据并用Genalex生成需要的格式后再在R中转成需要的“genind”对象类型。

2. 按照Genalex要求​准备好原始数据(C4)

3. Genalex自动生成格式并保存成.csv

Parameters>All for Codom (这是共显性标记,显性标记不是这个,是loci?)

注意!第二列要加上群体的代号,如果不分群体就编码一致就可以。这里是共显性标记,对于显性标记也一样。缺失的条带用NA表示。然后需要处理缺失数据时可以用missingno {poppr}函数,可选方案有"ignore", "zero", "mean", "loci", or "geno"。位点的名字中不要有点.

4. 读取数据

# 加载包
library(poppr)
library(phangorn) # upgma
# 读取标记数据
dataset<-read.genalex("name.csv",genclone = F,ploidy = 2)
# nei距离
nei.dis<-nei.dist(dataset,warning = T)
# 需要的话可以保存下来
write.csv(as.matrix(nei.dis),"name.csv")

5. 制作树

# 先写了一个生成图片的函数
# 声明包含上一步得到的距离对象,要保存pdf的名字,图片的宽和高
make.tree <- function(nei.dis, filename, width, height) {
  tr <- upgma(nei.dis)
# 需要的话也可以把树文件保存下来用其他软件处理
  write.tree(tr, paste0(filename,".tree"))
  pdf(paste0(filename, ".tree.pdf"), family = "serif", width = width, height = height)
  par(mar = c(1, 1, .5, .5))
  plot(ladderize(tr))
  add.scale.bar(length = 0.1,font = 1)
  dev.off()
}
# 执行
make.tree(nei.dis,"Clones",4,5)
make.tree(nei.dis,"Mei.Sha",4,10)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值