IGV-GSAman |「功能基因组时代」的高效率科研工具

news2025/1/11 15:38:52

写在前面

今天周末,转眼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的增删改,整体如下:

  1. SoftBerry Predict,用户可以直接针对当前基因组区域导入 Softberry 编码基因预测结果。非常方便,支持一次多基因多位点预测结果导入;

  2. Add a Transcript/Gene,在鼠标点击位置,直接添加一个新转录本(对应了一个新基因);

  3. Fork a Transcript,以鼠标点击的转录本为模板,复制一个新的转录本,简单来说,归属于同一个基因的另一个mRNA可变剪接本;

  4. Divide the Gene,从鼠标点击的内含子位置,将一个转录本断开为两个转录本(变成两个新的基因),这个功能对于常见的转录组过拼接尤为有用;

  5. Reanme the Transcript,重命名鼠标点击的转录本

  6. Edit Transcript Info. ,调整转录本的标签信息,如重新指定归属的基因标签,或者增加一些评述信息,参考上述;

  7. Slice the Exon,有时候我们需要把一个错误注释的外显子,切分为两个;

  8. Add/Insert an Exon,结构注释中,常常可能错误忽略了一些实际存在的外显子,可以直接在内含子位置添加一个外显子;

  9. Delete this Exon,有些时候,基因结构注释多了一些外显子,这是需要删除掉;

  10. Delete this Transcript,一些确实是注释错误的转录本,可以直接清理(注意如果对应的基因只有这一个转录本,那么基因也会被删除);

  11. Switch Strand,调整链方向,当我们知道转录本转录方向时,可以强制指定;

  12. Predict CDS,预测当前转录本的 CDS

  13. Clear CDS,清除该转录本上的 CDS 预测信息

图片

14. Export to GFF3,GSAman的修改结果是实时保存的,逻辑上不需要导出。不过,对于其他下游数据分析,我们需要一个完整可用且靠谱的GFF3文件,那么可以从此选项导出。

当然,还有一些其他更新和优化,此处就不再赘述,感兴趣的朋友,可翻看相关历史推文,大体如下:

《IGV-GSAman | 这是多少人梦想中的tool?》

《内测开始 | IGV-GSAman: 人工矫正基因注释神器!欢迎参与~》(其中包括加入内测群,下载 IGV-GSAman软件的位置

《GSAman | 基因结构精细化注释工具,持续优化,体验加倍》

《GSAman | 人工矫正注释,加速>300倍,支持转录本灵活操作》

《Coding,永远不要太相信你的能力》

《IGV | 从「GSAman」到「GSAwoman」,加速1000倍!支持大基因组~》

《GSAman | 「时光机」!人工矫正基因结构注释神器新特性~》

还有视频教程《视频教程 | 手把手教你矫正基因结构注释 - 实例版》

同时也有多人合作,一个课题组矫正一个物种基因结构注释的辅助功能

《GXF Patch | 给 GFF3 结构注释信息文件打补丁~》

写在最后

**正确的开始,不一定能到达计划的终点;但错误的开发,一定难以完成既定目标。**我们已经听过看过太多人因为基因结构注释信息不准确而耽误了数月甚至数年实验,也看到过不少学术论文报道,其中一些内容其实就是有基因结构注释偏差,然而很多人并不知道,也有很多人是无奈。因为,矫正基因结构注释信息,真的很难。最难难在安装软件以及复杂的使用体验。而 GSAman 的出现,完全解决这些问题。我们相信,GSAman 可以极大程度让同行们少走弯路,也提高功能基因组学研究效率。

感谢

GSAman 开发应是基本告一段落,大半个月来,200多人的内测群有不少朋友提出大量修改建议和意见,其中主要感谢朋友如下(有缺漏,请见谅):
扬州大学农学院-赵剑华
植生所-徐洲更
华南农业大学夏瑞课题组-夏瑞、刘鸿森、麦迎晓、吕梓欣
东北林业大学-安泽宇
agis-侯壮伟
华中农业大学-刘潜
热科院-冯筠庭
热科院南亚所-杨子平
南京中山植物园-王鹏
南京农业大学-靳建锋
slu-陈俊浩
植生所-刘楚彬

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/262.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Attack Lab

Attack Lab 从CMU官网下载完所需实验包后,内有官方文档以及.tar压缩包,使用tar -xvf targetk.tar解压后,得到如下文件 The fifiles in targetk include: README.txt: A fifile describing the contents of the directory ctarget: An execut…

web自动化测试框架

本文介绍web自动化测试框架 ●Base:用来对Selenium API进行二次封装。 对Selenium API进行二次封装的目的是简化一些复杂的操作,但是千万不要为了封装而封装。 封装好后,其他页面类可以集成basepage,调用这些方法。 from sele…

【iOS】—— 仿写知乎日报第一周总结

目录知乎日报第一周完成情况遇到的问题:1.线程问题:2.SDWebImage加载图片3.实现无限刷新界面4.点击主界面cell进入后的界面知乎日报第一周完成情况 在这周开始了仿写知乎日报的任务,在第一周里,我完成了主界面,以及滚…

新人入手mac折腾过程中遇到的解决方案

本文将长期更新,以记录个人的使用。 终端美化 …还没有美化完,不过推荐看这篇文章Mac终端美化指南 homebrew homebrew是Mac OS X上的强大的包管理工具,可以高效管理各种软件包,官方说法是:The missing package mana…

ArcGIS:如何新建图层组并添加数据、切换数据视图和布局视图、修改符号系统?

目录 01 如何新建图层组? 02 如何在图层组中添加数据 03 如何切换数据视图和布局视图 03 如何修改符号系统? 3.1 如何快捷的修改一下符号样式? 3.2 如何修改符号系统的色带 3.2.1 色带视图的取消 3.3 修改符号系统中的标注显示 3.4 如…

大气湍流退化图像复原技术研究及DSP实现

目录 第一章 绪论 1 1.1 研究背景 1 1.2 国内外研究现状 1 1.3 本文的研究内容 5 1.4 本文的组织结构 5 第二章 大气湍流退化图像复原技术 7 2.1 图像退化及复原数学模型概述 7 2.1.1 图像退化的数学模型 7 2.1.2 图像复原的数学模型 8 2.2 大气湍流退化图像概述 9 2.2.1 大气…

插件内存分析

rtspsrc 1. 当pipleline为rtspsrc加其他插件时,如果让其他插件卡主会发生什么事情呢?以rtspsrcfakesink为例(gst-launch-1.0.exe rtspsrc locationrtsp://xxx ! fakesink),修改fakesink的代码,让render中…

基于SSM的图书馆阅览室预约管理系统,高质量论文范例,可直接参考使用,附送源码、数据库脚本

目录 1.项目技术栈 2.适合对象 3.适合课题 4.项目功能概述 4.1 项目功能汇总 4.2 项目功能介绍 5. 高质量论文范例 6. 毕业设计撰写视频教程 6.部分运行截图 1.项目技术栈 前端必学三个基础,"HTML、CSS、JS",基本每个B/S架构项目都要…

C++【搜索二叉树】

目录 一、什么是搜索二叉树 二、搜索二叉树如何删除数据 删除的是叶子结点的情况 删除的结点下面仅有一个子节点(托孤)(要删除的结点只有一个孩子) 替换法删除 (要删除的结点有两个个孩子) 三、写一…

腾讯前辈熬夜肝了一个月整理的《Linux内核学习笔记》,啃完受益匪浅不走弯路

小编热衷于收集整理资源,记录踩坑到爬坑的过程。希望能把自己所学,实际工作中使用的技术、学习方法、心得及踩过的一些坑,记录下来。也希望想做Linux内核高级工程师的你一样,通过我的分享可以少走一些弯路,可以形成一套…

【数据结构】常见七大排序总结

目录 一、插入排序:直接插入排序【稳定排序方法】 二、插入排序:希尔排序【不稳定排序方法】 三、选择排序:直接选择排序【不稳定排序方法】 四、选择排序:堆排序【不稳定排序方法】 五、交换排序:冒泡排序【稳定…

基于单片机MC9S12XS128的两轮自平衡小车设计

目 录 1.绪论 1 1.1研究背景与意义 1 1.2两轮自平衡车的关键技术 2 1.2.1系统设计 2 1.2.2数学建模 2 1.2.3姿态检测系统 2 1.2.4控制算法 3 1.3本文主要研究目标与内容 3 1.4论文章节安排 3 2.系统原理分析 5 2.1控制系统要求分析 5 2.2平衡控制原理分析 5 2.3自平衡小车数学…

总结一下flex布局

flex布局 传统布局方案是基于盒状模型,依赖 display position float 方式来实现,灵活性较差;Flex是Flexible Box的缩写,意为”弹性布局”。Flex可以简便、完整、响应式地实现多种页面布局 CSS3 弹性盒子是一种一维的布局&…

[Spring MVC3]MyBatis详解

本章重点讲述了MyBatis映射器,对数据层进行的操作,建议本篇文章和Spring Boot的持久层相互比较来看会更加收获颇多Spring Boot持久层技术 本文需要使用到MVC第一讲的模板格式与配置情况,全部代码已经放在此博客中,Spring MVC1 目…

修改设备管理器的COM端口名称

Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class{4d36e978-e325-11ce-bfc1-08002be10318}\0001] “InfPath”“oem53.inf” “InfSection”“CH341SER_Inst.NTamd64” “ProviderName”“wch.cn” “DriverDateData”hex:00,00…

计算机算法(二)——进入计算机世界

作者介绍: 📞作者:小刘在C站 📀每天分享课堂笔记 🌹夕阳下,是最美的绽放 瑞士著名的科学家Niklaus Wirth教授曾提出:数据结构算法程序。 数据结构是程序的骨 算法是程序的灵魂。 在生活…

【 C++11 】lambda表达式

目录 1、lambda表达式的引入 2、lambda表达式 lambda表达式的语法 lambda表达式捕捉列表说明 使用lambda表达式排序自定义类型 lambda表达式的底层原理 1、lambda表达式的引入 在C98中,如果想要对一个数据集合中的元素进行排序,可以使用std::sort方法&…

asp.net图书馆借阅归还系统

图书管理系统既是完整的知识定位系统,又是面向未来互联网发展的信息管理模式。图书管理系统,是一套利用计算机信息网络技术,实现对引用、注释和参考图书的自动化处理和规范化管理,服务于教师,学生及各类科研人员的集成…

【C语言进阶考试】你是否真正学懂了C语言

目录 前言 🎒选择题【全面深度剖析】 📗考点一:无符号数unsigned的理解与应用 📕考点二:字符ASCII计算与转换的理解和应用 📙考点三:对位操作符的理解与应用 📘考点四&#xf…

docker mysql 主从配置

准备:一台装有docker的虚拟机或者服务器 拉取mysql镜像: docker pull mysql:5.6 启动两个mysql容器 master docker run -p 1006:3306 --name mysql_master -v F:/mysql/mysql_master/conf:/etc/mysql -v F:/mysql/mysql_master/logs:/logs -v F:/mys…