我想制作一个类似马戏团的图来可视化 SNP(SNP 属性有多个轨道(。它可以用python,R完成,或者我很乐意考虑其他语言。
到目前为止,我已经看了一下循环 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
- 设计 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(。
然后我可以像往常一样使用马戏团。
最后,我选择了马戏团,因为它似乎有最好的记录,因此更容易学习,而且看起来更灵活。