SEQ 2. 生信工具之GFF和GTF互相转换 (gffread)

606078f7bf2e235b1c86a55bff5d0264.png


简         介

GTF(基因转移格式)和GFF(通用特征格式)是生物信息学程序常用的文件格式,用于表示和交换有关各种基因组特征的信息,如基因和转录本的位置和结构。GffRead是开源程序,提供了广泛和有效的解决方案来操作GTF或GFF格式的文件。虽然GffRead可以转换、排序、过滤、转换或聚类基因组功能。

许多生物医学研究应用采用管道系统地分析基因组中的基因内容。由于转录组学数据的爆炸式增长,这些管道通常涉及处理大量数据,因此需要有效的生物信息学工具来处理多个注释和序列文件,以加快基因组分析。这些工具通常交换和使用有关基因、转录本或其他基因组特征的信息,以制表符分隔的文本文件格式,通常称为GFF(通用特征格式)。这种格式描述了基因、转录本和其他功能的精确坐标和属性,如开始和停止密码子、编码序列等。GFF有许多版本,包括其最新版本GFF3和较旧的GTF(基因转移格式),有时也被称为GTF2。虽然较旧的GTF格式仅限于表示基因和转录本位置及其结构,但较新的GFF3格式可以以分层方式表示更多的基因组特征和注释。一些转录数据或基因组注释只能以其中一种格式从源中获得,但应用程序可能需要另一种格式作为输入。

fdff7afc321280d68b2a1bc04ec23f73.png

GffRead实用程序可以自动识别和无缝地使用这些文件格式,从丰富的GFF3注释文件中提取和选择功能,执行之间的转换,甚至可以将文件从BED或FASTA等其他格式转换为其他格式。来自不同来源的注释数据可能对染色体和组群使用不同的命名约定。GffRead可以帮助映射这样的基因组序列名称,从而将注释从一种参考命名约定转换为另一种。基因预测程序和转录本(RNA-Seq)组装程序通常以GTF或GFF3格式输出结果,在这种情况下,通常需要评估预测/组装转录本的准确性。

软件包安装

cd /some/build/dir
  git clone https://github.com/gpertea/gffread
  cd gffread
  make release

数据读取

GFF全称为general feature format,主要是用来注释基因组。

1       havana  mRNA    169853074       169888888       .       -       .       ID=ENST00000367770;Parent=ENSG00000000457
1       havana  three_prime_UTR 169853074       169853712       .       -       .       ID=utr_3_9648;Parent=ENST00000367770
1       havana  CDS     169853713       169853772       .       -       0       ID=CDS:ENSP00000356744;Parent=ENST00000367770
1       havana  CDS     169854270       169854964       .       -       2       ID=CDS:ENSP00000356744rep_1;Parent=ENST00000367770
1       havana  CDS     169855796       169855957       .       -       2       ID=CDS:ENSP00000356744rep_2;Parent=ENST00000367770
1       havana  CDS     169859041       169859212       .       -       0       ID=CDS:ENSP00000356744rep_3;Parent=ENST00000367770
1       havana  CDS     169862613       169862797       .       -       2       ID=CDS:ENSP00000356744rep_4;Parent=ENST00000367770
1       havana  CDS     169864369       169864508       .       -       1       ID=CDS:ENSP00000356744rep_5;Parent=ENST00000367770
1       havana  CDS     169866896       169866973       .       -       1       ID=CDS:ENSP00000356744rep_6;Parent=ENST00000367770
1       havana  CDS     169868928       169869039       .       -       2       ID=CDS:ENSP00000356744rep_7;Parent=ENST00000367770
1       havana  CDS     169870255       169870357       .       -       0       ID=CDS:ENSP00000356744rep_8;Parent=ENST00000367770
1       havana  CDS     169873696       169873752       .       -       0       ID=CDS:ENSP00000356744rep_9;Parent=ENST00000367770
1       havana  CDS     169875978       169876091       .       -       0       ID=CDS:ENSP00000356744rep_10;Parent=ENST00000367770
1       havana  CDS     169878634       169878819       .       -       0       ID=CDS:ENSP00000356744rep_11;Parent=ENST00000367770
1       havana  CDS     169888676       169888840       .       -       0       ID=CDS:ENSP00000356744rep_12;Parent=ENST00000367770
1       havana  exon    169853074       169853772       .       -       .       ID=exon_87833;Parent=ENST00000367770
1       havana  exon    169854270       169854964       .       -       .       ID=exon_87834;Parent=ENST00000367770
1       havana  exon    169855796       169855957       .       -       .       ID=exon_87835;Parent=ENST00000367770
1       havana  exon    169859041       169859212       .       -       .       ID=exon_87836;Parent=ENST00000367770
1       havana  exon    169862613       169862797       .       -       .       ID=exon_87837;Parent=ENST00000367770
1       havana  exon    169864369       169864508       .       -       .       ID=exon_87838;Parent=ENST00000367770
1       havana  exon    169866896       169866973       .       -       .       ID=exon_87839;Parent=ENST00000367770
1       havana  exon    169868928       169869039       .       -       .       ID=exon_87840;Parent=ENST00000367770
1       havana  exon    169870255       169870357       .       -       .       ID=exon_87841;Parent=ENST00000367770
1       havana  exon    169873696       169873752       .       -       .       ID=exon_87842;Parent=ENST00000367770
1       havana  exon    169875978       169876091       .       -       .       ID=exon_87843;Parent=ENST00000367770
1       havana  exon    169878634       169878819       .       -       .       ID=exon_87844;Parent=ENST00000367770
1       havana  exon    169888676       169888888       .       -       .       ID=exon_87845;Parent=ENST00000367770

GTF全称为gene transfer format,主要是用来对基因进行注释。

1       havana  transcript      169853074       169888888       .       -       .       transcript_id "ENST00000367770"; gene_id "ENSG00000000457"
1       havana  exon    169853074       169853772       .       -       .       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";
1       havana  exon    169854270       169854964       .       -       .       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";
1       havana  exon    169855796       169855957       .       -       .       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";
1       havana  exon    169859041       169859212       .       -       .       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";
1       havana  exon    169862613       169862797       .       -       .       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";
1       havana  exon    169864369       169864508       .       -       .       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";
1       havana  exon    169866896       169866973       .       -       .       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";
1       havana  exon    169868928       169869039       .       -       .       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";
1       havana  exon    169870255       169870357       .       -       .       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";
1       havana  exon    169873696       169873752       .       -       .       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";
1       havana  exon    169875978       169876091       .       -       .       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";
1       havana  exon    169878634       169878819       .       -       .       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";
1       havana  exon    169888676       169888888       .       -       .       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";
1       havana  CDS     169853713       169853772       .       -       0       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";
1       havana  CDS     169854270       169854964       .       -       2       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";
1       havana  CDS     169855796       169855957       .       -       2       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";
1       havana  CDS     169859041       169859212       .       -       0       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";
1       havana  CDS     169862613       169862797       .       -       2       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";
1       havana  CDS     169864369       169864508       .       -       1       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";
1       havana  CDS     169866896       169866973       .       -       1       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";
1       havana  CDS     169868928       169869039       .       -       2       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";
1       havana  CDS     169870255       169870357       .       -       0       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";
1       havana  CDS     169873696       169873752       .       -       0       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";
1       havana  CDS     169875978       169876091       .       -       0       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";
1       havana  CDS     169878634       169878819       .       -       0       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";
1       havana  CDS     169888676       169888840       .       -       0       transcript_id "ENST00000367770"; gene_id "ENSG00000000457";

6b723ba093fcbd74b999da0878ff6aee.png

如果根据GFF或者GTF提取CDS,蛋白质和外显子序列,需要准备基因组序列文件

实例操作

安装之后可以测试一下:

gffread -h 

gffread v0.12.7. Usage:
gffread [-g <genomic_seqs_fasta> | <dir>] [-s <seq_info.fsize>] 
 [-o <outfile>] [-t <trackname>] [-r [<strand>]<chr>:<start>-<end> [-R]]
 [--jmatch <chr>:<start>-<end>] [--no-pseudo] 
 [-CTVNJMKQAFPGUBHZWTOLE] [-w <exons.fa>] [-x <cds.fa>] [-y <tr_cds.fa>]
 [-j ][--ids <IDs.lst> | --nids <IDs.lst>] [--attrs <attr-list>] [-i <maxintron>]
 [--stream] [--bed | --gtf | --tlf] [--table <attrlist>] [--sort-by <ref.lst>]
 [<input_gff>]

参数说明:

GffRead输入选项,输入GFF3数据(转录)的过滤。

9592dbf1b49ac4fd80bf5b4175cac102.png

GffRead输出选项,默认输出仅由转录本组成,显示为GFF记录,仅保留基本属性(ID, Parent, geneID和gene_name)。

d48fd9bde7008fc6568327f3109c57c8.png

格式转换

快速读入过滤输出

这将显示输入文件 (注释)中找到的最简单的GFF3重新格式化的成绩单记录。GFF3或GTF2格式均可。-E选项 指示GffRead在解析输入文件时“暴露”(显示警告)遇到的任何潜在问题。

-E:显露(警告)重复的转录本ID和给定的GFF/GTF记录中的其他潜在问题。

gffread -E annotation.gff -o ann_simple.gff
GFF转GTF3

为了获得相同转录本的GTF2版本,需要添加-T选项:

-T:主输出将是GTF,而不是默认的GFF3。

gffread annotation.gff -T -o annotation.gtf
转录本的DNA序列生成FASTA文件

GffRead可以使用GFF文件中所有转录本的DNA序列生成FASTA文件。对于此 操作,还必须提供包含基因组序列的fasta文件。

-w    为每个转录本写一个包含剪接的外显子的fasta文件。

-g   全路径到具有基因组序列的多FASTA文件用于所有输入映射,或具有单FASTA文件的目录(每个基因组序列一个文件,文件名与序列名称匹配)。

gffread -w transcripts.fa -g genome.fa annotation.gff
GFF3转GTF
gffread annotation.gff3 -T -o annotation.gtf
GTF转GFF
gffread annotation.gtf -o annotation.gff3
合并转录本

-M/--merge :  合并完全相同的或者存在包含关系的转录本

gffread -M annotation.gff3  -o annotation.gff3
获取CDS序列

-x:输出CDS序列

gffread annotation.gff3 -g genome.fa -x cds.fa
获取蛋白序列

-y:输出蛋白质序列

gffread annotation.gff3 -g genome.fa -y protein.fa
获取转录本序列

-w:输出每个转录本的外显子序列

gffread annotation.gff3 -g genome.fa -w transcripts.fa
Reference

Pertea G and Pertea M. GFF Utilities: GffRead and GffCompare [version 1; peer review: 3 approved]. F1000Research 2020, 9:304

桓峰基因,铸造成功的您!

未来桓峰基因公众号将不间断的推出单细胞系列生信分析教程,

敬请期待!!

桓峰基因官网正式上线,请大家多多关注,还有很多不足之处,大家多多指正!http://www.kyohogene.com/

桓峰基因和投必得合作,文章润色优惠85折,需要文章润色的老师可以直接到网站输入领取桓峰基因专属优惠券码:KYOHOGENE,然后上传,付款时选择桓峰基因优惠券即可享受85折优惠哦!https://www.topeditsci.com/

dc3c9ae500f585641705b081370e3d10.png

  • 28
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 TensorFlow 2.x 中,tf.contrib.seq2seq.AttentionWrapper 已被弃用。相反,可以使用 tf.keras.layers.Attention 类来实现注意力机制。 下面是一个使用 tf.keras.layers.Attention 的示例: ```python import tensorflow as tf # 定义一个 Attention 层 attention = tf.keras.layers.Attention() # 输入序列的形状为 (batch_size, seq_len, embedding_dim) encoder_inputs = tf.keras.Input(shape=(None, embedding_dim)) decoder_inputs = tf.keras.Input(shape=(None, embedding_dim)) # 编码器 LSTM 层 encoder_lstm = tf.keras.layers.LSTM(units=hidden_size, return_sequences=True, return_state=True) encoder_outputs, state_h, state_c = encoder_lstm(encoder_inputs) # 解码器 LSTM 层 decoder_lstm = tf.keras.layers.LSTM(units=hidden_size, return_sequences=True, return_state=True) decoder_outputs, _, _ = decoder_lstm(decoder_inputs, initial_state=[state_h, state_c]) # 注意力机制 context_vector, attention_weights = attention([decoder_outputs, encoder_outputs]) # 输出层 output = tf.keras.layers.Dense(vocab_size, activation='softmax')(context_vector) # 定义模型 model = tf.keras.Model(inputs=[encoder_inputs, decoder_inputs], outputs=output) ``` 在上面的代码中,我们首先定义了一个 tf.keras.layers.Attention 层。然后,我们定义了编码器和解码器 LSTM 层,并使用它们分别对编码器输入和解码器输入进行编码。 接下来,我们使用注意力层对解码器输出和编码器输出进行注意力计算,得到上下文向量和注意力权重。 最后,我们使用一个全连接层对上下文向量进行预测,得到输出结果。 希望这个例子可以帮助你理解如何在 TensorFlow 2.x 中使用注意力机制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值