写在前面
Emmm,有时候,我们可能通过一些比对软件,如 BLAST , DIAMON 或者 ghostz 得到一堆序列比对结果。当然,我们也可能从一些公共数据库如 NR, Swissprot 等下载一些序列。不可避免,会引入一些其实跟我们目标序列关联度不大的序列。如何快速识别,并去除这些序列,多少还是麻烦。
类似的场景,我遇到了几次,索性写个小工具来解决问题
蛋白序列两两相似度矩阵
使用简单,打开 「TBtools」对应功能
设置输入的 蛋白序列,随后点击 Compute 即可
计算结果即序列两两相似度矩阵
得到的矩阵,完全可以直接用 「TBtools」的 热图 功能直接可视化
可以简单的发现,确实混入了不少非本家族序列。可以通过各类方式,去掉不需要的序列,保留剩余的序列。用于其他分析....
当然,我们需要明白,多个序列的相似度计算,大体有两种模式:
- 所有序列进行多序列比对,后续两两计算
- 每两条序列分别做双序列比对,后续两两计算
两者区别即同源位点对齐的方式不同。前者在我们使用的序列都是同源序列,且长度完整时,优先选;在本例中常见,我们是明确知道存在异常序列,或者这个序列不是当前家族,或者这个序列有明显异常组成,那么后者合适。
写在最后
Emmm,随手一个小功能,我知道后面还会用到。
网友评论