The CDS and introns features do not have unique IDs because they are missing the Transcript number. This REGEXP in Vim will add the Transcript number to the IDs: %s/ID=Zm00001eb\([0-9]*\)\.intron\([0-9]\);Parent=Zm00001eb[0-9]*_\(T[0-9]*\);/ID=Zm00001eb\1_\3\.intron\2;Parent=Zm00001eb\1_\3;/g Repeat for CDS