这是一个很简单的诉求,可以用的方法有很多,今天谈一下MotifStack.
介绍链接:MotifStack
先弄清楚,motif的矩阵格式。
DNA motif
矩阵数据
大家应该看明白了,motif的矩阵格式为:横轴为对应碱基位置,纵轴为ACGT的概率。
故所有其他格式的矩阵,都要换为这个格式。
我用的代码如下:
##将原文件行列互换另存为ipt.txt
rm(list=ls())
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("motifStack")
suppressPackageStartupMessages(library(motifStack))
a <- read.table("~/Documents/R/motif/ipt.txt", sep="") #读取矩阵
rownames(a) <- c("A","C","G","T") #插入rowname
motif2 <- new("pcm", mat=as.matrix(a), name="ybx1-d")
plot(motif2)
rna <- a
rownames(rna)[4] <- "U" #将DNA的T变成RNA的U。
motif3 <- new("pcm", mat=as.matrix(rna), name="ybx1")
plot(motif3)
相当简单。其他方法也能画logo,但是rna-logo,用这个比较容易实现。