code: def protein_ids(self, contig=None, strand=None):
          
          protein_ids = self._all_feature_values(
              column="protein_id",
              feature="CDS",
              contig=contig,
              strand=strand,
              distinct=True)
          # drop None values
          return [protein_id for protein_id in protein_ids if protein_id]
docs: What are all the protein IDs
          (optionally restrict to a given chromosome and/or strand)