diff --git a/abnumber/common.py b/abnumber/common.py index 8259602..adc5b21 100644 --- a/abnumber/common.py +++ b/abnumber/common.py @@ -75,8 +75,8 @@ def is_integer(object): return isinstance(object, int) or isinstance(object, np.integer) -SUPPORTED_SCHEMES = ['imgt', 'aho', 'chothia', 'kabat'] -SUPPORTED_CDR_DEFINITIONS = ['imgt', 'chothia', 'kabat', 'north'] +SUPPORTED_SCHEMES = ['imgt', 'aho', 'chothia', 'kabat','wolfguy'] +SUPPORTED_CDR_DEFINITIONS = ['imgt', 'chothia', 'kabat', 'north','wolfguy'] SCHEME_BORDERS = { # Start coordinates @@ -91,12 +91,20 @@ def is_integer(object): 'north_H': [23, 36, 50, 59, 93, 103, 114], 'north_K': [24, 35, 49, 57, 89, 98, 108], 'north_L': [24, 35, 49, 57, 89, 98, 108], + 'wolfguy_H': [151, 201, 251, 301, 351, 401, 500], + 'wolfguy_L': [551, 601, 651, 701, 751, 801, 900], + 'wolfguy_K': [551, 601, 651, 701, 751, 801, 900] } +STARTING_POSITIONS={ + 'wolfguy_H': 101, + 'wolfguy_L':501, + 'wolfguy_K':501 +} # { scheme -> { region -> list of position numbers } } SCHEME_REGIONS = { scheme: { - 'FR1': list(range(1, borders[0])), + 'FR1': list(range(STARTING_POSITIONS.get(scheme,1), borders[0])), 'CDR1': list(range(borders[0], borders[1])), 'FR2': list(range(borders[1], borders[2])), 'CDR2': list(range(borders[2], borders[3])), diff --git a/abnumber/position.py b/abnumber/position.py index bed1ec4..efd97ba 100644 --- a/abnumber/position.py +++ b/abnumber/position.py @@ -93,7 +93,7 @@ def _sort_key(self): if self.number in [33, 61, 112]: # position 112 is sorted in reverse letter_ord = -letter_ord - elif self.scheme in ['chothia', 'kabat', 'aho']: + elif self.scheme in ['chothia', 'kabat', 'aho','wolfguy']: # all letters are sorted alphabetically for these schemes pass else: