Построение геномных данных с использованием пакета RCircos - PullRequest
0 голосов
/ 12 ноября 2018

Я пытаюсь использовать пакет 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)

Любой совет будет высоко оценен!

1 Ответ

0 голосов
/ 04 июля 2019

Инициализация RCircos.Set.Core.Components () не требует никакой информации о генах.Достаточно просто создать data.frame, который включает «Chromosome, ChrStart, ChrEnd, Band and Stain».Band и Stain не обязательно должны быть заполнены.Ваша ошибка появляется из-за того, что ваши хромосомы не начинаются с 0. Я имею в виду что-то вроде этого:

  Chromosome ChromStart ChromEnd Band Stain
1       chr1          0     2342 
2       chr2          0     2341
3       chr3          0     2234
4       chr4          0     1793
5       chr5          0     1566
6       chr6          0     1459

(надеюсь, я рассчитал правильно).Пока что ваши данные о связях 'pts3' выглядят хорошо.Если визуализация отображается неправильно, вам может потребоваться изменить какой-либо параметр в RCircos::RCircos.Get.Plot.Parameters(), например base.per.unit.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...