diff --git a/scripts/pyard b/scripts/pyard index 5c02bb9..10a46c6 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,12 @@ if __name__ == "__main__": help="Validate the provided GL String", ) parser.add_argument("--cwd", dest="cwd", help="Perform CWD redux") + 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() @@ -89,6 +95,24 @@ 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: + 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)