当使用 haploNet 包在单倍型网络上绘制一些图时,我使用了 Internet 上可用的脚本来执行此操作。不过我觉得有问题。该脚本以木鼠示例的形式提供。我使用的代码是:
x <- read.dna(file="Masto.fasta",format="fasta")
h <- haplotype(x)
net <- haploNet(h)
plot(net)
plot(net, size = attr(net, "freq"), fast = TRUE)
plot(net, size = attr(net, "freq"))
plot(net, size=attr(net, "freq"), scale.ratio = 2, cex = 0.8
table(rownames(x))
ind.hap<-with(
stack(setNames(attr(h, "index"), rownames(h))),
table(hap=ind, pop=rownames(x)[values])
)
ind.hap
plot(net, size=attr(net, "freq"), scale.ratio = 2, cex = 0.8, pie=ind.hap)
legend(50,50, colnames(ind.hap), col=rainbow(ncol(ind.hap)), pch=20)
legend(x=7,y=10,c("Baeti ero","Felege weyni","Golgole naele","Hagare selam","Ruba feleg","Ziway"),c("red","yellow","green","turquoise","blue","magenta"))
但是,在绘制 ind.hap 时,您会注意到某些行不在正确的位置。你可以在这里看到这个:
pop
hap Baetiero ETH022 ETH742 Felegeweyni Golgolenaele Rubafeleg
I 0 0 1 0 0 0
II 0 1 0 0 0 0
III 1 0 0 1 0 1
IV 2 0 0 0 0 3
IX 0 0 0 1 0 0
V 4 0 0 0 2 0
VI 4 0 0 1 0 4
VII 2 0 0 1 0 0
VIII 0 0 0 1 0 1
X 3 0 0 0 1 0
XI 0 0 0 0 1 1
XII 0 0 0 1 0 0
XIII 0 0 0 0 0 1
您可以看到第 IX 行不在正确的位置。这不会有太大问题,但程序需要第 9 行来绘制 IX 的饼图,即 VIII 的数据。结果是这样的:(我无法插入图像,因为我的声誉低于 10...,无论如何您都可以通过执行整个文件来获得图像)
您可以看到,对于 V 直到 IX,它并不是应有的状态(这些是交换的行)。例如:IX 中只有 1 个单倍型,但有 2 个单倍型的饼图(两者都占图表的 50%),它是使用 VIII 数据生成的。由于行是按字母顺序而不是升序排序的,但这是包固有的,我不知道该怎么做。我远不是 R 的大师,所以尽量不要太抽象,而是提供代码。
如果有人非常了解这个包,请解释为什么在真实图表后面有这些奇怪的额外线条(上面有数字),因为它们在木鼠示例中不可见(可能是因为出了什么问题也?)
提前感谢