diff data_manager/data_manager_mmseqs2_download.xml @ 0:75cc3fb4c10f draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_mmseqs2_database commit 1400593429eb4e9c6e307df3621825a8b84a6fa7
author iuc
date Thu, 27 Mar 2025 14:37:32 +0000
parents
children 35885ec2e59b
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data_manager/data_manager_mmseqs2_download.xml	Thu Mar 27 14:37:32 2025 +0000
@@ -0,0 +1,160 @@
+<tool id="data_manager_mmseqs2_download" name="Download MMseqs2 databases" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" tool_type="manage_data" profile="22.05">
+    <description></description>
+    <macros>
+        <token name="@TOOL_VERSION@">15.6f452</token>
+        <token name="@VERSION_SUFFIX@">0</token>
+    </macros>
+    <requirements>
+        <requirement type="package" version="@TOOL_VERSION@">mmseqs2</requirement>
+    </requirements>
+    <command detect_errors="exit_code"><![CDATA[
+#set $database_name = str($database).split('/')[-1] if '/' in str($database) else str($database)
+
+mkdir -p '$out_file.extra_files_path'/'$database_name' &&
+mmseqs databases 
+        '$database' '$out_file.extra_files_path'/'$database_name'/database
+        'tmp'
+        --threads "\${GALAXY_SLOTS:-1}" &&
+cp '$dmjson' '$out_file'
+    ]]></command>
+     <configfiles>
+        <configfile name="dmjson"><![CDATA[
+#from datetime import date
+#set $database_name = str($database).split('/')[-1] if '/' in str($database) else str($database)
+{
+  "data_tables":{
+    "mmseqs2_databases":[
+      {
+        "value": "${database}-@TOOL_VERSION@-#echo date.today().strftime('%d%m%Y')#",
+        "name": "${database} #echo date.today().strftime('%d%m%Y')#",
+        "type": "${db_type}",
+        "taxonomy": "${db_taxonomy}",
+        "path": "$database_name",
+        "version": "@TOOL_VERSION@"
+      }
+    ]
+  }
+}]]>
+        </configfile>
+    </configfiles>
+    <inputs>
+        <conditional name="db_name">
+            <param argument="type" type="select" label="Type of Databases">
+                <option value="aminoacid">Aminoacid databases</option>
+                <option value="aminoacid_taxonomy">Aminoacid databases that can be used for taxonomy</option>
+                <option value="nucleotide">Nucleotide databases</option>
+                <option value="nucleotide_taxonomy">Nucleotide databases that can be used for taxonomy</option>
+                <option value="profile">Profile databases</option>
+            </param>
+            <when value="aminoacid">
+                <param name="db_type" value="aminoacid" type="hidden"/>
+                <param name="db_taxonomy" value="no" type="hidden"/>
+                <param name="database" type="select" label="MMseqs2 aminoacid databases">
+                    <option value="UniRef100" selected="true">UniRef100</option>
+                    <option value="UniRef90">UniRef90</option>
+                    <option value="UniRef50">UniRef50</option>
+                    <option value="UniProtKB">UniProtKB</option>
+                    <option value="UniProtKB/TrEMBL">TrEMBL (UniProtKB)</option>
+                    <option value="UniProtKB/Swiss-Prot">Swiss-Prot (UniProtKB)</option>
+                    <option value="NR">NR (Non-redundant protein sequences from GenPept, Swissprot, PIR, PDF, PDB, and NCBI RefSeq)</option>
+                    <option value="GTDB">GTDB (Genome Taxonomy Database)</option>
+                    <option value="PDB">PDB (The Protein Data Bank)</option>            
+                </param>
+            </when>
+            <when value="aminoacid_taxonomy">
+                <param name="db_type" value="aminoacid" type="hidden"/>
+                <param name="db_taxonomy" value="yes" type="hidden"/>
+                <param name="database" type="select" label="MMseqs2 aminoacid databases that can be used for taxonomy">
+                    <option value="UniRef100" selected="true">UniRef100</option>
+                    <option value="UniRef90">UniRef90</option>
+                    <option value="UniRef50">UniRef50</option>
+                    <option value="UniProtKB">UniProtKB</option>
+                    <option value="UniProtKB/TrEMBL">TrEMBL (UniProtKB)</option>
+                    <option value="UniProtKB/Swiss-Prot">Swiss-Prot (UniProtKB)</option>
+                    <option value="NR">NR (Non-redundant protein sequences from GenPept, Swissprot, PIR, PDF, PDB, and NCBI RefSeq)</option>
+                    <option value="GTDB">GTDB (Genome Taxonomy Database)</option>
+                </param>
+            </when>
+            <when value="nucleotide">
+                <param name="db_type" value="nucleotide" type="hidden"/>
+                <param name="db_taxonomy" value="no" type="hidden"/>
+                <param name="database" type="select" label="MMseqs2 nucleotide databases">
+                    <option value="SILVA">SILVA</option>
+                    <option value="Kalamari">Kalamari</option>
+                    <option value="NT">NT (Partially non-redundant nucleotide sequences from all traditional divisions of GenBank, EMBL, and DDBJ excluding GSS, STS, PAT, EST, HTG, and WGS)</option>
+                    <option value="Resfinder">Resfinder</option>
+                </param>
+            </when>
+            <when value="nucleotide_taxonomy">
+                <param name="db_type" value="nucleotide" type="hidden"/>
+                <param name="db_taxonomy" value="yes" type="hidden"/>
+                <param name="database" type="select" label="MMseqs2 nucleotide databases that can be used for taxonomy">
+                    <option value="SILVA">SILVA</option>
+                    <option value="Kalamari">Kalamari</option>
+                </param>
+            </when>
+            <when value="profile">
+                <param name="db_type" value="profile" type="hidden"/>
+                <param name="db_taxonomy" value="no" type="hidden"/>
+                <param name="database" type="select" label="MMseqs2 profile databases">
+                    <option value="PDB70">PDB70 (PDB clustered to 70% sequence identity)</option>
+                    <option value="Pfam-A.full">Pfam-A.full</option>
+                    <option value="Pfam-A.seed">Pfam-A.seed</option>
+                    <option value="Pfam-B">Pfam-B</option>
+                    <option value="CDD">CDD (Conserved Domain Database)</option>
+                    <option value="VOGDB">VOGDB (Virus Orthologous Groups)</option>
+                    <option value="dbCAN2">dbCAN2 (database of carbohydrate-active enzymes)</option>
+                </param>
+            </when>
+        </conditional>
+    </inputs>
+    <outputs>
+        <data name="out_file" format="data_manager_json" label="${tool.name}"/>
+    </outputs>
+    <tests>
+        <test expect_num_outputs="1">
+            <conditional name="db_name">
+                <param name="type" value="nucleotide_taxonomy" />
+                <param name="db_type" value="nucleotide" />
+                <param name="db_taxonomy" value="yes" />
+                <param name="database" value="SILVA" />
+            </conditional>
+            <output name="out_file">
+                <assert_contents>
+                    <has_text text='"mmseqs2_databases":'/>
+                    <has_text text='"version": "15.6f452"'/>
+                    <has_text_matching expression='"value": "SILVA-15.6f452-[0-9]{8}"'/>
+                    <has_text_matching expression='"name": "SILVA [0-9]{8}"'/>
+                    <has_text text='"type": "nucleotide"'/>
+                    <has_text text='"taxonomy": "yes"'/>
+                    <has_text text='"path": "SILVA"'/>
+                </assert_contents>
+            </output>
+        </test>
+        <test expect_num_outputs="1">
+            <conditional name="db_name">
+                <param name="type" value="aminoacid_taxonomy" />
+                <param name="db_type" value="aminoacid" />
+                <param name="db_taxonomy" value="yes" />
+                <param name="database" value="UniProtKB/Swiss-Prot" />
+            </conditional>
+            <output name="out_file">
+                <assert_contents>
+                    <has_text text='"mmseqs2_databases":'/>
+                    <has_text text='"version": "15.6f452"'/>
+                    <has_text_matching expression='"value": "UniProtKB/Swiss-Prot-15.6f452-[0-9]{8}"'/>
+                    <has_text_matching expression='"name": "UniProtKB/Swiss-Prot [0-9]{8}"'/>
+                    <has_text text='"type": "aminoacid"'/>
+                    <has_text text='"taxonomy": "yes"'/>
+                    <has_text text='"path": "Swiss-Prot"'/>
+                </assert_contents>
+            </output>
+        </test>
+    </tests>
+    <help><![CDATA[
+This tool downloads databases that can be used with MMseqs2.
+    ]]></help>
+    <citations>
+        <citation type="doi">10.1038/nbt.3988</citation>
+    </citations>
+</tool>
\ No newline at end of file