This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Convert GTF file into GFF3 file

Hello everyone !

I'm looking for an easy way to transform any gtf file to a gff3 file.

I've tried different script proposed by maker ( genemark_gtf2gff3 and cufflinks2gff3 ) but none of them is working with my file, which doesn't come from genemark nor cufflinks.

Any suggestions ?

Thanks !

Roxane

script

1 answer

Did you try? http://blog.nextgenetics.net/?e=27

Thanks I'm going to try it ! It could be a stupid question, but I can't recognize the language used here :

import sys

inFile = open(sys.argv[1],'r')

for line in inFile:
#skip comment lines that start with the '#' character
if line[0] != '#':
#split line into columns by tab
data = line.strip().split('\t')

#parse the transcript/gene ID. I suck at using regex, so I usually just do a series of splits.
transcriptID = data[-1].split('transcript_id')[-1].split(';')[0].strip()[1:-1]
geneID = data[-1].split('gene_id')[-1].split(';')[0].strip()[1:-1]

#replace the last column with a GFF formatted attributes columns
#I added a GID attribute just to conserve all the GTF data
data[-1] = "ID=" + transcriptID + ";GID=" + geneID

#print out this new GFF line
print '\t'.join(data)

Stupid question, it is written just above, python, sorry !

Log in to answer this question.