我认为这可能是一个简单的问题,但在阅读了pegas文档后我无法解决。我想使用FASTA文件绘制单倍型网络,并确定哪些突变分离出不同的单倍型。
示例:
fa <- read.FASTA("example.fa")
haps <- haplotype(fa)
haps50 <- subset(haps, minfreq = 50)
(network <- haploNet(haps50))
plot(network, size = attr(network, "freq"),show.mutation=1,labels=T)
如何识别我的FASTA文件中的变异位置,例如单倍型XX
与V
分开?
额外问题:
是否也可以知道,例如,单倍型之一的单倍型序列是什么?例如单倍型V
,这是非常频繁的吗?
答案 0 :(得分:1)
pegas
包中包含一个函数diffHaplo
,它指定了单倍型之间的差异。
diffHaplo(haps50, a = "XX", b = "V")
为了提取频繁单倍型V
的DNA序列,类haplotype
对象中的索引将识别哪个DNA序列包含单倍型。
# haplotype index from its name
i <- which(attr(haps50, "dimnames")[[1]] == "V")
# index of the first sequence with the haplotype
s <- attr(haps50, "index")[[i]][1]
然后可以在对齐fa
中识别相应的序列以保存或在屏幕上打印。
write.dna(fa[s], file = "hapV.fas", format = "fasta", nbcol = -1, colsep = "")
paste(unlist(as.character(fa[s])), collapse = "")