From c9e89845045cbb9b606ac759c47b4c032a377357 Mon Sep 17 00:00:00 2001 From: Tim O'Donnell <timodonnell@gmail.com> Date: Mon, 12 Feb 2018 16:21:51 -0500 Subject: [PATCH] add filter_networks function --- mhcflurry/class1_affinity_predictor.py | 27 ++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/mhcflurry/class1_affinity_predictor.py b/mhcflurry/class1_affinity_predictor.py index 4a4144ea..4773df95 100644 --- a/mhcflurry/class1_affinity_predictor.py +++ b/mhcflurry/class1_affinity_predictor.py @@ -1046,4 +1046,31 @@ class Class1AffinityPredictor(object): return encoded_peptides + def filter_networks(self, predicate): + """ + Return a new Class1AffinityPredictor containing a subset of this + predictor's neural networks. + + Parameters + ---------- + predicate : Class1NeuralNetwork -> boolean + Function specifying which neural networks to include + Returns + ------- + Class1AffinityPredictor + """ + allele_to_allele_specific_models = {} + for (allele, models) in self.allele_to_allele_specific_models.items(): + allele_to_allele_specific_models[allele] = [ + m for m in models if predicate(m) + ] + class1_pan_allele_models = [ + m for m in self.class1_pan_allele_models if predicate(m) + ] + + return Class1AffinityPredictor( + allele_to_allele_specific_models=allele_to_allele_specific_models, + class1_pan_allele_models=class1_pan_allele_models, + allele_to_fixed_length_sequence=self.allele_to_fixed_length_sequence, + ) \ No newline at end of file -- GitLab