gffread - gtf/gff文件转fasta序列

2020-06-22 17:23:07 浏览数 (1)

今天有一个需求,就是要将gtf中的转录本转成fasta序列,一开始是想着用bedtools getfasta实现,awk取出来坐标做成bed文件输入bedtools,但是结果发现bedtools是单纯按照坐标取出来的,也懒得自己写脚本取了,搜一下发现cufflinks中有个程序可以实现。

如上图所示,“ENSMUST00000082908.1”转录本是这两个exons,取出这个转录本的fasta序列其实就是这两个exons对应的序列位置,需要把两个序列连起来。比如说,exon1是 chr 1 10-50 : AAAAAAAAAA; exon2是chr 1 70-80: TTTTTTTTT(仅做例子)。那么取出来的序列为:AAAAAAAAAATTTTTTTTT。(exons中间空出的部分并没有真的转录出来)。

gffread可以直接实现这个功能,这来自于cufflinks(一直不知道这个老软件竟然还有这个功能),直接conda install cufflinks之后即可使用gffread。使用如下代码即可转换:

代码语言:javascript复制
gffread transcripts.gtf -g reference.fasta -w transcripts.fasta​

转出来效果:

使用:

代码语言:javascript复制
gffread -h

即可查看所有参数。

0 人点赞