[docs]@staticmethoddefencode_sequence(sequence:ReceptorSequence,params:EncoderParams,encode_locus=False):""" Encodes a receptor sequence into a sequence of k-mers Args: encode_locus: sequence: ReceptorSequence object params: EncoderParams object with information on k-mer length Returns: """k=params.model["k"]sequence_type=params.model.get('sequence_type',params.sequence_type)length=len(sequence.get_sequence(sequence_type))iflength<k:logging.warning(f'KmerSequenceEncoder: Sequence length {length} is less than {k}. Ignoring sequence...')returnNonekmers=KmerHelper.create_IMGT_kmers_from_sequence(sequence=sequence,k=k,sequence_type=sequence_type,region_type=params.model.get('region_type',params.region_type))kmers=[Constants.FEATURE_DELIMITER.join([sequence.v_gene]+[str(mer)formerinkmer])forkmerinkmers]ifencode_locus:kmers=[f"{sequence.locus}{Constants.FEATURE_DELIMITER}{kmer}"forkmerinkmers]returnkmers