TBtools | 更灵敏但也准确的串联重复鉴定逻辑

如题所述

第1个回答  2022-07-27

早些时候,TBtools中增加了 唐海宝老师和王希胤老师 早年的作品 MCScan 【注:当然事实上是MCScanX】的GUI Wrapper。这个工具事实上适用于多基因组的共线性分析,其中重点在于 多基因组 【注:传言不能同时超过5个基因组,软件/算法是十年前的,已然强大】。当然,后续大多数人使用时,还是拿来做两基因组。
Emmm,离题了。

回到主题。如果确实跑过 MCScanX ,无论是自己跑,还是在用 TBtools 的跨平台界面版,你都会在结果文件中找到“...tandem”。了解的人自然清楚,其中记录了程序鉴定出来的串联重复基因对。
为什么?共线性分析的目的是鉴定 基因组(包括不同物种基因组之间)不同位置上按照近乎相同顺序排列的通源基因串 ,串联重复本来就在一个位置上,搞他干啥?
稍微想想就会明白,MCScan的目的是多基因,而实际双基因的共线性分析思想应是来源于CollinearScan【注:王希胤老师早年的作品,其实与MCScan并存的,也有不少应用的还有另外一软件 i-ADHoRe,这个软件的思想更简单一点...用不上动态规划】。CollinearScan大体可以认为是 将一个基因串当做一条序列,然后就...双序列比对动态规划。简直不能再机智... 【注:没看文献之前,我想到的是 i-ADHoRe类似的算法...没意识到转换一下,果然简单】。
OK,那么就明白了,既然基因串要转换成序列,那么就是按照顺序排,双序列比对【注: 针人 或者 水人 算法....】可以搞定,但是串联重复就会引起罚分。于是,作者给出的解法就是,那行,先把串联重复的给处理掉呗,比如缩减为一个。于是,可以明白,为什么MCScanX为啥会有串联重复结果...

Emmm... MCScanX 虽然有串联重复鉴定逻辑与结果输出。但相对细心的小伙伴,完全可以直接使用 TBtools 的 Gene Location 可视化功能 ,查看一下某个基因家族得染色体上的分布以及MCScanX鉴定出来的家族成员串联重复基因对。

结果会让你比较难受【Emmm...其实也导致我两年前在一个直播讲演中--翻车,虽然我忘了,毕竟打圆场,我之所长】。

后来....大概也是去年年底的事情,课题需要,我想看看到底某个物种中有多少串联重复基因.....情况又如何。想起了翻车事件,当然任何算法都有局限。我还是自己写了一个。结果如下:

上图为菠萝上的表现结果... 该鉴定出来的串联重复基因,当然可以给你鉴定出来 。这个功能一直没有开放,因为....可能用到的人不多,没有开放意义... 开放之后,又可能会招来一些人的 问责 ,比如“用TBtools鉴定的串联重复,可靠吗?”...可不可靠,其实看看基因注释看看具体位置就知道了?问了也白问....

当然,TBtools的这个功能并不专门设计用于 鉴定串联重复,另有他用。这段时间,或许是大家都窝在家里没事干, 天天搞比较基因组 相关分析...于是不时会有人问到,为什么 MCScanX 输出的串联重复不全。其实这个原因有很多,其中一个是参数,另一个是你的目标基因的同源基因群体大小。但是参数动一下,可能引入的是更多假阳性。我均是基于其分析结果判断而来,确实没心思翻源码【注:看源码这个事情....累觉不爱,我更喜欢看文章,或者自己直接想出一个新逻辑...】。Emmm,唐老师后续的 jcvi 应是有不少改进,不过... 我没用过,python。新版本总是更好,具体此处不做赘述。
回到主题,既然 TBtools 让更多人更轻松地开展比较基因组分析,进而导致使用问题增加。那么,解决问题的办法就是 不要让问题存在被提出的可能
于是,我直接把 TBtools 的串联重复鉴定逻辑 附加在 MCScanX Wrapper 的流程最后,输出默认的tandem的同时,也输出 TBtools 的鉴定结果。用户爱哪个就看哪个....

突然又想起了一个事情,有人说 TBtools 就是各种软件的 Wrapper。Sad... 你都不愿意花时间去了解,TBtools中130+个功能,Wrapper 不到10个,而且每个 Wrapper 都保证跨平台,你试试....
其中也有不少我个人实现/从头思考的逻辑/算法,虽然可能只有相对了解我的人才会知道吧。不过一件一件的来,确实还是让我觉得这样的被定位并不是好事。考虑还是干点别的去。

OK,三五天没推文了...主要还是事情多,另外是确实没啥好些的。难道,还是:

Emmm... 没啥扯的就不扯了,
祝各位

别忘了,更新 TBtools ....

相似回答
大家正在搜