Я пытаюсь использовать пакет RCircos в R для визуализации связей между геномными позициями. Я не знаком с этим пакетом и использую документацию пакета, доступную в репозитории CRAN с 2016 года.
Я попытался отформатировать свои данные в соответствии с требованиями пакета. Вот как это выглядит:
> head(pts3)
Chromosome ChromStart ChromEnd Chromosome.1 ChromStart.1 ChromEnd.1
1 chr1 33 34 chr1 216 217
2 chr1 33 34 chr1 789 790
3 chr1 33 34 chr1 1716 1717
4 chr1 33 34 chr1 1902 1903
5 chr1 33 34 chr2 2538 2539
6 chr1 33 34 chr2 4278 4279
В конечном счете, я хотел бы создать график с треками от ChromStart до ChromStart.1, и каждый ген помечен вдоль внешней части графика. Я думал, что сценарий будет выглядеть примерно так:
RCircos.Set.Core.Components(cyto.info = pts3,
chr.exclude = NULL,
tracks.inside = 1,
tracks.outside = 2)
RCircos.Set.Plot.Area()
RCircos.Chromosome.Ideogram.Plot()
RCircos.Link.Plot(link.data = pts3,
track.num = 3,
by.chromosome = FALSE)
Похоже, что для этого я должен сначала инициализировать с помощью функции RCircos.Set.Core.Components (), которая требует, чтобы информация о местоположении каждого гена передавалась в RCircos.Chromosome.Ideogram.Plot (). Итак, я создал второй фрейм данных, содержащий необходимую информацию для передачи в функцию, и это ошибка, которую я получаю:
> head(genes)
Chromosome ChromStart ChromEnd GeneName Band Stain
1 chr1 0 2342 PB2 NA NA
2 chr2 2343 4683 PB1 NA NA
3 chr3 4684 6917 PA NA NA
4 chr4 6918 8710 HA NA NA
5 chr5 8711 10276 NP NA NA
6 chr6 10277 11735 NA NA NA
> RCircos.Set.Core.Components(cyto.info = genes,
+ chr.exclude = NULL,
+ tracks.inside = 1,
+ tracks.outside = 2)
Error in RCircos.Validate.Cyto.Info(cyto.info, chr.exclude) :
Cytoband start should be 0.
На самом деле у меня нет данных для столбцов Band или Stain, и я не понимаю, для чего они, но добавление данных в эти столбцы (например, 1: 8 или chr1, chr2 и т. Д.) Не разрешает проблема. Основываясь на рекомендации другого форума, я также попытался сбросить параметры графика для RCircos, используя следующие функции, но это не помогло устранить ошибку:
core.chrom <- data.frame("Chromosome" = c("chr1", "chr2", "chr3", "chr4", "chr5", "chr6", "chr7", "chr8"),
"ChromStart" = c(0, 2343, 4684, 6918, 8711, 10277, 11736, 12763),
"ChromEnd" = c(2342, 4683, 6917, 8710, 10276, 11735, 12762, 13666),
"startLoc" = c(0, 2343, 4684, 6918, 8711, 10277, 11736, 12763),
"endLoc" = c(2342, 4683, 6917, 8710, 10276, 11735, 12762, 13666),
"Band" = NA,
"Stain" = NA)
RCircos.Reset.Plot.Ideogram(chrom.ideo = core.chrom)
Любой совет будет высоко оценен!