From 1ca484c762614998d2571dc04f4ffd2ac0d94938 Mon Sep 17 00:00:00 2001
From: Tim O'Donnell <timodonnell@gmail.com>
Date: Sun, 26 Nov 2017 11:09:25 -0500
Subject: [PATCH] more efficient peptide encoding in calibrate_percentile_ranks

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

diff --git a/mhcflurry/class1_affinity_prediction/class1_affinity_predictor.py b/mhcflurry/class1_affinity_prediction/class1_affinity_predictor.py
index e61d46f7..5d6df8c6 100644
--- a/mhcflurry/class1_affinity_prediction/class1_affinity_predictor.py
+++ b/mhcflurry/class1_affinity_prediction/class1_affinity_predictor.py
@@ -6,6 +6,7 @@ from os.path import join, exists
 from six import string_types
 import logging
 import warnings
+import sys
 
 import numpy
 import pandas
@@ -532,12 +533,14 @@ class Class1AffinityPredictor(object):
         else:
             def msg(s):
                 print(s)
+                sys.stdout.flush()
 
+        encoded_peptides = EncodableSequences.create(peptides)
         for (i, allele) in enumerate(alleles):
             msg("Calibrating percentile ranks for allele %03d/%03d: %s" % (
                 i + 1, len(alleles), allele))
             start = time.time()
-            predictions = self.predict(peptides, allele=allele)
+            predictions = self.predict(encoded_peptides, allele=allele)
             msg("Generated %d predictions in %0.2f sec." % (
                 len(predictions), time.time() - start))
             transform = PercentRankTransform()
-- 
GitLab