Exemplo n.º 1
0
    def get_encoded_repertoire(self, repertoire, params: EncoderParams):
        params.model = vars(self)

        return CacheHandler.memo_by_params((("encoding_model", params.model), ("type", "kmer_encoding"),
                                            ("labels", params.label_config.get_labels_by_name()),
                                            ("repertoire_id", repertoire.identifier)),
                                           lambda: self.encode_repertoire(repertoire, params), CacheObjectType.ENCODING_STEP)
Exemplo n.º 2
0
    def _get_encoded_repertoire(self, repertoire, params: EncoderParams):
        params.model = vars(self)

        return CacheHandler.memo_by_params((("encoding_model", params.model),
                                            ("labels", params.label_config.get_labels_by_name()),
                                            ("repertoire_id", repertoire.identifier),
                                            ("repertoire_data", hashlib.sha256(np.ascontiguousarray(repertoire.get_attribute(self.sequence_type.value))).hexdigest())),
                                           lambda: self._encode_repertoire(repertoire, params), CacheObjectType.ENCODING)
Exemplo n.º 3
0
 def _encode_sequence(self, sequence: ReceptorSequence, params: EncoderParams, sequence_encoder, counts):
     params.model = vars(self)
     features = sequence_encoder.encode_sequence(sequence, params)
     if features is not None:
         for i in features:
             if self.reads == ReadsType.UNIQUE:
                 counts[i] += 1
             elif self.reads == ReadsType.ALL:
                 counts[i] += sequence.metadata.count
     return counts