TBtools | 地球最友好的 GFF3/GTF 序列提取工具

无论是Windows,MacOS, Linux桌面的用户,你都可以也会使用。

写在前面

伴随基因组测序的普及,越来越多物种的基因组测序项目开展并报道,为科研工作者提供了更为全面的参考序列信息。目前,单纯植物类已公布的基因组,应在400~500个物种之间。这带来了更多的数据,也带来了更多的信息分析挑战。物种基因组公布,往往(至少)会公布两个文件:

  1. 物种基因组序列文件,如 genome.fa
  2. 物种序列特征注释文件【或更常见的 基因结构注释信息文件】,如 genome.gff3 / genome.gtf

对于具有编程基础或熟悉 Linux 操作系统的数据分析人员,往往可以通过编写脚本或使用诸如 gffreads 等命令行工具来进行序列提取【如:所有基因的 CDS 序列】。但对于可以从数据中受益的更多人而言,这并不是一个完美选项。

三年前,TBtools 释放了 ** GTF/GFF3 Sequences Extract** 功能,应为极少见的【至少我没见过其他】 可实现基于 GTF/GFF3 注释信息 从全基因组序列中提取 指定特征序列集合 的GUI工具


【注,其中 Start 摁钮为灰色,即不可用,下文有说明】

常见用途

  1. 提取所有 CDS 序列集合(可用 TBtools 直接翻译成 蛋白序列集合)
  2. 提取所有 Exon 序列集合(即注释文件中所有转录本序列)
  3. 提取所有 Gene 序列结合(即基因的所有Exon和Intron序列)
  4. 提取所有 Promoter 序列集合(或为 UTR及上游1~2kb;或为 ATG及上游1~2kb等)

TBtools 提取出的序列可以保证 ID 完全统一,方便后续任何分析【如基因结构可视化,基因定位在染色体上等等】。当然,TBtools 也提供了 GTF/GFF3 信息整理工具,可方便用于直接整理 ID 重命名的映射文件,随后可用 Fasta Rename 直接进行批量重命名。

以下,大体介绍下两个常见用途(提取 CDS 或 提取 Promoter)的操作姿势

使用到的文件


【注:如果文件是.gz .rar .tar.gz 等后缀的压缩文件,请先解压缩再使用】

使用第一步

GFF3/GTF文件中存储的序列特征很多,对于 GUI 操作,用户往往需要全面了解文件中可供提取的序列特征,如CDS, Exon等。所以使用这一功能的第一步,即 a) 导入GFF3/GTF文件 b) 点击初始化

可以看到,点击初始化之后,Feature ID等均有了变化

同时还会弹出一个文本对话框,这个对话框,事实上用户辅助用户选择 Feature Tag 和 Feature ID。

  1. Feature Tag,一般是 CDS, Exon, mRNA, Transcript, Gene等,用户往往已经知道自己要提取什么,不需要辅助
  2. Feature ID,以 CDS 和mRNA为例。我们很清楚,真核生物中,大多数基因均是断裂基因,即 Exon-Intron-Exon... CDS即Exon的部分,所以CDS本身在基因序列的尺度上,也是被 Intron 所分隔。当我们需要提取 CDS 的时候,往往我们说的并不是提取 一截CDS,而是把某个转录本对应的几截甚至几十截 CDS 按照正确的顺序和方向连接起来之后的真实的 CDS 全长。于是 ,如何连接,这个时候,就需要用户指定一个 ID,如下,

可以看到 GFF3 注释文件中,同一个转录本 ATG01010.1 拥有几截CDS。这些 CDS 可以以 Parent 这个 Feature ID 来归组,并组合成 ATG01010.1 的 CDS 全长。事实上,这个文件比较简单,因为 CDS 并没有更多的 Feature ID 可以选择。在其他物种中,常常会出现各种各种的 Feature ID,比如直接是 ID=。
可以看到图片中还有 mRNA,在这个注释文件中,每一个mRNA基友 ID= 也有 Parent=,前者事实上是这个 mRNA 独有的标签,后者则记录了这个 mRNA 属于是哪一个基因的转录本之一。此时,如果是要提取这个mRNA的序列【包括Exon和Intron】,那么设置 Feature ID 为 ID 则是正确的。如果选择 Feature ID 为 Parent,则只会得到不理想的结果。一个基因多个转录本会有完全相同的 Parent 便签,这些转录本会按顺序串联起来,这并不没有生物学意义。

于是,可以开始不同的提取操作了,但是在开始之前,还有一件事情一定不能忘记。

注意事项

TBtools 所有 GUI 功能的设计与使用遵从一个基本逻辑:set [I]nput files,set [O]utput files if needed,click [S]tart button,简称 IOS

所以,下述任何操作,即点击 Start 之前,先设置输出文件。

提取物种所有 CDS 序列


【注意,必须先设置 输出文件】


很快,可以看到输出文件。其中包括了物种【注释文件中包括】的所有CDS序列全长。

如果需要 蛋白序列 集合,那么只需要直接用 TBtools 的 批量翻译功能即可。

提取所有转录本的 Promoter 序列

Promoter 往往指 UTR上游1~2kb 的区间,这并不绝对,因为顺式作用元件同样可以存在于 Intron 甚至是 Exon 上。目前,大多数物种的基因结构注释信息并不完善,在常见的数据分析中,除少数模式生物,如拟南芥,水稻,人类等,在提及对 Promoter 序列的分析,往往直接使用 翻译起始密码子ATG上游1~2kb的序列。此处,也以同样的方式处理【注,这并不是我本人的生物学认定,仅为演示用】。


于是可以得到,


于是,在所有 CDS 全长的前面,增加了 1000bp 的序列,即上述提及的 Promoter 序列。

很多时候,大家需要的是不包含CDS序列的,纯粹的 Promoter 序列,这个时候,只需要勾选多一个选项即可,



于是得到


于是,对于其他序列特征,如Exon全长,miRNA前体等等,参考以上就可以了。

其他参数详解

这个功能基本完善于两三年前,但是参数还是比较丰富。



其中:

  1. 仅提取不多于指定Feature数目的序列,比如,有时候我们只需要 单外显子 转录本的,那么这个时候,指定最多允许1个Exon即可。
  2. 仅提取不少于指定Feature数据的序列,与1. 正好相反
  3. 保留注释信息在输出的 Fasta 文件 ID,中,有时候我们希望得到信息相对全面的文件
  4. 提取 Feature 5’ 端上游指定长度的序列,如上述的 CDS 上游1kb
  5. 提取 Feature 3’ 端下游指定长度的序列
  6. 只保留上游或下游序列

补充

当然,你可能还有各式各样的需求。
你只是需要部分基因的Promoter,那就用 TBtools 的 Fasta Extract,



你想要提取GFF3中每个转录本对应的基因ID,



你又想要批量对提取之后的序列进行重命名

你还要想什么?用好搜索框!不用拼命翻菜单。

写在后面

昨天半夜醒来,毫无困意。推文写得七七八八,加上前述也听闻 follower 要在他们的软件里面实现类似的功能,那么索性推出,方便作为他们的参考。整体上,这个功能自从推出后,几乎没有更新过。不过我个人的使用频次较高,主要原因在于,越多物种的基因组数据要分析,越多项目需要开展,那么 ID 的一致和统一就越显得重要,而 TBtools 在这块上从设计之初就很在意。
有时候,我们更多地应该从程序解析或者机械自动化的角度去思考问题,设计和实现功能;而不是纯粹考虑输出结果如何迎合人类偏好。因为,人的欲望是复杂的,甚至是无规律可循。于是,剩下的,就只有断层。
当然,这也是为什么,很多类似生信小工具很少人愿意去写,比如 TBtools 的 Fasta 序列操作(包括提取,重命名,格式化等等)。为什么在 TBtools 之前没有轻便的工具【事实上,除去JRE和一些Wrapper程序,TBtools的整体大小只有几Mb】?
其实道理就这么简单,因为简单而且繁杂的事情,做数据分析/软件开发方向的绝大多数人,并不在意或者并不愿意,因为这看起来并没什么技术含量,就跟我现在一直在做的多数工作一样。
不过,有没有技术含量,跟值不值得,喜不喜欢,似乎并没有关系。市面上,又有多少是有技术含量的呢?如果你认真起来。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,519评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,842评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,544评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,742评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,646评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,027评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,513评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,169评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,324评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,268评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,299评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,996评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,591评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,667评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,911评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,288评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,871评论 2 341

推荐阅读更多精彩内容