docs: def cast_to_seq_record(obj, alphabet=IUPAC.extended_protein, id="<unknown id>", name="<unknown name>",
                         description="<unknown description>", dbxrefs=None,
                         features=None, annotations=None,
                         letter_annotations=None):
      """Return a SeqRecord representation of a string or Seq object.
  
      Args:
          obj (str, Seq, SeqRecord): Sequence string or Biopython Seq object
          alphabet: See Biopython SeqRecord docs
          id: See Biopython SeqRecord docs
          name: See Biopython SeqRecord docs
          description: See Biopython SeqRecord docs
          dbxrefs: See Biopython SeqRecord docs
          features: See Biopython SeqRecord docs
          annotations: See Biopython SeqRecord docs
          letter_annotations: See Biopython SeqRecord docs
  
      Returns:
          SeqRecord: SeqRecord representation of the sequence
  
      """
  
      if isinstance(obj, SeqRecord):
          return obj
      if isinstance(obj, Seq):
          return SeqRecord(obj, id, name, description, dbxrefs, features, annotations, letter_annotations)
      if isinstance(obj, str):
          obj = obj.upper()
          return SeqRecord(Seq(obj, alphabet), id, name, description, dbxrefs, features, annotations, letter_annotations)
      else:
          raise ValueError('Must provide a string, Seq, or SeqRecord object.')