我正在使用bioconductor的Gviz库。我输入了一个包含CNV位置的制表符分隔文件,我需要在我的染色体表意文字上绘制。
我的输入文件由dat定义,有4列
所以我做到了:
library(IRanges)
libraray(Gviz)
gen <- "mm9"
chr <- "chr1"
itrack <- IdeogramTrack(genome = gen, chromosome = chr)
gtrack <- GenomeAxisTrack()
dat <- read.delim("C:/R/1ips_chr1.txt", header = FALSE, sep ="\t")
s <- dat[2]
e <- dat[3]
l <- dat[4]
当我调用文件dat时显示错误消息:
atrack1 <- AnnotationTrack( start = s, width = l , chromosome = chr, genome = gen, name = "Sample1")
Error : function (classes, fdef, mtable) : unable to find an inherited method for function ".buildRange", for signature "NULL", "data.frame", "NULL", "data.frame"
显然我调用输入文件(在dat中)的方式不满足R ..有人请帮助我:)
答案 0 :(得分:1)
从Gviz
包{我不熟悉的reference manual},start
函数中的参数width
和AnnotationTrack
需要是整数向量。使用单方括号dat
对[
进行分组时,生成的对象为data.frame
(有关详情,请参阅?`[.data.frame`
)。尝试改为
s <- dat[[2]]
e <- dat[[3]]
l <- dat[[4]]
获取整数向量。