我找到了一种方法来绘制鸡基因组上的CpG位置,如下所示:
library(BSgenome.Ggallus.UCSC.galGal4)
library(Biostrings)
#Create the chromossome set
chr_all=paste("chr", c(1:28, 32, "Z", "W"), sep="")
#CpG Mapping on Genome
CpGpos<-lapply(chr_all,function(x) {
RES<-matchPattern("CG",Ggallus[[x]])
RES<-cbind(rep(x,length(RES)),RES@ranges@start)
return(RES)
})
CpGpos<-do.call("rbind",CpGpos)
CpGstartend<-cbind(CpGpos,as.numeric(CpGpos[,2])+1)
CpGstartend<-as.data.frame(CpGstartend,stringsAsFactors=F)
write.table(CpGstartend, "CPGstartendWGChicken.txt", sep="\t", col.names=F, row.names=T, quote=F)
结果:
[fibio@milou2 Stacks]$ cat CPGstartendWGChicken.txt |head
1 chr1 38 39
2 chr1 84 85
3 chr1 146 147
...
现在我想对我的MEDIPseq结果做同样的事情。 我已经使用了.bam格式的对齐序列(BSgenome.Ggallus.UCSC.galGal4)。
超级有趣的是每个CpG具有覆盖值的列
预期结果:
Chr Start End Depth
chr1 38 39 10
chr1 84 85 12
chr1 146 147 20
我知道名为MEDiPS的Bioconductor R软件包可以做到这一点,但它使用的是Windows大小。但是,我需要每个CpG的信息。 定义2bp窗口大小时,脚本将被终止。