转录因子 | 如何从“很大”的 Binding.Motifs 文
写在前面
昨日,我推出了两个 TBtools 小插件,主要用于快速基于输入的蛋白序列和启动子序列,预测一个初级的基因调控网络。其中涉及到 Binding Motifs 的转移,详细参考《零基础 | 基于转录因子结合 Motif 的基因间调控关系预测》。在示例中,我将所有拟南芥的转录因子Binding Motifs 转移到另一个物种上。逻辑上,我们会得到1000~2000个基因的Binding Motifs。这个文件还是不小的。
在后续的启动子序列准备上,我原本是期望用户只使用部分基因的 Promoter 序列,但是似乎不少人想使用一个物种所有基因的 Promoter 序列,那就真的栓Q了。跑起来会非常慢,因为 motifs 也多,而其实binding site真的也多。
想要快速解决,那么办法还是两个,按照项目需要:
- 只使用部分基因的 Promoter 序列
- 只使用部分基因的 Binding Motifs
- 还有一个办法是,又使用 1. 又使用 2.
下述简单列出解决办法的操作建议
只使用部分基因的 Promoter 序列
逻辑上,全基因组所有基因的 Promoter 直接使用 TBtools 的 GXF Sequence Extract 即可,这个翻翻历史推文,写得比较清楚。这个功能应该是地球上最好用的 GFF3 GTF 序列提取功能。至于筛选序列,直接使用 Fasta Extract 系列功能,也是翻翻历史推文就可以了。TBtools 的 序列提取功能,也是地球上最好用的。
只使用部分基因的 Binding Motifs
原本我是想着优化一下 Fimo Binding Site Search 插件,但似乎还是要花一点时间。为了确保 TBtools 功能的高内聚和低耦合,最好是修改另外一个功能,也就是 Text Block Extract。这个功能应该是 TBtools 最早期的功能之一。主要就是基于文本区块的标签进行文本区块提取或者过滤。
首先观察一下 Binding Motifs 文件的大体格式
![](https://img.haomeiwen.com/i10518391/bfbadeb8e5cc2a2d.png)
所以要提取这个文件的文本区块,我们只需要使用 TBtools 的 Text Block Extract,随后设置 Block Start Flag 为“MOTIF”即可。当然,必须注意,完整的 Binding Motifs 是需要有一个 Header 部分的。为此,我开放的 Text Block Extract 的一个参数,Keep Header。于是最终使用如下(PS:需要更新到 TBtools v1.132或者以上版本)
![](https://img.haomeiwen.com/i10518391/a3e02741b52b6713.png)
![](https://img.haomeiwen.com/i10518391/4938a2ecfc3490ed.png)
写在最后
完美解决一个或许会相对常见的使用问题。
昨天晚上,和三位老师讨论了 GSAman 的功能优化,期间提及几处我一直想做的相关的功能,也让我想起了不少一直想做的事情。不过到底还是老了,很多时候你想做的,你认为有用的,并不是你所在位置应该去做的。或许只有两个办法可以解决这个问题:
- 放弃挣扎,变成位置期望的模样,当然要问你到底愿不愿意;
- 离开位置,一心做你想做的事情,当然又要问你到底敢不敢?
我想,每个人都差不多,我们都是「45°人生」。
![](https://img.haomeiwen.com/i10518391/c7ea8de6d9c3b78c.png)