code: def c_to_p(self, var_c, pro_ac=None):
          
  
          if not (var_c.type == "c"):
              raise HGVSInvalidVariantError("Expected a cDNA (c.) variant; got " + str(var_c))
          if self._validator:
              self._validator.validate(var_c)
          reference_data = RefTranscriptData(self.hdp, var_c.ac, pro_ac)
          builder = altseqbuilder.AltSeqBuilder(var_c, reference_data)
  
          # TODO: handle case where you get 2+ alt sequences back;
          # currently get list of 1 element loop structure implemented
          # to handle this, but doesn't really do anything currently.
          all_alt_data = builder.build_altseq()
  
          var_ps = []
          for alt_data in all_alt_data:
              builder = altseq_to_hgvsp.AltSeqToHgvsp(reference_data, alt_data)
              var_p = builder.build_hgvsp()
              var_ps.append(var_p)
  
          var_p = var_ps[0]
  
          if self.add_gene_symbol:
              self._update_gene_symbol(var_p, var_c.gene)
  
          return var_p
docs: Converts a c. SequenceVariant to a p. SequenceVariant on the specified protein accession
          Author: Rudy Rico
  
          :param SequenceVariant var_c: hgvsc tag
          :param str pro_ac: protein accession
          :rtype: hgvs.sequencevariant.SequenceVariant