From d4823d2a51c8898510588c9ee7fd8042d554e284 Mon Sep 17 00:00:00 2001
From: Tim O'Donnell <timodonnell@gmail.com>
Date: Fri, 1 May 2020 13:34:40 -0400
Subject: [PATCH] If the presentation models are downloaded but not the
 affinity models, use the affinity predictor included with the presentation
 models. Also, bump version to 1.6.1.

---
 mhcflurry/class1_affinity_predictor.py | 14 +++++++++++++-
 mhcflurry/version.py                   |  2 +-
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/mhcflurry/class1_affinity_predictor.py b/mhcflurry/class1_affinity_predictor.py
index 3c268bb7..ae3b4fc3 100644
--- a/mhcflurry/class1_affinity_predictor.py
+++ b/mhcflurry/class1_affinity_predictor.py
@@ -453,7 +453,19 @@ class Class1AffinityPredictor(object):
         `Class1AffinityPredictor` instance
         """
         if models_dir is None:
-            models_dir = get_default_class1_models_dir()
+            try:
+                models_dir = get_default_class1_models_dir()
+            except RuntimeError as e:
+                # Fall back to the affinity predictor included in presentation
+                # predictor if possible.
+                from mhcflurry.class1_presentation_predictor import (
+                    Class1PresentationPredictor)
+                try:
+                    presentation_predictor = Class1PresentationPredictor.load()
+                    return presentation_predictor.affinity_predictor
+                except RuntimeError:
+                    raise e
+
         if optimization_level is None:
             optimization_level = OPTIMIZATION_LEVEL
 
diff --git a/mhcflurry/version.py b/mhcflurry/version.py
index e4adfb83..f49459c7 100644
--- a/mhcflurry/version.py
+++ b/mhcflurry/version.py
@@ -1 +1 @@
-__version__ = "1.6.0"
+__version__ = "1.6.1"
-- 
GitLab