写在前面
今天周末,转眼10月份只剩一周。万万没想到,一个月下去,我还是花了不少时间在完善「GSAman」。至于为什么本来「两个小时」就干完的事情,可以干成「22天」?到底还是我对前面的版本,不太满意。当然,我想今天应该要告一段落,起码在新功能的特性的增加上,可以基本告一段落。暂时我没想到新的非常 exciting 或者用户也没提出让我觉得确实非常值得尽快更新的功能。于是,今天对 GSAman 已有的功能特性做一个汇总,同时也做一个 GSAman 相关推文目录贴,方便大伙了解。
主要特性汇总
1. 超快的装载速度
相比于 IGV 原版本,GSAman在装载基因结构注释信息文件时,采用完全索引方式,第一次装载后,后续任何一次打开 GSAman,都直接利用已有索引,速度极快
2. 更好看且直观的显示模式
使用橙色表示当前基因组正链上的转录本,使用蓝色表示当前基因组反链上的转录本,使用深灰色表示无链性的转录本。
针对 CDS,使用黑色框线标识,方便显示极小CDS;同时对外显子左右便捷使用红色线条标注,方便辨识极小内含子;此外,支持 1-bp 外显子,尽管这类可能性不大。
3. 支持丰富的信息展示
官方版本只能展示转录本ID或者基因ID等,但事实上,很多时候我们希望同时看到转录本ID和基因ID,更甚至各类丰富的信息,如基因功能注释信息,此处为「Note」标签。
4. 支持实时编辑修改基因结构注释信息
通过鼠标右键点击转录本,在弹出菜单中点击「Edit Transcript Info.」即可修改转录本注释信息,比如增加一些个人对该转录本的评述信息。或者调整转录本归属的基因ID信息。
5. 直接支持本地BLAT检索
GSAman 安装器直接附带了 BLAT 可执行程序(支持Windows和MacOS)。相比于IGV原始版本多年未解决且可能未计划解决的基因组浏览器中序列查找痛点,GSAman增加了相应选项和功能。用户可在主菜单「View」->「Preference」->「Advanced」勾选「Local BLAT」选项,从而启用本地 BLAT 功能(注意:无需自行安装BLAT,GSAman已经全部准备好了)。
启动后,GSAman中所有与BLAT相关功能都不再依赖于UCSC网站更甚至是自建服务器,在本地就可以直接完成。
堪称完美。简单检索下,发现相关问题,真的有不少人问,或者要么放弃,要么折腾不少时间才搞定「自建服务器」(从某个角度还依赖网络或者对本地计算设备有更高计算资源负担)。
6. 支持 CDS/mRNA 序列直接复制
这个功能可太重要了,很多时候,我们关注到某个Region,看到某个基因,结合上述的多信息展示,常常希望拿到一个基因的 CDS 或者 mRNA 序列,前者比如用于 BLAST比对,后者比如用于小RNA靶向分析等。这些在 GSAman 中直接支持。
7. 支持鼠标拖拽矫正基因结构注释信息
几乎所有植物的基因组基因结构注释都不够准确。对于少数模式植物,如拟南芥或者水稻也是一样,只是相对较少。但也有做水稻的朋友,因为水稻的基因结构注释有问题,最终白做一年实验。非模式生物,比如所有园艺植物的基因结构注释,可以说,几乎只有 50% 的基因结构注释是正确的。换句话说,实验白做的概率是 50% ,如果没有提前确认过。这也是开发 GSAman 的主要出发点(也是上一代GSAme开发的出发点)。为此,对于注释有误,其中边界错误最为常见,故拖拽矫正注释也最为重要。几年前,我优化过IGV代码,并提交了一个 Pull Request,目前这个特性已经在 IGV 官方版本中推出,即支持了 RegionOfInterest 的拖拽调整。
但是这个远远不够,最好还是优雅的支持拖拽调整基因结构注释信息,即外显子边界。于是最后舍弃GSAme,从头开始,写一道 Track,叫「GSAmanTrack」。在这道Track中,我们只要鼠标摁住 Ctrl,拖拽某个外显子,即可直接调整外显子的坐标位置,非常方便。注意:结果也是实时保存。
8. 支持极为丰富的基因结构注释编辑项目
在人工矫正基因结构注释过程中,涉及大量编辑操作,包括对转录本、外显子、CDS的增删改,整体如下:
- SoftBerry Predict,用户可以直接针对当前基因组区域导入 Softberry 编码基因预测结果。非常方便,支持一次多基因多位点预测结果导入;
- Add a Transcript/Gene,在鼠标点击位置,直接添加一个新转录本(对应了一个新基因);
- Fork a Transcript,以鼠标点击的转录本为模板,复制一个新的转录本,简单来说,归属于同一个基因的另一个mRNA可变剪接本;
- Divide the Gene,从鼠标点击的内含子位置,将一个转录本断开为两个转录本(变成两个新的基因),这个功能对于常见的转录组过拼接尤为有用;
- Reanme the Transcript,重命名鼠标点击的转录本
- Edit Transcript Info. ,调整转录本的标签信息,如重新指定归属的基因标签,或者增加一些评述信息,参考上述;
- Slice the Exon,有时候我们需要把一个错误注释的外显子,切分为两个;
- Add/Insert an Exon,结构注释中,常常可能错误忽略了一些实际存在的外显子,可以直接在内含子位置添加一个外显子;
- Delete this Exon,有些时候,基因结构注释多了一些外显子,这是需要删除掉;
- Delete this Transcript,一些确实是注释错误的转录本,可以直接清理(注意如果对应的基因只有这一个转录本,那么基因也会被删除);
- Switch Strand,调整链方向,当我们知道转录本转录方向时,可以强制指定;
- Predict CDS,预测当前转录本的 CDS
-
Clear CDS,清除该转录本上的 CDS 预测信息
- Export to GFF3,GSAman的修改结果是实时保存的,逻辑上不需要导出。不过,对于其他下游数据分析,我们需要一个完整可用且靠谱的GFF3文件,那么可以从此选项导出。
当然,还有一些其他更新和优化,此处就不再赘述,感兴趣的朋友,可翻看相关历史推文,大体如下:
写在最后
正确的开始,不一定能到底计划的终点;但错误的开发,一定难以完成既定目标。我们已经听过看过太多人因为基因结构注释信息不准确而耽误了数月甚至数年实验,也看到过不少学术论文报道,其中一些内容其实就是有基因结构注释偏差,然而很多人并不知道,也有很多人是无奈。因为,矫正基因结构注释信息,真的很难。最难难在安装软件以及复杂的使用体验。而 GSAman 的出现,完全解决这些问题。我们相信,GSAman 可以极大程度让同行们少走弯路,也提高功能基因组学研究效率。
感谢
GSAman 开发应是基本告一段落,大半个月来,200多人的内测群有不少朋友提出大量修改建议和意见,其中主要感谢朋友如下(有缺漏,请见谅):
扬州大学农学院-赵剑华
植生所-徐洲更
华南农业大学夏瑞课题组-夏瑞、刘鸿森、麦迎晓、吕梓欣
东北林业大学-安泽宇
agis-侯壮伟
华中农业大学-刘潜
热科院-冯筠庭
热科院南亚所-杨子平
南京中山植物园-王鹏
南京农业大学-靳建锋
slu-陈俊浩
植生所-刘楚彬
.....