From 7a54300bf2347662a58808584b87dfb5c3fbbfc1 Mon Sep 17 00:00:00 2001
From: Tim O'Donnell <timodonnell@gmail.com>
Date: Fri, 6 Sep 2019 15:27:33 -0400
Subject: [PATCH] truncate huge error message when missing an allele in the
 pan-allele predictor

---
 mhcflurry/class1_affinity_predictor.py | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/mhcflurry/class1_affinity_predictor.py b/mhcflurry/class1_affinity_predictor.py
index 10ae6365..6068581a 100644
--- a/mhcflurry/class1_affinity_predictor.py
+++ b/mhcflurry/class1_affinity_predictor.py
@@ -1079,11 +1079,16 @@ class Class1AffinityPredictor(object):
                 if allele not in self.allele_to_sequence
             ]
             if unsupported_alleles:
+                truncate_at = 100
+                allele_string = " ".join(
+                    sorted(self.allele_to_sequence)[:truncate_at])
+                if len(self.allele_to_sequence) > truncate_at:
+                    allele_string += " + %d more alleles" % (
+                        len(self.allele_to_sequence) - truncate_at)
                 msg = (
                     "No sequences for allele(s): %s.\n"
                     "Supported alleles: %s" % (
-                        " ".join(unsupported_alleles),
-                        " ".join(sorted(self.allele_to_sequence))))
+                        " ".join(unsupported_alleles), allele_string))
                 logging.warning(msg)
                 if throw:
                     raise ValueError(msg)
-- 
GitLab