分享

TBtools | 零基础掌握WGCNA共表达网络分析 - 「WGCNAshiny by Warlock」

 生信药丸 2022-12-08 发布于贵州

写在前面

2020年,TBtools文稿发表后,我们就开始思考,主要是两个问题:
1)没有经费支持,一直用爱发电,到底还写不写?写下去依然得不到一些人的认可,是否值得继续写?
当然,最后的决定,继续写。原因就是没有原因,写下去不一定对,但是不写下去总觉得哪里不对。就算是消磨时间,或者在日常情绪低迷的时候,写一写代码,心情会好一些。
2)未来是什么?写什么?有什么好写的?
其实,能写的东西就那么多。TBtools 本身就是一个业余项目,也是一个业余课题,来自业余人员。我本身是搞生物的,或者说就是做果树方面,分子生物辅助育种为主的,编程水平高不了。写出什么惊天动地的功能,应该是不可能的。但一如既往,我们可以更好更快更准
发现一些真实需求,然后实现相关工具来满足这一需求。甚至我在思考,其实「TBtools」本身能够有一些朋友用户,也是因为我们真正从湿实验室科研工作中来,最后回到湿实验科研工作中去。于是,很自然,真正有需求的,不仅仅是我们自己,而还有更多的「TBtools」用户。随后,便是TBtools新模式的开发。

  • 2020年,我们开发并释放了 Plugin Store,就像手机的App商店一样,用户可以按需安装需要的插件

  • 2021年,我们开发了 Rsever 插件,同时释放了 「R-plugin Demo」,也就是 R 插件开发包。这使得几乎所有有 R 语言编程基础的用户朋友可以自主、自由地开发、分发自己的 R代码或R脚本

  • 2022年,我们开发并释放了「CLI Program Wrapper Creator」,与 「R-plugin Demo」初衷类似,但可用于各类数据分析软件或流程的命令行工具的快速界面化,比如python程序等。

新模式的实现,使得 TBtools 从软件慢慢转变为「程序分发平台」。几乎每一个人都可以开发 R 插件或 CLI 插件,并与 20w TBtools 用户分享。其中,许多人比较关注插件之一,是 王骁 老铁的「WGCNAshiny」。这一插件,可以用用户在本地电脑上,高效定制化分析自己的转录组数据,挖掘基因共表达网络,基因模块,并进行更深度的表达调控分析。
作为 TBtools 的 R-plugin 插件,使用非常简单。下述逐步展示,希望对所有希望自己动手开展 WGCNA,基因共表达网络分析的朋友有一定帮助。
注:建议将 TBtools 版本更新到 1.1047 或者更高版本

安装 Rsever 插件

所有 TBtools 的 R 插件都依赖于 Rserver 插件。如果没有安装过这一插件,那么需要打开 TBtools 的 Plugin Store。

由于这个插件比较大,所以我们直接点击「确定」,跳转到插件下载页面(此处感谢奶牛快传的流量支持)进行直接下载。

选择 Windows 下(如果是 MacOS 请选择 MacOS)。

选择并下载 「Rserver.plugin」即可。下载结束后,直接通过 TBtools 的 Install Plugin 接口,选择并安装这个「Rserver.plugin」,随即完成第一步。

注意 Rserver 插件只需要安装一次,后续不再需要安装;如果之前就安装过了,那么本次不需要安装

安装 WGCNAshiny 插件

WGCNAshiny 插件也不小,所以安装方式跟 Rsever 插件几乎一样。同样是下载 WGCNAshiny 插件

随后安装即可

使用 WGCNAshiny 插件

正如其名,WGCNAshiny 插件本身其实是一个 Shiny 程序。其他 R插件的界面由 TBtools 主要完成。但对于 ShinyApp,从某种角度来讲,「TBtools」更多地扮演一个载体和便捷接口。用户只需要打开 WGCNAshiny 插件界面。

可以设置工作目录,如果有需要,也可以不设置工作目录(TBtools会自动生成一个),然后点击 Start,等到即可跳转到 ShinyApp 界面。

当然,必须注意,点击「Start」后,会弹出插件引用信息。此处引导用户依据 WGCNAshiny 插件作者提供引用方式引用(换句话话说,不需要引用 TBtools,只引用插件即可)。关闭这一窗口,则可开始分析。

可以看到界面变化,随后等待两分钟(WGCNAshiny插件依赖较多,需要等待加载)。加载完成,即可看到Shiny 插件弹出的网页接口。随后所有分析在其上开展(注:TBtools可以最小化,但不要关闭....)

此处,准备了一个表达矩阵数据,和一个性状指标。

整体一个是基因表达矩阵

导入基因表达矩阵

导入完成后,对数据进行一定预处理,设定一定参数,参考下述

随后点击 「Update Infomation!」

可以预览看看数据

查看是否有异常样品,发现这个数据没有。

于是下述不用操作

随后,可以进入第二步,开始筛选软阈值。

注意到,右下角有进度,非常人性化

实际上,2 不OK,平均连接度都是 500 以上,这个是不合适的。我来做的话,可能会选 5 或者 12,此处选择 5。

随后,可以简单查看是否符合无尺度网络分布(其实不看也没问题)

这一步运行起来挺慢的。看起来效果也可以。
完成这一步之后,就可以开始鉴定基因共表达模块。

左侧参数调整会有一些影响,按照需要调整,没有绝对标准。一般默认跑一个看看。
注:点击 Start 之后,等十几分钟再来看结果,这个不会太快,似乎老铁没写进度条,切记不要多点几次,因为已经在跑了.....
如果没有信心,可以通过 TBtools 的 Debug Log 窗口,不断 Refresh 来检测最新输出信息。

我试过了,挺稳健的,不大可能会报错,尤其都运行到这个位置了。

结果勉强,但也还行。感兴趣的朋友还是要自己调整调整参数,WGCNA本来就不是一个一次跑一下就完事的,不少参数要按照不同数据自行优化。当然,主要矛盾往往不需要优化。

一般这个没啥用。继续往下走,看到基因的模块归属。

这个结果可以下载,用于比如富集分析还是其他分析,挺好的。
随后,可以开始进行模块与表型数据的相关性分析,注意到,如果你有表型数据,那么格式就是,第一列是样品名字,其余每一列是表型数据(数值型)。但是呢,绝大多数人就没有表型数据,这个时候,可以直接给一列样品名,WGCNAshiny会自动转换为 0-1 矩阵,用于模块与样品的相关性分析(这是,无解之解)。

点击 Start 即可很快看到结果

发现有一个模块还不错,似乎跟缺铁相关,有点意思。

当然,你可以调整一下颜色,变得更好看云云。

OK,差不多就到这里。我相信绝大多数人可能做到这里就差不多了。其实还有很多不错的分析。限于我个人时间精力,就往下了。大伙自行摸索。


PS:其实得到基因到模块的关系,其实共表达网络分析的基因模块鉴定工作就完成了,更多分析主要靠生物学认知了。当然,优化基因到模块的关系,王骁老铁增加的 iteractive 步骤,实在是机智!

写在最后

路漫漫其修远兮,一个人走不了太远,正如这一插件,我今天甚至是第一次认真使用。但这并不妨碍 WGCNAshiny 本身就是一个很好的生信工作。TBtools或许慢慢地应该更多的作为一个平台,协助大伙更好的将自己的创作,更多的传播出去,分享出去,让更多的科研工作者因此受益,如此,更好地实现每一个人,每一个工作的价值。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多