我想做一个类似马戏团的图来仅可视化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个)被绘制为一个单独的数据点,而没有其他任何点以离散轴的方式绘制。

最佳答案

如果任何人都感兴趣,我决定如下:


每个类别的数据点数(= '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



如下设计马戏团配置文件(实际配置文件中不包含标题):


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的数量,并且基因的每个bp将代表我的SNP文件中的一行(= SNP)。

然后,我可以像平常一样使用杂技。

最后,我选择了杂技,因为它似乎最好地记录在案,因此除了看起来更灵活外,还易于学习。

关于python - 离散轴杂色图的软件推荐,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57973107/

10-09 07:51