#r
#r
Вопрос:
Я пытаюсь создать файл intensity GDS из существующих файлов Illumina, используя функцию createDataFile() GWASTools.
Я пробовал это:
col.nums <- as.integer(c(1,11,12,13,14))
names(col.nums) <- c("snp", "BAlleleFreq", "LogRRatio", "a1", "a2")
variables <- c("genotype","BAlleleFreq","LogRRatio")
intens <- createDataFile(path="/pathexample/", "/pathexample/IntensityGDS", file.type="gds", variables=variables, snp.annotation=snpAnnot, scan.annotation=scanAnnot, sep.type=",", skip.num=12, col.total=14, col.nums=col.nums, scan.name.in.file=-1, allele.coding="nucleotide", precision="single", compress="LZMA_RA:1M", compress.geno="", compress.annot="LZMA_RA", array.name=NULL, genome.build=NULL, diagnostics.filename="createDataFile.diagnostics.RData", verbose=TRUE)
Ошибка, которую я получаю, это:
Error: all(c("snpID", "chromosome", "position", "snpName") %in% names(snp.annotation)) is not TRUE
Однако я знаю, что имена столбцов находятся как в snp.annotation snpAnnotationDataFrame (он же snpAnnot), так и в базовом фрейме данных, который я использовал для создания этого snpAnnotationDataFrame. Например.:
varLabels(snpAnnot)
выдает
"snpName" "chromosome" "position" "rsID_real" "snpID"
Спасибо!!
Ответ №1:
По-видимому, проблема заключалась в том, что createDataFile() принимает обычные R фреймы данных в аргументах snp.annotation и scan.annotation, а не объект класса «фрейм данных аннотации snp». т.Е. нет необходимости запускать команду SnpAnnotationDataFrame() в вашем фрейме данных, просто вставьте фактический фрейм данных.