From f2e6fcc2294c0d8e766160aee5093e910a388cad Mon Sep 17 00:00:00 2001 From: pbashyal-nmdp Date: Wed, 16 Aug 2023 09:34:12 -0500 Subject: [PATCH 1/2] Lookup MAC based on Allele List ``` pyard --lookup-mac "A*01:01/A*01:02/A*01:03" A*01:MN ``` --- scripts/pyard | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/scripts/pyard b/scripts/pyard index 5c02bb9..3abba26 100755 --- a/scripts/pyard +++ b/scripts/pyard @@ -26,7 +26,7 @@ import sys from pyard.constants import VALID_REDUCTION_TYPES import pyard.misc -from pyard.exceptions import InvalidAlleleError, InvalidTypingError +from pyard.exceptions import InvalidAlleleError, InvalidTypingError, InvalidMACError from pyard.misc import get_data_dir, get_imgt_version if __name__ == "__main__": @@ -70,6 +70,7 @@ if __name__ == "__main__": help="Validate the provided GL String", ) parser.add_argument("--cwd", dest="cwd", help="Perform CWD redux") + parser.add_argument("--lookup-mac", dest="lookup_mac", help="Lookup Mac ") args = parser.parse_args() @@ -89,6 +90,15 @@ if __name__ == "__main__": print(f"{mapping[0]} = {'/'.join(mapping[1])}") sys.exit(0) + # Handle --lookup-mac option + if args.lookup_mac: + try: + mac = ard.lookup_mac(args.lookup_mac) + print(mac) + except InvalidMACError as e: + print(e.message, file=sys.stderr) + sys.exit(0) + try: if args.validate: ard.validate(args.cwd) From 01f982afd0b112507290f012d475596be3b1e762 Mon Sep 17 00:00:00 2001 From: pbashyal-nmdp Date: Wed, 16 Aug 2023 16:12:49 -0500 Subject: [PATCH 2/2] `--expand-mac` takes a MAC and converts to allele list --- scripts/pyard | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/scripts/pyard b/scripts/pyard index 3abba26..10a46c6 100755 --- a/scripts/pyard +++ b/scripts/pyard @@ -70,7 +70,12 @@ if __name__ == "__main__": help="Validate the provided GL String", ) parser.add_argument("--cwd", dest="cwd", help="Perform CWD redux") - parser.add_argument("--lookup-mac", dest="lookup_mac", help="Lookup Mac ") + parser.add_argument( + "--expand-mac", dest="expand_mac", help="Expand MAC to Allele List" + ) + parser.add_argument( + "--lookup-mac", dest="lookup_mac", help="Lookup MAC for an Allele List" + ) args = parser.parse_args() @@ -90,6 +95,15 @@ if __name__ == "__main__": print(f"{mapping[0]} = {'/'.join(mapping[1])}") sys.exit(0) + # Handle --expand-mac option + if args.expand_mac: + try: + allele_list = ard.expand_mac(args.expand_mac) + print(allele_list) + except InvalidMACError as e: + print(e.message, file=sys.stderr) + sys.exit(0) + # Handle --lookup-mac option if args.lookup_mac: try: