Mercurial > repos > sanbi-uwc > data_manager_primer_scheme_bedfiles
changeset 5:e3655a2755c1 draft
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 88130bb7c37cca7eff6df235ba17e0ae9f11df86-dirty"
author | sanbi-uwc |
---|---|
date | Sat, 18 Apr 2020 15:35:45 +0000 |
parents | 04c898feb3ba |
children | b6c6e3ce7c14 |
files | data_manager/install_primer_scheme_bedfiles.py data_manager/install_primer_scheme_bedfiles.xml |
diffstat | 2 files changed, 40 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- a/data_manager/install_primer_scheme_bedfiles.py Sat Apr 18 15:31:58 2020 +0000 +++ b/data_manager/install_primer_scheme_bedfiles.py Sat Apr 18 15:35:45 2020 +0000 @@ -43,13 +43,16 @@ return data -def install_primer_file(output_directory, input_filename, primer_name, primer_description): - name = re.sub(r'\W', '', str(primer_name).replace(' ','_')) - output_filename = os.path.join(output_directory, name + '.bed') +def install_primer_file( + output_directory, input_filename, primer_name, primer_description +): + name = re.sub(r"\W", "", str(primer_name).replace(" ", "_")) + output_filename = os.path.join(output_directory, name + ".bed") shutil.copyfile(input_filename, output_filename) data = [dict(value=name, description=primer_description, path=output_filename)] return data + class SplitArgs(argparse.Action): def __call__(self, parser, namespace, values, option_string=None): setattr(namespace, self.dest, values.split(",")) @@ -67,14 +70,16 @@ "--primer_file", help="BED format file containing primer scheme" ) primer_file.add_argument( - "--primer_name", help="Name of primer scheme (one word). Required if --primer_file is used" + "--primer_name", + help="Name of primer scheme (one word). Required if --primer_file is used", ) primer_file.add_argument( - "--primer_description", help="Description of primer scheme. Required if --primer_file is used" + "--primer_description", + help="Description of primer scheme. Required if --primer_file is used", ) artic = parser.add_argument_group() artic.add_argument( - "--primers", + "--artic_primers", action=SplitArgs, help="Comma separated list of primers to fetch", ) @@ -84,16 +89,26 @@ ) args = parser.parse_args() - if args.primers is None and args.primer_file is None: - print("One of --primers or --primer_file + --primer_name + --primer_description is required.", file=sys.stderr) + if args.artic_primers is None and args.primer_file is None: + print( + "One of --artic_primers or --primer_file + --primer_name + --primer_description is required.", + file=sys.stderr, + ) exit(1) - elif args.primer_file is not None and (args.primer_name is None or args.primer_description is None): - print("If --primer_file is used --primer_name and --primer_description is also required", file=sys.stderr) + elif args.primer_file is not None and ( + args.primer_name is None or args.primer_description is None + ): + print( + "If --primer_file is used --primer_name and --primer_description is also required", + file=sys.stderr, + ) exit(1) - elif args.primer_file is not None and args.primers is not None: - print("Only one of --primers or --primer_file + --primer_name + --primer_description can be chosen") + elif args.primer_file is not None and args.artic_primers is not None: + print( + "Only one of --artic_primers or --primer_file + --primer_name + --primer_description can be chosen" + ) exit(1) - + config = json.load(open(args.galaxy_datamanager_filename)) output_directory = config.get("output_data", [{}])[0].get("extra_files_path", None) if output_directory is None: @@ -103,20 +118,24 @@ os.makedirs(output_directory) data_manager_dict = {} - data_manager_dict["data_tables"] = json.load(open(args.galaxy_datamanager_filename)).get( - "data_tables", {} - ) + data_manager_dict["data_tables"] = json.load( + open(args.galaxy_datamanager_filename) + ).get("data_tables", {}) data_manager_dict["data_tables"] = data_manager_dict.get("data_tables", {}) data_manager_dict["data_tables"][DATA_TABLE_NAME] = data_manager_dict[ "data_tables" ].get(DATA_TABLE_NAME, []) - if args.primers: - data = fetch_artic_primers(output_directory, args.primers) + if args.artic_primers: + data = fetch_artic_primers(output_directory, args.artic_primers) else: - data = install_primer_file(output_directory, args.primer_file, args.primer_name, args.primer_description) + data = install_primer_file( + output_directory, + args.primer_file, + args.primer_name, + args.primer_description, + ) data_manager_dict["data_tables"][DATA_TABLE_NAME].extend(data) print(data_manager_dict) json.dump(data_manager_dict, open(args.galaxy_datamanager_filename, "w")) -
--- a/data_manager/install_primer_scheme_bedfiles.xml Sat Apr 18 15:31:58 2020 +0000 +++ b/data_manager/install_primer_scheme_bedfiles.xml Sat Apr 18 15:35:45 2020 +0000 @@ -1,4 +1,4 @@ -<tool id="data_manager_primer_scheme_bedfiles" name="BED-format primer scheme data manager" version="0.0.5" tool_type="manage_data" profile="19.05"> +<tool id="data_manager_primer_scheme_bedfiles" name="BED-format primer scheme data manager" version="0.0.6" tool_type="manage_data" profile="19.05"> <requirements> <requirement type="package">python</requirement> <requirement type="package" version="2.22.0">requests</requirement>