首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从RNA-Seq (circlize输入)创建基因-基因相互作用的邻接矩阵

如何从RNA-Seq (circlize输入)创建基因-基因相互作用的邻接矩阵
EN

Stack Overflow用户
提问于 2019-04-04 01:56:32
回答 1查看 204关注 0票数 0

我正在描绘肿瘤微环境,我想展示我发现的不同亚群之间的相互作用。例如,我有一个受体和配体的列表,我想证明A群体表达配体1,C群体表达受体1,所以这两个群体之间可能存在通过配体-受体1表达的相互作用。

我一直试图使用circlize通过制作chordDiagram来可视化这些交互,但它需要一个邻接矩阵作为输入,而我不知道如何创建该矩阵。邻接矩阵应该显示矩阵中任意两个基因之间关系的强度。我有6个独特的细胞群体,可以表达我感兴趣的485个配体/受体中的任何一个,目标是通过配体和受体展示这些群体之间的相互作用。

我发现了一个在RStudio中使用的工具,叫做BUS- gene.similarity:计算基因-基因相互作用的邻接矩阵。

也许我只是错误地使用了总线,但它显示:对于包含M个基因和N个实验的基因表达数据,邻接矩阵的大小为MxM。MxM大小的邻接矩阵,行和列都代表基因。行i和列j中的元素表示基因i和基因j之间的相似性。

因此,我制作了一个矩阵,其中每一列都是一个子群体,每一行都是我想要显示相互作用的配体/受体。单元格具有表达式值,如下所示:

代码语言:javascript
复制
> head(Test)
            A          B           C          D           E           F
Adam10 440.755990 669.875468 748.7313995 702.991422 1872.033343 2515.074366
Adam17 369.813134 292.625603 363.0301707 434.905968 1183.152694 1375.424034
Agt     12.676036  28.269671   9.2428034  19.920561  121.587010  168.116735
Angpt1  22.807415  42.350205  25.5464603  16.010813  194.620550   99.383567
Angpt2  92.492760 186.167844 819.3679836 852.666499  669.642441 1608.748788
Angpt4   3.327743   0.693985   0.8292746   1.112826    5.463647    5.826927

其中A-F是我的人口。然后我将这个矩阵传递给BUS:

代码语言:javascript
复制
res<-gene.similarity(Test,measure="corr",net.trim="none")

Warning message:
In cor(mat) : the standard deviation is zero

但是输出文件(应该是我的邻接矩阵)充满了NA:

代码语言:javascript
复制
         Adam10 Adam17 
Adam10      1     NA
Adam17     NA     1       

我想可能是我的矩阵太复杂了,所以我只比较了2个细胞群体和我的配体/受体,但我得到了完全相同的输出。

我希望得到这样的结果:

代码语言:javascript
复制
         A:Adam10 A:Adam17 
C:Adam10     6       1 
E:Adam17     2      10 

但是,即使res对象给了我数字而不是NA,它在建立基因之间的关系时也不会保持群体的身份,所以它仍然不会产生我预期的输出。

我不需要使用总线来制作矩阵,所以我不一定需要帮助来排除代码故障,我只需要一些方法来制作邻接矩阵。

我以前从来没有用过circlize或Circos,所以如果我的问题很愚蠢,我道歉。

EN

回答 1

Stack Overflow用户

发布于 2019-04-19 03:37:26

看起来你需要稍微改造一下你的矩阵。

您可以创建一个大小为(nrow(测试)x ncol(文本))x(nrow(测试)x ncol(文本))的新矩阵,因此在您给出的示例中,新矩阵将是36x36,列名和行名将是相同的,即A_Adam10、A_Adam17、...、A_Angpt4、B_Adam10、...、F_Angpt4。

在循环的帮助下,您可以将每一对的相似度加载到新矩阵中,现在您可以绘制矩阵。这有点复杂,运行循环也需要一段时间,但这是直观的。

欢迎您查看我的github repo,因为不久前我遇到了类似的问题,我在那里发布了详细的代码。我希望这能对你有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55501427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档