2012-06-15 2 views
1

Я использую библиотеку 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" 

Очевидно, как я называю в файл занесены (в Дат) не удовлетворяет R .. Кто-то помочь мне, пожалуйста :)

ответ

1

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

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

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

+0

спасибо, что мне нужно :) – madkitty