Next changeset 1:f9a7275b1cad (2019-02-27) |
Commit message:
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 9b4d704c147761201fa9f1450fcf5ba6871104d8-dirty |
added:
data_manager/kraken2_database_builder.xml data_manager/kraken2_standard_database_builder.xml data_manager/make_json.py data_manager_conf.xml |
b |
diff -r 000000000000 -r b1805f086b66 data_manager/kraken2_database_builder.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/data_manager/kraken2_database_builder.xml Wed Feb 27 20:42:33 2019 -0500 |
[ |
@@ -0,0 +1,50 @@ +<?xml version="1.0"?> +<tool id="kraken2_database_builder" name="Kraken" tool_type="manage_data" version="2.0.7_beta"> + <description>database builder</description> + <requirements> + <requirement type="package" version="2.0.7_beta">kraken2</requirement> + </requirements> + <version_command>kraken2 -version | head -n 1 | awk '{print $NF}'</version_command> + <command detect_errors="exit_code"> + <![CDATA[ + #set $library_list = str($libraries).split(',') + mkdir kraken2-database && cd kraken2-database && + kraken2-build --threads \${GALAXY_SLOTS:-1} --download-taxonomy --db '${database_name}' && + #for $library in $library_list: + #if str($library) != 'None': + kraken2-build --threads \${GALAXY_SLOTS:-1} --download-library $library --db '${database_name}' && + #end if + #end for + #for $fasta in $input_fasta: + #if str($fasta) != 'None': + kraken2-build --threads \${GALAXY_SLOTS:-1} --db '${database_name}' --add-to-library '$fasta' && + #end if + #end for + kraken2-build --threads \${GALAXY_SLOTS:-1} --db '${database_name}' --build --kmer-len ${kmer_len} --minimizer-len ${minimizer_len} && + cd .. && + python '$__tool_directory__/make_json.py' --db '${database_name}' --out '${out_file}' + ]]> + </command> + <inputs> + <param name="database_name" type="text" label="Name for this database" /> + <param name="libraries" type="select" multiple="true" label="Select partial library to download"> + <option value="archaea">Archaea</option> + <option value="bacteria">Bacteria</option> + <option value="plasmid">Plasmid</option> + <option value="viral">Viral</option> + <option value="human">Human</option> + </param> + <param name="input_fasta" type="data" format="fasta" multiple="True" optional="true" label="Select history item" /> + <param name="kmer_len" type="integer" value="35" label="K-mer length in BP" /> + <param name="minimizer_len" type="integer" value="31" label="Minimizer length" /> + <param name="minimizer_spaces" type="integer" value="6" label="Minimizer spaces" /> + </inputs> + <outputs> + <data name="out_file" format="data_manager_json" /> + </outputs> + <help> + </help> + <citations> + <citation type="doi">10.1186/gb-2014-15-3-r46</citation> + </citations> +</tool> |
b |
diff -r 000000000000 -r b1805f086b66 data_manager/kraken2_standard_database_builder.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/data_manager/kraken2_standard_database_builder.xml Wed Feb 27 20:42:33 2019 -0500 |
[ |
@@ -0,0 +1,35 @@ +<?xml version="1.0"?> +<tool id="kraken2_standard_database_builder" name="Kraken" tool_type="manage_data" version="2.0.7_beta"> + <description>database builder</description> + <requirements> + <requirement type="package" version="2.0.7_beta">kraken2</requirement> + </requirements> + <version_command>kraken2 -version | head -n 1 | awk '{print $NF}'</version_command> + <command detect_errors="exit_code"> + <![CDATA[ + #set $library_list = str($libraries).split(',') + mkdir kraken2-database && cd kraken2-database && + kraken2-build \ + --standard \ + --threads ${GALAXY_SLOTS:-1} \ + --kmer-len ${kmer_len} \ + --minimizer-len ${minimizer_len} \ + --minimizer-spaces ${minimizer_spaces} && + cd .. && + python '$__tool_directory__/make_json.py' --db `date --iso-8601`_standard --out '${out_file}' + ]]> + </command> + <inputs> + <param name="kmer_len" type="integer" value="35" label="K-mer length in BP" /> + <param name="minimizer_len" type="integer" value="31" label="Minimizer length" /> + <param name="minimizer_spaces" type="integer" value="6" label="Minimizer spaces" /> + </inputs> + <outputs> + <data name="out_file" format="data_manager_json" /> + </outputs> + <help> + </help> + <citations> + <citation type="doi">10.1186/gb-2014-15-3-r46</citation> + </citations> +</tool> |
b |
diff -r 000000000000 -r b1805f086b66 data_manager/make_json.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/data_manager/make_json.py Wed Feb 27 20:42:33 2019 -0500 |
[ |
@@ -0,0 +1,27 @@ +import argparse +import json +import os +import shutil + + +def main(args): + data_manager_entry = {} + data_manager_entry['value'] = args.database.lower() + data_manager_entry['name'] = args.database + data_manager_entry['path'] = '.' + data_manager_json = dict(data_tables=dict(kraken_databases=data_manager_entry)) + params = json.loads(open(args.output).read()) + target_directory = params['output_data'][0]['extra_files_path'] + os.mkdir(target_directory) + output_path = os.path.join(os.getcwd(), 'kraken-database') + for filename in os.listdir(output_path): + shutil.move(os.path.join(output_path, filename), target_directory) + file(args.output, 'w').write(json.dumps(data_manager_json)) + + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description='Create data manager json.') + parser.add_argument('--db', dest='database', action='store', help='Database name') + parser.add_argument('--out', dest='output', action='store', help='JSON filename') + args = parser.parse_args() + main(args) |
b |
diff -r 000000000000 -r b1805f086b66 data_manager_conf.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/data_manager_conf.xml Wed Feb 27 20:42:33 2019 -0500 |
b |
@@ -0,0 +1,17 @@ +<data_managers> + <data_manager tool_file="data_manager/kraken2_database_builder.xml" id="kraken2_database_builder" version="1.0"> + <data_table name="kraken2_databases"> + <output> + <column name="value"/> + <column name="name"/> + <column name="path" output_ref="out_file"> + <move type="directory" relativize_symlinks="True"> + <target base="${GALAXY_DATA_MANAGER_DATA_PATH}">kraken2_database/${value}</target> + </move> + <value_translation>${GALAXY_DATA_MANAGER_DATA_PATH}/kraken2_database/${value}</value_translation> + <value_translation type="function">abspath</value_translation> + </column> + </output> + </data_table> + </data_manager> +</data_managers> |