Repository 'data_manager_build_kraken2_database'
hg clone https://testtoolshed.g2.bx.psu.edu/repos/dfornika/data_manager_build_kraken2_database

Changeset 0:b1805f086b66 (2019-02-27)
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>