changeset 0:00ed379c9df1 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:21:47 +0000
parents
children 193e5a407be8
files data_manager/install_primer_scheme_bedfiles.py data_manager/install_primer_scheme_bedfiles.xml data_manager/test.json data_manager/tmp/ARTICv1.bed data_manager/tmp/test.bed data_manager_conf.xml tool-data/artic_sars_cov2_primers.loc.sample tool_data_table_conf.xml.sample
diffstat 8 files changed, 405 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data_manager/install_primer_scheme_bedfiles.py	Sat Apr 18 15:21:47 2020 +0000
@@ -0,0 +1,122 @@
+#!/usr/bin/env python
+
+from __future__ import print_function, division
+
+import argparse
+import json
+import os
+import os.path
+import re
+import sys
+import shutil
+
+import requests
+
+DATA_TABLE_NAME = "primer_scheme_bedfiles"
+
+
+def fetch_artic_primers(output_directory, primers):
+    primer_sets = {
+        "ARTICv1": "https://raw.githubusercontent.com/artic-network/artic-ncov2019/master/primer_schemes/nCoV-2019/V1/nCoV-2019.bed",
+        "ARTICv2": "https://raw.githubusercontent.com/artic-network/artic-ncov2019/master/primer_schemes/nCoV-2019/V2/nCoV-2019.bed",
+        "ARTICv3": "https://raw.githubusercontent.com/artic-network/artic-ncov2019/master/primer_schemes/nCoV-2019/V3/nCoV-2019.bed",
+    }
+
+    data = []
+    for name, url in primer_sets.items():
+        if name not in primers:
+            continue
+        response = requests.get(url)
+        if response.status_code != 200:
+            print(
+                "Error: download of",
+                url,
+                "failed with code",
+                response.status_code,
+                file=sys.stderr,
+            )
+            exit(response.status_code)
+        bed_output_filename = os.path.join(output_directory, name + ".bed")
+        open(bed_output_filename, "w").write(response.text)
+        description = name[:-2] + " " + name[-2:] + " primer set"
+        data.append(dict(value=name, path=bed_output_filename, description=description))
+    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')
+    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(","))
+
+
+if __name__ == "__main__":
+    parser = argparse.ArgumentParser(
+        description="Fetch ARTIC SARS-CoV-2 primer files for Galaxy/IRIDA use"
+    )
+    parser.add_argument(
+        "--output_directory", default="tmp", help="Directory to write output to"
+    )
+    primer_file = parser.add_argument_group()
+    primer_file.add_argument(
+        "--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_file.add_argument(
+        "--primer_description", help="Description of primer scheme. Required if --primer_file is used"
+    )
+    artic = parser.add_argument_group()
+    artic.add_argument(
+        "--primers",
+        action=SplitArgs,
+        help="Comma separated list of primers to fetch",
+    )
+    parser.add_argument(
+        "galaxy_datamanager_filename",
+        help="Galaxy JSON format file describing data manager inputs",
+    )
+    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)
+        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)
+        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")
+        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:
+        output_directory = args.output_directory
+
+    if not os.path.isdir(output_directory):
+        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"] = 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)
+    else:
+        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"))
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data_manager/install_primer_scheme_bedfiles.xml	Sat Apr 18 15:21:47 2020 +0000
@@ -0,0 +1,51 @@
+<tool id="data_manager_primer_scheme_bedfiles" name="ARTIC SARS-CoV-2 primer data manager" version="0.0.1" tool_type="manage_data" profile="19.05">
+    <requirements>
+        <requirement type="package">python</requirement>
+        <requirement type="package" version="2.22.0">requests</requirement>
+    </requirements>
+    <!-- fetch all the primers in one go -->
+    <command detect_errors="exit_code">
+    python '$__tool_directory__/fetch_artic_sars_cov2_primers.py'
+        '${output_file}'
+        #if $input.input_type == "ARTIC"
+            --artic_primers '${primers}'
+        #else 
+            --primer_file '${input.primer_input}'
+            --primer_name '${input.primer_name}'
+            --primer_description '${input.primer_description}'
+    </command>
+    <inputs>
+        <conditional name="input">
+            <param name="input_type" label="Choose the source for primer schemes" type="select">
+                <option value="ARTIC" selected="true">ARTIC Github page</option>
+                <option value="history">History</option>
+            </param>
+            <when value="ARTIC">                    
+                <param name="primers" type="select" multiple="true" label="SARS-CoV-2 Primers to fetch">
+                    <option value="ARTICv1" selected="true">ARTIC v1</option>
+                    <option value="ARTICv2" selected="true">ARTIC v2</option>
+                    <option value="ARTICv3" selected="true">ARTIC v3</option>
+                </param>
+            </when>
+            <when value="history">
+                <param name="primer_input" label="Select history item" type="data" format="bed" />
+                <param name="primer_name" label="Name for this primer scheme" type="text" 
+                       help="Non-word characters will be removed from primer scheme name and spaces replaced with underscore (_)" />
+                <param name="primer_description" label="Description for primer scheme" type="text" />
+            </when>
+        </conditional>
+    </inputs>
+    <outputs>
+        <data name="output_file" format="data_manager_json"/>
+    </outputs>
+    <tests>
+        <test>
+            <param name="primers" value="ARTICv1,ARTICv2,ARTICv3"/>
+            <output name="output_file">
+                <assert_contents>
+                    <has_text text="ARTIC"/>
+                </assert_contents>
+            </output>        
+        </test>
+    </tests>
+</tool>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data_manager/test.json	Sat Apr 18 15:21:47 2020 +0000
@@ -0,0 +1,1 @@
+{"data_tables": {"primer_scheme_bedfiles": [{"value": "test", "description": "test", "path": "tmp/test.bed"}, {"value": "ARTICv1", "path": "tmp/ARTICv1.bed", "description": "ARTIC v1 primer set"}]}}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data_manager/tmp/ARTICv1.bed	Sat Apr 18 15:21:47 2020 +0000
@@ -0,0 +1,196 @@
+MN908947.3	30	54	nCoV-2019_1_LEFT	60	+
+MN908947.3	385	410	nCoV-2019_1_RIGHT	60	-
+MN908947.3	320	342	nCoV-2019_2_LEFT	60	+
+MN908947.3	704	726	nCoV-2019_2_RIGHT	60	-
+MN908947.3	642	664	nCoV-2019_3_LEFT	60	+
+MN908947.3	1004	1028	nCoV-2019_3_RIGHT	60	-
+MN908947.3	943	965	nCoV-2019_4_LEFT	60	+
+MN908947.3	1312	1337	nCoV-2019_4_RIGHT	60	-
+MN908947.3	1242	1264	nCoV-2019_5_LEFT	60	+
+MN908947.3	1623	1651	nCoV-2019_5_RIGHT	60	-
+MN908947.3	1573	1595	nCoV-2019_6_LEFT	60	+
+MN908947.3	1942	1964	nCoV-2019_6_RIGHT	60	-
+MN908947.3	1875	1897	nCoV-2019_7_LEFT	60	+
+MN908947.3	2247	2269	nCoV-2019_7_RIGHT	60	-
+MN908947.3	2181	2205	nCoV-2019_8_LEFT	60	+
+MN908947.3	2568	2592	nCoV-2019_8_RIGHT	60	-
+MN908947.3	2505	2529	nCoV-2019_9_LEFT	60	+
+MN908947.3	2882	2904	nCoV-2019_9_RIGHT	60	-
+MN908947.3	2826	2850	nCoV-2019_10_LEFT	60	+
+MN908947.3	3183	3210	nCoV-2019_10_RIGHT	60	-
+MN908947.3	3144	3166	nCoV-2019_11_LEFT	60	+
+MN908947.3	3507	3531	nCoV-2019_11_RIGHT	60	-
+MN908947.3	3460	3482	nCoV-2019_12_LEFT	60	+
+MN908947.3	3826	3853	nCoV-2019_12_RIGHT	60	-
+MN908947.3	3771	3795	nCoV-2019_13_LEFT	60	+
+MN908947.3	4142	4164	nCoV-2019_13_RIGHT	60	-
+MN908947.3	4054	4077	nCoV-2019_14_LEFT	60	+
+MN908947.3	4428	4450	nCoV-2019_14_RIGHT	60	-
+MN908947.3	4294	4321	nCoV-2019_15_LEFT	60	+
+MN908947.3	4674	4696	nCoV-2019_15_RIGHT	60	-
+MN908947.3	4636	4658	nCoV-2019_16_LEFT	60	+
+MN908947.3	4995	5017	nCoV-2019_16_RIGHT	60	-
+MN908947.3	4939	4966	nCoV-2019_17_LEFT	60	+
+MN908947.3	5296	5321	nCoV-2019_17_RIGHT	60	-
+MN908947.3	5230	5259	nCoV-2019_18_LEFT	60	+
+MN908947.3	5620	5644	nCoV-2019_18_RIGHT	60	-
+MN908947.3	5563	5586	nCoV-2019_19_LEFT	60	+
+MN908947.3	5932	5957	nCoV-2019_19_RIGHT	60	-
+MN908947.3	5867	5894	nCoV-2019_20_LEFT	60	+
+MN908947.3	6247	6272	nCoV-2019_20_RIGHT	60	-
+MN908947.3	6167	6196	nCoV-2019_21_LEFT	60	+
+MN908947.3	6528	6550	nCoV-2019_21_RIGHT	60	-
+MN908947.3	6466	6495	nCoV-2019_22_LEFT	60	+
+MN908947.3	6846	6873	nCoV-2019_22_RIGHT	60	-
+MN908947.3	6718	6745	nCoV-2019_23_LEFT	60	+
+MN908947.3	7092	7117	nCoV-2019_23_RIGHT	60	-
+MN908947.3	7035	7058	nCoV-2019_24_LEFT	60	+
+MN908947.3	7389	7415	nCoV-2019_24_RIGHT	60	-
+MN908947.3	7305	7332	nCoV-2019_25_LEFT	60	+
+MN908947.3	7671	7694	nCoV-2019_25_RIGHT	60	-
+MN908947.3	7626	7651	nCoV-2019_26_LEFT	60	+
+MN908947.3	7997	8019	nCoV-2019_26_RIGHT	60	-
+MN908947.3	7943	7968	nCoV-2019_27_LEFT	60	+
+MN908947.3	8319	8341	nCoV-2019_27_RIGHT	60	-
+MN908947.3	8249	8275	nCoV-2019_28_LEFT	60	+
+MN908947.3	8635	8661	nCoV-2019_28_RIGHT	60	-
+MN908947.3	8595	8619	nCoV-2019_29_LEFT	60	+
+MN908947.3	8954	8983	nCoV-2019_29_RIGHT	60	-
+MN908947.3	8888	8913	nCoV-2019_30_LEFT	60	+
+MN908947.3	9245	9271	nCoV-2019_30_RIGHT	60	-
+MN908947.3	9204	9226	nCoV-2019_31_LEFT	60	+
+MN908947.3	9557	9585	nCoV-2019_31_RIGHT	60	-
+MN908947.3	9477	9502	nCoV-2019_32_LEFT	60	+
+MN908947.3	9834	9858	nCoV-2019_32_RIGHT	60	-
+MN908947.3	9784	9806	nCoV-2019_33_LEFT	60	+
+MN908947.3	10146	10171	nCoV-2019_33_RIGHT	60	-
+MN908947.3	10076	10099	nCoV-2019_34_LEFT	60	+
+MN908947.3	10437	10459	nCoV-2019_34_RIGHT	60	-
+MN908947.3	10362	10384	nCoV-2019_35_LEFT	60	+
+MN908947.3	10737	10763	nCoV-2019_35_RIGHT	60	-
+MN908947.3	10666	10688	nCoV-2019_36_LEFT	60	+
+MN908947.3	11048	11074	nCoV-2019_36_RIGHT	60	-
+MN908947.3	10999	11022	nCoV-2019_37_LEFT	60	+
+MN908947.3	11372	11394	nCoV-2019_37_RIGHT	60	-
+MN908947.3	11306	11331	nCoV-2019_38_LEFT	60	+
+MN908947.3	11668	11693	nCoV-2019_38_RIGHT	60	-
+MN908947.3	11555	11584	nCoV-2019_39_LEFT	60	+
+MN908947.3	11927	11949	nCoV-2019_39_RIGHT	60	-
+MN908947.3	11863	11889	nCoV-2019_40_LEFT	60	+
+MN908947.3	12234	12256	nCoV-2019_40_RIGHT	60	-
+MN908947.3	12110	12133	nCoV-2019_41_LEFT	60	+
+MN908947.3	12465	12490	nCoV-2019_41_RIGHT	60	-
+MN908947.3	12417	12439	nCoV-2019_42_LEFT	60	+
+MN908947.3	12779	12802	nCoV-2019_42_RIGHT	60	-
+MN908947.3	12710	12732	nCoV-2019_43_LEFT	60	+
+MN908947.3	13074	13096	nCoV-2019_43_RIGHT	60	-
+MN908947.3	13005	13027	nCoV-2019_44_LEFT	60	+
+MN908947.3	13378	13400	nCoV-2019_44_RIGHT	60	-
+MN908947.3	13319	13344	nCoV-2019_45_LEFT	60	+
+MN908947.3	13669	13699	nCoV-2019_45_RIGHT	60	-
+MN908947.3	13599	13621	nCoV-2019_46_LEFT	60	+
+MN908947.3	13962	13984	nCoV-2019_46_RIGHT	60	-
+MN908947.3	13918	13946	nCoV-2019_47_LEFT	60	+
+MN908947.3	14271	14299	nCoV-2019_47_RIGHT	60	-
+MN908947.3	14207	14232	nCoV-2019_48_LEFT	60	+
+MN908947.3	14579	14601	nCoV-2019_48_RIGHT	60	-
+MN908947.3	14545	14570	nCoV-2019_49_LEFT	60	+
+MN908947.3	14898	14926	nCoV-2019_49_RIGHT	60	-
+MN908947.3	14865	14895	nCoV-2019_50_LEFT	60	+
+MN908947.3	15224	15246	nCoV-2019_50_RIGHT	60	-
+MN908947.3	15171	15193	nCoV-2019_51_LEFT	60	+
+MN908947.3	15538	15560	nCoV-2019_51_RIGHT	60	-
+MN908947.3	15481	15503	nCoV-2019_52_LEFT	60	+
+MN908947.3	15861	15886	nCoV-2019_52_RIGHT	60	-
+MN908947.3	15827	15851	nCoV-2019_53_LEFT	60	+
+MN908947.3	16186	16209	nCoV-2019_53_RIGHT	60	-
+MN908947.3	16118	16144	nCoV-2019_54_LEFT	60	+
+MN908947.3	16485	16510	nCoV-2019_54_RIGHT	60	-
+MN908947.3	16416	16444	nCoV-2019_55_LEFT	60	+
+MN908947.3	16804	16833	nCoV-2019_55_RIGHT	60	-
+MN908947.3	16748	16770	nCoV-2019_56_LEFT	60	+
+MN908947.3	17130	17152	nCoV-2019_56_RIGHT	60	-
+MN908947.3	17065	17087	nCoV-2019_57_LEFT	60	+
+MN908947.3	17430	17452	nCoV-2019_57_RIGHT	60	-
+MN908947.3	17381	17406	nCoV-2019_58_LEFT	60	+
+MN908947.3	17738	17761	nCoV-2019_58_RIGHT	60	-
+MN908947.3	17674	17697	nCoV-2019_59_LEFT	60	+
+MN908947.3	18036	18062	nCoV-2019_59_RIGHT	60	-
+MN908947.3	17966	17993	nCoV-2019_60_LEFT	60	+
+MN908947.3	18324	18348	nCoV-2019_60_RIGHT	60	-
+MN908947.3	18253	18275	nCoV-2019_61_LEFT	60	+
+MN908947.3	18650	18672	nCoV-2019_61_RIGHT	60	-
+MN908947.3	18596	18618	nCoV-2019_62_LEFT	60	+
+MN908947.3	18957	18979	nCoV-2019_62_RIGHT	60	-
+MN908947.3	18896	18918	nCoV-2019_63_LEFT	60	+
+MN908947.3	19275	19297	nCoV-2019_63_RIGHT	60	-
+MN908947.3	19204	19232	nCoV-2019_64_LEFT	60	+
+MN908947.3	19591	19616	nCoV-2019_64_RIGHT	60	-
+MN908947.3	19548	19570	nCoV-2019_65_LEFT	60	+
+MN908947.3	19911	19939	nCoV-2019_65_RIGHT	60	-
+MN908947.3	19844	19866	nCoV-2019_66_LEFT	60	+
+MN908947.3	20231	20255	nCoV-2019_66_RIGHT	60	-
+MN908947.3	20172	20200	nCoV-2019_67_LEFT	60	+
+MN908947.3	20542	20572	nCoV-2019_67_RIGHT	60	-
+MN908947.3	20472	20496	nCoV-2019_68_LEFT	60	+
+MN908947.3	20867	20890	nCoV-2019_68_RIGHT	60	-
+MN908947.3	20786	20813	nCoV-2019_69_LEFT	60	+
+MN908947.3	21146	21169	nCoV-2019_69_RIGHT	60	-
+MN908947.3	21075	21104	nCoV-2019_70_LEFT	60	+
+MN908947.3	21427	21455	nCoV-2019_70_RIGHT	60	-
+MN908947.3	21357	21386	nCoV-2019_71_LEFT	60	+
+MN908947.3	21716	21743	nCoV-2019_71_RIGHT	60	-
+MN908947.3	21658	21682	nCoV-2019_72_LEFT	60	+
+MN908947.3	22013	22038	nCoV-2019_72_RIGHT	60	-
+MN908947.3	21961	21990	nCoV-2019_73_LEFT	60	+
+MN908947.3	22324	22346	nCoV-2019_73_RIGHT	60	-
+MN908947.3	22262	22290	nCoV-2019_74_LEFT	60	+
+MN908947.3	22626	22650	nCoV-2019_74_RIGHT	60	-
+MN908947.3	22516	22542	nCoV-2019_75_LEFT	60	+
+MN908947.3	22877	22903	nCoV-2019_75_RIGHT	60	-
+MN908947.3	22797	22819	nCoV-2019_76_LEFT	60	+
+MN908947.3	23192	23214	nCoV-2019_76_RIGHT	60	-
+MN908947.3	23122	23144	nCoV-2019_77_LEFT	60	+
+MN908947.3	23500	23522	nCoV-2019_77_RIGHT	60	-
+MN908947.3	23443	23466	nCoV-2019_78_LEFT	60	+
+MN908947.3	23822	23847	nCoV-2019_78_RIGHT	60	-
+MN908947.3	23789	23812	nCoV-2019_79_LEFT	60	+
+MN908947.3	24145	24169	nCoV-2019_79_RIGHT	60	-
+MN908947.3	24078	24100	nCoV-2019_80_LEFT	60	+
+MN908947.3	24443	24467	nCoV-2019_80_RIGHT	60	-
+MN908947.3	24391	24416	nCoV-2019_81_LEFT	60	+
+MN908947.3	24765	24789	nCoV-2019_81_RIGHT	60	-
+MN908947.3	24696	24721	nCoV-2019_82_LEFT	60	+
+MN908947.3	25052	25076	nCoV-2019_82_RIGHT	60	-
+MN908947.3	24978	25003	nCoV-2019_83_LEFT	60	+
+MN908947.3	25347	25369	nCoV-2019_83_RIGHT	60	-
+MN908947.3	25279	25301	nCoV-2019_84_LEFT	60	+
+MN908947.3	25646	25673	nCoV-2019_84_RIGHT	60	-
+MN908947.3	25601	25623	nCoV-2019_85_LEFT	60	+
+MN908947.3	25969	25994	nCoV-2019_85_RIGHT	60	-
+MN908947.3	25902	25924	nCoV-2019_86_LEFT	60	+
+MN908947.3	26290	26315	nCoV-2019_86_RIGHT	60	-
+MN908947.3	26197	26219	nCoV-2019_87_LEFT	60	+
+MN908947.3	26566	26590	nCoV-2019_87_RIGHT	60	-
+MN908947.3	26520	26542	nCoV-2019_88_LEFT	60	+
+MN908947.3	26890	26913	nCoV-2019_88_RIGHT	60	-
+MN908947.3	26835	26857	nCoV-2019_89_LEFT	60	+
+MN908947.3	27202	27227	nCoV-2019_89_RIGHT	60	-
+MN908947.3	27141	27164	nCoV-2019_90_LEFT	60	+
+MN908947.3	27511	27533	nCoV-2019_90_RIGHT	60	-
+MN908947.3	27446	27471	nCoV-2019_91_LEFT	60	+
+MN908947.3	27825	27854	nCoV-2019_91_RIGHT	60	-
+MN908947.3	27784	27808	nCoV-2019_92_LEFT	60	+
+MN908947.3	28145	28172	nCoV-2019_92_RIGHT	60	-
+MN908947.3	28081	28104	nCoV-2019_93_LEFT	60	+
+MN908947.3	28442	28464	nCoV-2019_93_RIGHT	60	-
+MN908947.3	28394	28416	nCoV-2019_94_LEFT	60	+
+MN908947.3	28756	28779	nCoV-2019_94_RIGHT	60	-
+MN908947.3	28677	28699	nCoV-2019_95_LEFT	60	+
+MN908947.3	29041	29063	nCoV-2019_95_RIGHT	60	-
+MN908947.3	28985	29007	nCoV-2019_96_LEFT	60	+
+MN908947.3	29356	29378	nCoV-2019_96_RIGHT	60	-
+MN908947.3	29288	29316	nCoV-2019_97_LEFT	60	+
+MN908947.3	29665	29693	nCoV-2019_97_RIGHT	60	-
+MN908947.3	29486	29510	nCoV-2019_98_LEFT	60	+
+MN908947.3	29836	29866	nCoV-2019_98_RIGHT	60	-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data_manager/tmp/test.bed	Sat Apr 18 15:21:47 2020 +0000
@@ -0,0 +1,1 @@
+{}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data_manager_conf.xml	Sat Apr 18 15:21:47 2020 +0000
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<data_managers>    
+    <data_manager tool_file="data_manager/install_primer_scheme_bedfiles.xml" id="data_manager_primer_scheme_bedfiles">
+        <data_table name="primer_scheme_bedfiles">
+            <output>
+                <column name="value" />
+                <column name="description" />
+                <column name="path" output_ref="output_file" >
+                    <!-- note: the Python script sanitises the possibly user-supplied scheme name ('value') -->
+                    <move type="file">
+                        <source>${path}</source>
+                        <target base="${GALAXY_DATA_MANAGER_DATA_PATH}">primer_scheme_bedfiles/#echo str($value)#.bed</target>
+                    </move>
+                    <value_translation>primer_scheme_bedfiles/#echo str($value)#.bed</value_translation>
+                    <value_translation type="function">abspath</value_translation>
+                </column>
+            </output>
+        </data_table>
+    </data_manager>    
+</data_managers>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool-data/artic_sars_cov2_primers.loc.sample	Sat Apr 18 15:21:47 2020 +0000
@@ -0,0 +1,7 @@
+# this is a tab separated file describing the location of ARTIC primers for use in SARS-CoV-2 sequencing
+#
+# the columns are:
+# value  description path
+#
+# for example
+# ARTICv1   ARTIC v1 primers    /data/galaxy/tool_data/artic_primers/ARTICv1.bed
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_data_table_conf.xml.sample	Sat Apr 18 15:21:47 2020 +0000
@@ -0,0 +1,7 @@
+<tables>
+    <!-- Locations of primer scheme BED files -->
+    <table name="primer_scheme_bedfiles" comment_char="#">
+        <columns>value, description, path</columns>
+        <file path="tool-data/primer_scheme_bedfiles.loc" />
+    </table>
+</tables>