Рекомендации по программному обеспечению для циркового графика с дискретной осью

Я хотел бы сделать цирковой сюжет, чтобы визуализировать только SNP (с несколькими дорожками для атрибутов SNP). Это можно сделать либо с помощью Python, R, либо я с удовольствием рассмотрю другие языки.

До сих пор я рассматривал пакет circlize R. Однако я получаю сообщение об ошибке "Range of the sector ('C') cannot be 0" при инициализации графика цирка. Я считаю, что эта ошибка возникает из-за того, что у меня есть дискретные данные (SNP), а не данные для всех позиций. Или, может быть, это потому, что у меня есть некоторые точки данных, которые повторяются.

Я упростил свои данные ниже и показываю код, который я пробовал до сих пор:

Sample  Gene    Pos read_depth  Freq
1   A   20394   43  99
1   B   56902   24  99
2   A   20394   50  99
2   B   56902   73  99
3   A   20394   67  50
3   B   56902   20  99
3   C   2100394 21  50
install.packages("circlize")
library(circlize)
data <- read.table("test_circos.txt", sep='\t', header=TRUE)
circos.par("track.height" = 0.1)
circos.initialize(factors = data$Gene, x = data$Pos)

Я хотел бы знать, можно ли получить циркоподобный график, на котором каждая из моих точек данных (7 в моем примере) отображается как отдельная точка данных без каких-либо других точек, построенных в виде дискретной оси.


person Agathe    schedule 17.09.2019    source источник
comment
Кажется, об этом есть целая книга jokergoo.github.io/circlize_book   -  person JBGruber    schedule 17.09.2019
comment
Да, я видел это, но я ничего не вижу об ошибке, о которой я упоминаю, и я не вижу, чем мои данные отличаются от тестовых данных, используемых в книге (быстрый взгляд), поэтому я не понимаю, почему я застрял на этапе инициализации. Опять же, я все больше и больше верю, что это происходит из-за того, что некоторые точки данных повторяются (например, поз. 20394 в гене А), отсюда вопрос о том, можно ли сделать циркоподобный график с такой структурой данных, или как я могу измените мою структуру данных, чтобы включить цирковой сюжет.   -  person Agathe    schedule 17.09.2019


Ответы (1)


Если кому интересно, то решил сделать так:

  1. Количество точек данных на категорию (='Gene'); новый столбец 'Number':
Sample  Gene  Pos     depth  Freq   Number
1       A     20394   43     99     1      
1       B     56902   24     99     1
2       A     20394   50     99     2
2       B     56902   73     99     2
3       A     20394   67     50     3
3       B     56902   20     99     3
3       C     2100394 21     50     1
  1. Спроектируйте файл конфигурации circos следующим образом (заголовок не включен в реальный файл конфигурации):
chr - ID  LABEL START END COLOUR
chr - A   A     0     3   chr1
chr - B   B     0     3   chr2
chr - C   C     0     1   chr3

Это означает, что мои гены будут иметь длину, равную количеству SNP, идентифицированных в указанных генах, и что каждая п.н. генов будет представлять одну строку (=SNP) в моем файле SNP.

Затем я могу использовать цирк как обычно.

В конце концов, я выбрал circos, потому что он показался лучше всего задокументированным, поэтому его было легче изучить, а также он выглядел более гибким.

person Agathe    schedule 19.09.2019