# How to calculate overlapping genes between two genome annotation versions

I have two annotations of the same genome generated with different annotation pipelines. I want to identify overlapping gene models.

An important feature of this genome is that there are many 'genes within genes', i.e. a genemodel in the intron of another genemodel. Therefore, I only want to count two genemodels as overlapping when their coding sequence exon annotations overlap.

Using something like bedtools intersect it is straightforward to calculate overlap between the gene-level annotations.

However: I am not sure how to select genes as overlapping when only their coding sequence exons (CDS features) overlap.

• Why not extract the coordinates of your CDS regions from your bed/gff files, then do the bedtools intersect? – Chris_Rands May 17 '17 at 11:58
• That would still only leave me with the overlapping CDSs features. In the end I want to know the genes. Why not write your comment into an answer? – holmrenser May 17 '17 at 13:50

## 1 Answer

Short Answer: In my opinion, my approach would be to pull out the CDS exons and run bedtools on those.

A Few More Details: When you pull out the exons, make sure that you assign them all IDs if the don't already have them assigned and record which IDs "belong" to which genes. Now when you get exons that overlap, you know that they are coding and you can tie them back to which genes they originate from.