离散轴circos图的软件推荐

2024-04-24 04:46:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我想做一个类似circos的绘图,只显示SNPs(SNPs属性有多个轨迹)。它可以用python,R或者我很乐意考虑其他语言。你知道吗

到目前为止,我已经看了一眼的盘旋R包。 但是,我在初始化circos图时得到了错误"Range of the sector ('C') cannot be 0"。 我相信这个错误是因为我有离散数据(SNPs)而不是所有位置的数据。或者这可能是因为我有一些重复的数据点。你知道吗

我在下面简化了我的数据,并展示了我迄今为止尝试的代码:

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点)被绘制为一个单独的数据点,而没有任何其他点被绘制,以离散轴的方式。你知道吗


Tags: 数据pos语言绘图readdata属性轨迹
1条回答
网友
1楼 · 发布于 2024-04-24 04:46:23

如果有人感兴趣,我决定做如下:

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

然后我就可以正常使用circos了。你知道吗

最后,我选择circos是因为它似乎是最好的文档,因此更容易学习,而且看起来更灵活。你知道吗

相关问题 更多 >