code: def gene_counts(self):
          
          return {
              gene_name: len(group)
              for (gene_name, group)
              in self.groupby_gene_name().items()
          }
docs: Returns number of elements overlapping each gene name. Expects the
          derived class (VariantCollection or EffectCollection) to have
          an implementation of groupby_gene_name.