diff --git a/.gitignore b/.gitignore index e44e39073dba1cfc73a4f18cab410469ce0737b3..f09f2154082bb5325c7d291fa082ed530789a0e0 100644 --- a/.gitignore +++ b/.gitignore @@ -58,6 +58,8 @@ coverage.xml # Sphinx documentation docs/_build/ +docs/_static +docs/_templates # PyBuilder target/ diff --git a/mhcflurry/__init__.py b/mhcflurry/__init__.py index b909f85378c2d1fe0f79bef142a8ed469344601a..e743fb33ac4c3b80e66dd80f0e15ac167320316c 100644 --- a/mhcflurry/__init__.py +++ b/mhcflurry/__init__.py @@ -12,10 +12,10 @@ # See the License for the specific language governing permissions and # limitations under the License. -from .class1_affinity_prediction.class1_neural_network import ( - Class1NeuralNetwork) -from .class1_affinity_prediction.class1_affinity_predictor import ( +from mhcflurry.class1_affinity_predictor import ( Class1AffinityPredictor) +from mhcflurry.class1_neural_network import ( + Class1NeuralNetwork) __version__ = "1.0.0" diff --git a/mhcflurry/class1_affinity_prediction/__init__.py b/mhcflurry/class1_affinity_prediction/__init__.py deleted file mode 100644 index 96707e88331792c6a4cc0d0214ef656b7522bfff..0000000000000000000000000000000000000000 --- a/mhcflurry/class1_affinity_prediction/__init__.py +++ /dev/null @@ -1,9 +0,0 @@ -from __future__ import absolute_import - -from .class1_neural_network import Class1NeuralNetwork -from .class1_affinity_predictor import Class1AffinityPredictor - -__all__ = [ - 'Class1NeuralNetwork', - 'Class1AffinityPredictor', -] diff --git a/mhcflurry/class1_affinity_prediction/class1_affinity_predictor.py b/mhcflurry/class1_affinity_predictor.py similarity index 99% rename from mhcflurry/class1_affinity_prediction/class1_affinity_predictor.py rename to mhcflurry/class1_affinity_predictor.py index af94cfa05e167d49327a6f9cb5170952a909895d..f1251282814fdb23870948e329bf3cd292a9a973 100644 --- a/mhcflurry/class1_affinity_prediction/class1_affinity_predictor.py +++ b/mhcflurry/class1_affinity_predictor.py @@ -1,26 +1,24 @@ import collections -import time import hashlib import json -from os.path import join, exists -from six import string_types import logging -import warnings import sys +import time +import warnings +from os.path import join, exists +import mhcnames import numpy import pandas from numpy.testing import assert_equal +from six import string_types -import mhcnames - -from ..encodable_sequences import EncodableSequences -from ..downloads import get_path -from ..common import random_peptides -from ..percent_rank_transform import PercentRankTransform -from ..regression_target import to_ic50 - -from .class1_neural_network import Class1NeuralNetwork +from mhcflurry.class1_neural_network import Class1NeuralNetwork +from mhcflurry.common import random_peptides +from mhcflurry.downloads import get_path +from mhcflurry.encodable_sequences import EncodableSequences +from mhcflurry.percent_rank_transform import PercentRankTransform +from mhcflurry.regression_target import to_ic50 class Class1AffinityPredictor(object): diff --git a/mhcflurry/class1_affinity_prediction/class1_neural_network.py b/mhcflurry/class1_neural_network.py similarity index 98% rename from mhcflurry/class1_affinity_prediction/class1_neural_network.py rename to mhcflurry/class1_neural_network.py index a30d30b365eb7dfdc1d3775bba748337899e1792..07ee5a307a3c0ef1263985bf023381bce26c9b90 100644 --- a/mhcflurry/class1_affinity_prediction/class1_neural_network.py +++ b/mhcflurry/class1_neural_network.py @@ -7,10 +7,10 @@ import pandas from mhcflurry.hyperparameters import HyperparameterDefaults -from ..encodable_sequences import EncodableSequences -from ..amino_acid import available_vector_encodings, vector_encoding_length -from ..regression_target import to_ic50, from_ic50 -from ..common import random_peptides, amino_acid_distribution +from mhcflurry.encodable_sequences import EncodableSequences +from mhcflurry.amino_acid import available_vector_encodings, vector_encoding_length +from mhcflurry.regression_target import to_ic50, from_ic50 +from mhcflurry.common import random_peptides, amino_acid_distribution class Class1NeuralNetwork(object): diff --git a/mhcflurry/predict_command.py b/mhcflurry/predict_command.py index f3a4a2016e35d3cc7ccd615fdf0624827d34d2fe..0b35d348ed97c899fa3ed641d306cd05f47d4a2b 100644 --- a/mhcflurry/predict_command.py +++ b/mhcflurry/predict_command.py @@ -47,7 +47,7 @@ import logging import pandas from .downloads import get_path -from .class1_affinity_prediction import Class1AffinityPredictor +from .class1_affinity_predictor import Class1AffinityPredictor parser = argparse.ArgumentParser( diff --git a/mhcflurry/class1_affinity_prediction/train_allele_specific_models_command.py b/mhcflurry/train_allele_specific_models_command.py similarity index 98% rename from mhcflurry/class1_affinity_prediction/train_allele_specific_models_command.py rename to mhcflurry/train_allele_specific_models_command.py index 46680fbf2b22fae60cf222a72cfba9e338545f05..8345ec9f0a7a50e81564f9e790c26b090af1aa4a 100644 --- a/mhcflurry/class1_affinity_prediction/train_allele_specific_models_command.py +++ b/mhcflurry/train_allele_specific_models_command.py @@ -2,21 +2,20 @@ Train Class1 single allele models. """ +import argparse import os +import signal import sys -import argparse -import yaml import time -import signal import traceback from multiprocessing import Pool import pandas +import yaml from mhcnames import normalize_allele_name -from .class1_affinity_predictor import Class1AffinityPredictor -from ..common import configure_logging - +from mhcflurry.class1_affinity_predictor import Class1AffinityPredictor +from mhcflurry.common import configure_logging parser = argparse.ArgumentParser(usage=__doc__) @@ -89,6 +88,7 @@ parser.add_argument( "Set to 1 for serial run. Set to 0 to use number of cores. " "Default: %(default)s.") + def run(argv=sys.argv[1:]): # On sigusr1 print stack trace print("To show stack trace, run:\nkill -s USR1 %d" % os.getpid()) diff --git a/test/test_class1_neural_network.py b/test/test_class1_neural_network.py index 8747f7e00be1b417ee76045e85522949b43e58c1..835c632d7c2c4dc6cbe1f454bc8e04ee754229d2 100644 --- a/test/test_class1_neural_network.py +++ b/test/test_class1_neural_network.py @@ -2,7 +2,7 @@ import numpy import pandas numpy.random.seed(0) -from mhcflurry import Class1NeuralNetwork +from mhcflurry.class1_neural_network import Class1NeuralNetwork from nose.tools import eq_ from numpy import testing diff --git a/test/test_hyperparameters.py b/test/test_hyperparameters.py index c1af6cacc0e27752ae842804362b61dd16ebc0c2..0b887236f8be6313630c89e046978969316d7401 100644 --- a/test/test_hyperparameters.py +++ b/test/test_hyperparameters.py @@ -1,6 +1,6 @@ from numpy.testing import assert_equal -from mhcflurry.class1_affinity_prediction import Class1NeuralNetwork +from mhcflurry.class1_neural_network import Class1NeuralNetwork def test_all_combinations_of_hyperparameters(): diff --git a/test/test_train_allele_specific_models_command.py b/test/test_train_allele_specific_models_command.py index a556cc9a28d75a7e65f8d1202731464a73c91710..affcde7569b0ae5766ae554f50a73122f3e3894f 100644 --- a/test/test_train_allele_specific_models_command.py +++ b/test/test_train_allele_specific_models_command.py @@ -1,15 +1,14 @@ -import tempfile -import shutil -import os import json +import os +import shutil +import tempfile from numpy.testing import assert_array_less, assert_equal -from mhcflurry.class1_affinity_prediction import ( - train_allele_specific_models_command, Class1AffinityPredictor) +from mhcflurry import train_allele_specific_models_command +from mhcflurry import Class1AffinityPredictor from mhcflurry.downloads import get_path - HYPERPARAMETERS = [ { "n_models": 2,