Вызов входного файла не работает

Я использую библиотеку Gviz от bioconductor. Я ввожу файл с разделителями табуляции, содержащий положение 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. Кто-нибудь, помогите мне, пожалуйста :)


person madkitty    schedule 15.06.2012    source источник


Ответы (1)


Из справочного руководства для пакета Gviz ( с которым я не знаком), аргументы start и width в функции AnnotationTrack должны быть целочисленными векторами. Когда вы подмножаете dat с помощью одинарной квадратной скобки [, в результате получается объект data.frame (подробнее об этом см. ?`[.data.frame`). Попробуйте вместо этого

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

для получения целочисленных векторов.

person BenBarnes    schedule 15.06.2012