From cbb649d692b684ba2f847a226449c7c9a9ddbe46 Mon Sep 17 00:00:00 2001
From: Tim O'Donnell <timodonnell@gmail.com>
Date: Mon, 27 Nov 2017 18:38:06 -0500
Subject: [PATCH] peptide encoding optimization

---
 .../class1_affinity_prediction/class1_affinity_predictor.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/mhcflurry/class1_affinity_prediction/class1_affinity_predictor.py b/mhcflurry/class1_affinity_prediction/class1_affinity_predictor.py
index 5d6df8c6..b424aaf5 100644
--- a/mhcflurry/class1_affinity_prediction/class1_affinity_predictor.py
+++ b/mhcflurry/class1_affinity_prediction/class1_affinity_predictor.py
@@ -753,7 +753,11 @@ class Class1AffinityPredictor(object):
                 mask = (
                     (df.normalized_allele == allele) &
                     df.supported_peptide_length).values
-                if mask.sum() > 0:
+                if mask.all():
+                    # Common case optimization
+                    for (i, model) in enumerate(models):
+                        df["model_single_%d" % i] = model.predict(peptides)
+                elif mask.sum() > 0:
                     allele_peptides = EncodableSequences.create(
                         df.ix[mask].peptide.values)
                     for (i, model) in enumerate(models):
-- 
GitLab