调用输入文件不起作用

时间:2012-06-15 05:18:41

标签: file r input bioconductor

我正在使用bioconductor的Gviz库。我输入了一个包含CNV位置的制表符分隔文件,我需要在我的染色体表意文字上绘制。

我的输入文件由dat定义,有4列

  • [1]染色体
  • [2]开始
  • [3]结束
  • [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 ..有人请帮助我:)

1 个答案:

答案 0 :(得分:1)

Gviz包{我不熟悉的reference manual},start函数中的参数widthAnnotationTrack需要是整数向量。使用单方括号dat[进行分组时,生成的对象为data.frame(有关详情,请参阅?`[.data.frame`)。尝试改为

s <- dat[[2]]
e <- dat[[3]]
l <- dat[[4]]

获取整数向量。