view data_manager/data_manager_mmseqs2_download.xml @ 2:35885ec2e59b draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_mmseqs2_database commit 611b90f1628037f05d85905c88629a422d0a2053
author iuc
date Mon, 14 Apr 2025 18:39:14 +0000
parents 75cc3fb4c10f
children
line wrap: on
line source

<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@">17-b804f</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 without taxonomy</option>
                <option value="aminoacid_taxonomy">Aminoacid databases that can be used for taxonomy</option>
                <option value="nucleotide">Nucleotide databases without taxonomy</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="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="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": "@TOOL_VERSION@"'/>
                    <has_text_matching expression='"value": "SILVA-@TOOL_VERSION@-[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": "@TOOL_VERSION@"'/>
                    <has_text_matching expression='"value": "UniProtKB/Swiss-Prot-@TOOL_VERSION@-[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>