code: def _create_variant(self,
                          start,
                          end,
                          ref,
                          alt,
                          fsext_len=None,
                          is_dup=False,
                          acc=None,
                          is_ambiguous=False,
                          is_sub=False,
                          is_ext=False,
                          is_no_protein=False,
                          is_init_met=False):
          
  
          if is_init_met:
              posedit = AARefAlt(ref=ref, alt=alt, init_met=True)
          elif is_ambiguous:
              posedit = None
          else:
              interval = Interval(start=start, end=end)
              # Note - order matters
              if is_no_protein:
                  edit = '0'
              elif is_sub:
                  edit = AASub(ref=ref, alt=alt)
              elif is_ext:
                  edit = AAExt(ref=ref, alt=alt, aaterm='*', length=fsext_len)
              elif self._is_frameshift:
                  edit = AAFs(ref=ref, alt=alt, length=fsext_len)
              elif is_dup:
                  edit = Dup()
              elif ref == alt == '':
                  edit = AARefAlt(ref='', alt='')
              else:
                  edit = AARefAlt(ref=ref, alt=alt)
              posedit = PosEdit(
                  pos=interval,
                  edit=edit,
                  uncertain=hgvs.global_config.mapping.inferred_p_is_uncertain)
          var_p = hgvs.sequencevariant.SequenceVariant(acc, 'p', posedit)
          return var_p
docs: Creates a SequenceVariant object