Mercurial > repos > dchristiany > frogs_data_manager
changeset 9:0d9cb5c5aa35 draft
planemo upload commit af25bf8e6c89c9de2e25dc0bc0ead06d8c05cf17
author | dchristiany |
---|---|
date | Mon, 07 Oct 2019 10:56:23 -0400 |
parents | cac51639c40f |
children | 238a5328279d |
files | data_manager/FROGS_data_manager.py data_manager/FROGS_data_manager.xml data_manager_conf.xml |
diffstat | 3 files changed, 80 insertions(+), 28 deletions(-) [+] |
line wrap: on
line diff
--- a/data_manager/FROGS_data_manager.py Mon Oct 07 04:55:50 2019 -0400 +++ b/data_manager/FROGS_data_manager.py Mon Oct 07 10:56:23 2019 -0400 @@ -5,7 +5,8 @@ def get_args(): parser = argparse.ArgumentParser() parser.add_argument("-d","--database") - parser.add_argument("-r","--resource") + parser.add_argument("--custom_db") + parser.add_argument("--amplicons") parser.add_argument("-o","--output") args = parser.parse_args() return args @@ -16,7 +17,7 @@ data_manager_dict['data_tables'][data_table].append(data_table_entry) return data_manager_dict -def frogs_sources(data_manager_dict,target_directory): +def frogs_sources(data_manager_dict,target_directory,amplicons_list): #get frogs database index frogs_db_index_link="http://genoweb.toulouse.inra.fr/frogs_databanks/assignation/FROGS_databases.tsv" @@ -27,6 +28,10 @@ db_index = [line.split("\t") for line in db_index[1:]] db_index = [line[:4]+[line[1]+"_"+line[2]+"_"+line[3]]+[line[4]] for line in db_index] #add column name + #filter amplicons + if len(amplicons_list)!=0: + db_index = [line for line in db_index if line[4] in amplicons_list] + #get frogs dbs os.chdir(target_directory) dir_name="frogs_db_"+time.strftime("%Y%m%d") @@ -61,14 +66,34 @@ data_table_entry = dict(name = name, value = value, path=path) _add_data_table_entry(data_manager_dict, data_table_entry, "frogs_db") -#def HVL_sources(resource): +def HVL_sources(data_manager_dict,target_directory): + + #get phiX files + os.chdir(target_directory) + for link in ["http://genoweb.toulouse.inra.fr/frogs_databanks/HVL/ITS/UNITE_s_7.1_20112016/Unite_s_7.1_20112016_ITS1.fasta","http://genoweb.toulouse.inra.fr/frogs_databanks/HVL/ITS/UNITE_s_7.1_20112016/Unite_s_7.1_20112016_ITS2.fasta"]: + file_name=link.split("/")[-1].replace('.fasta',"_"+time.strftime("%Y-%m-%d")+".fasta") + dl_file = urllib.URLopener() + dl_file.retrieve(link,file_name) -#def phiX_sources(resource): + #get fasta file path + path = os.path.join(target_directory,file_name) + if link.endswith('ITS1.fasta'): + name = "UNITE 7.1 ITS1 " + time.strftime("%Y-%m-%d") + elif link.endswith('ITS2.fasta'): + name = "UNITE 7.1 ITS2 " + time.strftime("%Y-%m-%d") + value=file_name.replace('.fasta','') + + data_table_entry = dict(name = name, value = value, path=path) + _add_data_table_entry(data_manager_dict, data_table_entry, "HVL_db") def main(): #get args from command line args = get_args() + if args.database=="frogs_db_data" and args.custom_db=="true": + amplicons_list = args.amplicons.split(",") + else : + amplicons_list = [] # Extract json file params data_manager_dict = {} @@ -78,11 +103,9 @@ os.mkdir(target_directory) if args.database=="frogs_db_data": - frogs_sources(data_manager_dict,target_directory) + frogs_sources(data_manager_dict,target_directory,amplicons_list) elif args.database=="HVL_db_data": - HVL_sources(args.resource) - elif args.database=="phiX_db_data": - phiX_sources(args.resource) + HVL_sources(data_manager_dict,target_directory) #save info to json file open(filename, 'wb').write(to_json_string(data_manager_dict))
--- a/data_manager/FROGS_data_manager.xml Mon Oct 07 04:55:50 2019 -0400 +++ b/data_manager/FROGS_data_manager.xml Mon Oct 07 10:56:23 2019 -0400 @@ -1,4 +1,4 @@ -<tool id="FROGS_data_manager" name="FROGS Data manager" version="2019.10.07" tool_type="manage_data"> +<tool id="FROGS_data_manager" name="FROGS Data manager" version="2019.10.07.1" tool_type="manage_data"> <requirements> </requirements> <stdio> @@ -7,6 +7,10 @@ <command><![CDATA[ python $__tool_directory__/FROGS_data_manager.py --database="$database.database" + #if $database.database=="frogs_db_data" + --custom_db="$database.db_type.custom_db" + --amplicons="$database.db_type.amplicons" + #end if --output "$output" ]]></command> <inputs> @@ -14,13 +18,52 @@ <param name="database" type="select" label="Please select a database to update"> <option value="frogs_db_data">FROGS database (FROGS Affiliation OTU)</option> <option value="HVL_db_data">HVL database (FROGS Affiliation postprocess)</option> - <option value="phiX_db_data">phiX database (FROGS Filters)</option> </param> - <when value="frogs_db_data"/> - <when value="HVL_db_data"> + <when value="frogs_db_data"> + <conditional name="db_type"> + <param name="custom_db" type="boolean" checked="false" truevalue="true" falsevalue="false" label="Build a custom database"/> + <when value="true"> + <param name="amplicons" type="select" multiple="true"> + <option value="COI_MIDORI_MARINE_20180221">COI MIDORI MARINE 20180221</option> + <option value="COI_MIDORI_20180221">COI MIDORI 20180221</option> + <option value="COI_BOLD_1percentN_600nt_022019">COI BOLD 1percentN 600nt 022019</option> + <option value="COI_BOLD_1percentN_630nt_022019">COI BOLD 1percentN 630nt 022019</option> + <option value="ITS_UNITE_Euka_8.0">ITS UNITE Euka 8.0</option> + <option value="ITS_UNITE_Fungi_8.0">ITS UNITE Fungi 8.0</option> + <option value="COI_BOLD_022019">COI BOLD 022019</option> + <option value="COI_BOLD_1percentN_022019">COI BOLD 1percentN 022019</option> + <option value="EF1,18S_PHYMYCO-DB_2013">EF1,18S PHYMYCO-DB 2013</option> + <option value="16S_EZBioCloud_052018">16S EZBioCloud 052018</option> + <option value="18S_PR2_4.11.0">18S PR2 4.11.0</option> + <option value="16S_DAIRYdb_V1.1.2">16S DAIRYdb V1.1.2</option> + <option value="rbcL_Rsyst_Diatom_7">rbcL Rsyst Diatom 7</option> + <option value="ITS_UNITE_7.1">ITS UNITE 7.1</option> + <option value="rpoB_DB_NAME_TO_CHECK_122017">rpoB DB NAME TO CHECK 122017</option> + <option value="16S_SILVA_Pintail100_132">16S SILVA Pintail100 132</option> + <option value="16S_SILVA_Pintail50_132">16S SILVA Pintail50 132</option> + <option value="16S_SILVA_Pintail80_132">16S SILVA Pintail80 132</option> + <option value="16S_SILVA_132">16S SILVA 132</option> + <option value="18S_SILVA_132">18S SILVA 132</option> + <option value="23S_SILVA_132">23S SILVA 132</option> + <option value="16S_SILVA_Pintail100_128">16S SILVA Pintail100 128</option> + <option value="16S_SILVA_Pintail50_128">16S SILVA Pintail50 128</option> + <option value="16S_SILVA_Pintail80_128">16S SILVA Pintail80 128</option> + <option value="18S_PR2_Gb203_4.5">18S PR2 Gb203 4.5</option> + <option value="16S_MIDAS_S123_2.1.3">16S MIDAS S123 2.1.3</option> + <option value="16S_SILVA_128">16S SILVA 128</option> + <option value="18S_SILVA_123">18S SILVA 123</option> + <option value="18S_SILVA_128">18S SILVA 128</option> + <option value="23S_SILVA_128">23S SILVA 128</option> + <option value="16S_MIDAS_S119_1.20">16S MIDAS S119 1.20</option> + <option value="16S_Greengenes_13.5">16S Greengenes 13.5</option> + <option value="16S_SILVA_123">16S SILVA 123</option> + <option value="18S_SILVA_119-1">18S SILVA 119-1</option> + <option value="23S_SILVA_123">23S SILVA 123</option> + </param> + </when> + </conditional> </when> - <when value="phiX_db_data"> - </when> + <when value="HVL_db_data"/> </conditional> </inputs> <outputs>
--- a/data_manager_conf.xml Mon Oct 07 04:55:50 2019 -0400 +++ b/data_manager_conf.xml Mon Oct 07 10:56:23 2019 -0400 @@ -29,19 +29,5 @@ </column> </output> </data_table> - <data_table name="phiX_db"> - <output> - <column name="value"/> - <column name="name" /> - <column name="path" output_ref="output" > - <move type="file"> - <!--source>${path}/${value}.tsv</source--> - <target base="${GALAXY_DATA_MANAGER_DATA_PATH}">phiX_db/</target> - </move> - <value_translation>${GALAXY_DATA_MANAGER_DATA_PATH}/phiX_db/${value}.fasta</value_translation> - <value_translation type="function">abspath</value_translation> - </column> - </output> - </data_table> </data_manager> </data_managers>