Skip to content

Commit

Permalink
Merge pull request #6609 from clsiguret/staramr_add
Browse files Browse the repository at this point in the history
Staramr add DM and update tool with database information
  • Loading branch information
bebatut authored Jan 16, 2025
2 parents ed19e40 + 68eb29f commit 45daaec
Show file tree
Hide file tree
Showing 17 changed files with 1,353 additions and 0 deletions.
10 changes: 10 additions & 0 deletions data_managers/data_manager_build_staramr/.shed.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: data_manager_build_staramr
owner: iuc
description: "Download the Resfinder, Pointfinder and Plasmidfinder databases for staramr search command"
homepage_url: "https://github.com/phac-nml/staramr"
long_description: |
Download the Resfinder, Pointfinder and Plasmidfinder databases for starAMR using the commits corresponding to the versions of the different databases.
remote_repository_url: "https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_build_staramr"
type: unrestricted
categories:
- Data Managers
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
<tool id="data_manager_build_staramr" name="Download and build StarAMR database" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" tool_type="manage_data" profile="@PROFILE@">
<description></description>
<macros>
<token name="@TOOL_VERSION@">0.10.0</token>
<token name="@VERSION_SUFFIX@">0</token>
<token name="@PROFILE@">22.05</token>
<xml name="element_assert" token_name="" token_text="">
<element name="@NAME@">
<assert_contents>
<has_text text="@TEXT@"/>
<yield/>
</assert_contents>
</element>
</xml>
</macros>
<requirements>
<requirement type="package" version="@TOOL_VERSION@">staramr</requirement>
</requirements>
<command detect_errors="exit_code"><![CDATA[
#set $resfinder_commit = str($resfinder_database_select).split('_')[-2]
#set $plasmidfinder_commit = str($plasmidfinder_database_select).split('_')[-2]
#set $pointfinder_commit = str($pointfinder_database_select).split('_')[-2]
mkdir -p '$out_file.extra_files_path' &&
staramr db build
--dir resfinder_${resfinder_commit}_pointfinder_${pointfinder_commit}_plasmidfinder_${plasmidfinder_commit}
--resfinder-commit $resfinder_commit
--pointfinder-commit $pointfinder_commit
--plasmidfinder-commit $plasmidfinder_commit &&
mv resfinder_${resfinder_commit}_pointfinder_${pointfinder_commit}_plasmidfinder_${plasmidfinder_commit} '$out_file.extra_files_path' &&
cp '$dmjson' '$out_file'
]]></command>
<configfiles>
<configfile name="dmjson"><![CDATA[
#from datetime import date
#set $resfinder_commit = str($resfinder_database_select).split('_')[-2]
#set $resfinder_tag_commit_date = str($resfinder_database_select).split('_', 1)[1]
#set $plasmidfinder_commit = str($plasmidfinder_database_select).split('_')[-2]
#set $plasmidfinder_tag_commit_date = str($plasmidfinder_database_select).split('_', 1)[1]
#set $pointfinder_commit = str($pointfinder_database_select).split('_')[-2]
#set $pointfinder_tag_commit_date = str($pointfinder_database_select).split('_', 1)[1]
{
"data_tables":{
"staramr_database":[
{
"value": "staramr_downloaded_#echo date.today().strftime('%d%m%Y')#_resfinder_${resfinder_commit}_pointfinder_${pointfinder_commit}_plasmidfinder_${plasmidfinder_commit}",
"name": "starAMR databases with ResFinder: ${resfinder_tag_commit_date}, PointFinder: ${pointfinder_tag_commit_date}, PlasmidFinder: ${plasmidfinder_tag_commit_date}",
"path": "resfinder_${resfinder_commit}_pointfinder_${pointfinder_commit}_plasmidfinder_${plasmidfinder_commit}",
"resfinder_commit": "${resfinder_commit}",
"pointfinder_commit": "${pointfinder_commit}",
"plasmidfinder_commit": "${plasmidfinder_commit}"
}
]
}
}]]></configfile>
</configfiles>
<inputs>
<param name="resfinder_database_select" type="select" label="Database version" help="Choose a database version to download">
<option value="resfinder_2.4.0_d1e607b_2024-08-06">ResFinder tag 2.4.0 (commit d1e607b) 2024-08-06</option>
<option value="resfinder_2.3.1_c8c38c3_2024-03-22">ResFinder tag 2.3.1 (commit c8c38c3) 2024-03-22</option>
<option value="resfinder_2.3.0_16d7fd3_2023-03-08">ResFinder tag 2.3.0 (commit 16d7fd3) 2023-03-08</option>
<option value="resfinder_2.2.1_208efbd_2023-10-27">ResFinder tag 2.2.1 (commit 208efbd) 2023-10-27</option>
<option value="resfinder_2.1.1_1a53e55_2023-05-31">ResFinder tag 2.1.1 (commit 1a53e55) 2023-05-31</option>
<option value="resfinder_2.1.0_c0cab25_2023-03-03">ResFinder tag 2.1.0 (commit c0cab25) 2023-03-03</option>
<option value="resfinder_2.0.2_18e3988_2023-02-08">ResFinder tag 2.0.2 (commit 18e3988) 2023-02-08</option>
<option value="resfinder_2.0.1_8306696_2023-01-16">ResFinder tag 2.0.1 (commit 8306696) 2023-01-16</option>
<option value="resfinder_2.0.0_585ec75_2022-10-13">ResFinder tag 2.0.0 (commit 585ec75) 2022-10-13</option>
</param>
<param name="pointfinder_database_select" type="select" label="Database version" help="Choose a database version to download">
<option value="pointfinder_4.1.1_694919f_2024-08-08">PointFinder tag 4.1.1 (commit 694919f) 2024-08-08</option>
<option value="pointfinder_4.1.0_9d55d02_2024-03-08">PointFinder tag 4.1.0 (commit 9d55d02) 2024-03-08</option>
<option value="pointfinder_4.0.1_b6e9e0b_2023-11-02">PointFinder tag 4.0.1 (commit b6e9e0b) 2023-11-02</option>
<option value="pointfinder_3.0.1_cb7806f_2023-05-31">PointFinder tag 3.0.1 (commit cb7806f) 2023-05-31</option>
<option value="pointfinder_3.0.0_3556bad_2023-01-18">PointFinder tag 3.0.0 (commit 3556bad) 2023-01-18</option>
<option value="pointfinder_2.0.1_0b281b0_2023-01-18">PointFinder tag 2.0.1 (commit 0b281b0) 2023-01-18</option>
<option value="pointfinder_2.0.0_afbc82d_2022-10-13">PointFinder tag 2.0.0 (commit afbc82d) 2022-10-13</option>
</param>
<param name="plasmidfinder_database_select" type="select" label="Database version" help="Choose a database version to download">
<option value="plasmidfinder_3e77502_2024-03-07">PlasmidFinder (commit 3e77502) 2024-03-07</option>
<option value="plasmidfinder_81c11f4_2023-12-04">PlasmidFinder (commit 81c11f4) 2024-12-04</option>
<option value="plasmidfinder_314d85f_2023-03-17">PlasmidFinder (commit 314d85f) 2023-03-17</option>
<option value="plasmidfinder_2.1_1307168_2019-08-28">PlasmidFinder tag 2.1 (commit 1307168) 2019-08-28</option>
</param>
</inputs>
<outputs>
<data name="out_file" format="data_manager_json" label="${tool.name}"/>
</outputs>
<tests>
<test expect_num_outputs="1">
<param name="resfinder_database_select" value="resfinder_2.4.0_d1e607b_2024-08-06" />
<param name="pointfinder_database_select" value="pointfinder_4.1.1_694919f_2024-08-08" />
<param name="plasmidfinder_database_select" value="plasmidfinder_3e77502_2024-03-07" />
<output name="out_file">
<assert_contents>
<has_text text='"staramr_database":'/>
<has_text_matching expression='"value": "staramr_downloaded_[0-9]{8}_resfinder_d1e607b_pointfinder_694919f_plasmidfinder_3e77502"'/>
<has_text text='"name": "starAMR databases with ResFinder: 2.4.0_d1e607b_2024-08-06, PointFinder: 4.1.1_694919f_2024-08-08, PlasmidFinder: 3e77502_2024-03-07"'/>
<has_text_matching expression='"path": "resfinder_d1e607b_pointfinder_694919f_plasmidfinder_3e77502"'/>
<has_text text='"resfinder_commit": "d1e607b"'/>
<has_text text='"pointfinder_commit": "694919f"'/>
<has_text text='"plasmidfinder_commit": "3e77502"'/>
</assert_contents>
</output>
</test>
</tests>
<help><![CDATA[
This tool downloads and builds the StarAMR databases.
]]></help>
<citations>
<citation type="doi">10.3390/microorganisms10020292</citation>
</citations>
</tool>
22 changes: 22 additions & 0 deletions data_managers/data_manager_build_staramr/data_manager_conf.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0"?>
<data_managers>
<data_manager tool_file="data_manager/data_manager_build_staramr_download.xml" id="data_manager_build_staramr_download">
<data_table name="staramr_database"> <!-- Defines a Data Table to be modified. -->
<output> <!-- Handle the output of the Data Manager Tool -->
<column name="value"/> <!-- columns that are going to be specified by the Data Manager Tool -->
<column name="name"/> <!-- columns that are going to be specified by the Data Manager Tool -->
<column name="path" output_ref="out_file">
<move type="directory">
<source>${path}</source>
<target base="${GALAXY_DATA_MANAGER_DATA_PATH}">staramr/${path}</target>
</move>
<value_translation>${GALAXY_DATA_MANAGER_DATA_PATH}/staramr/${path}</value_translation>
<value_translation type="function">abspath</value_translation>
</column>
<column name="resfinder_commit"/> <!-- columns that are going to be specified by the Data Manager Tool -->
<column name="pointfinder_commit"/> <!-- columns that are going to be specified by the Data Manager Tool -->
<column name="plasmidfinder_commit"/> <!-- columns that are going to be specified by the Data Manager Tool -->
</output>
</data_table>
</data_manager>
</data_managers>
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#This is a tab separated file describing the location of StarAMR databases
#used for the StarAMR tool
#
#file has this format (white space characters are TAB characters)
#
#The columns are:
#value name path resfinder_commit pointfinder_commit plasmidfinder_commit
#
#For example
#staramr_downloaded_20241004_resfinder_d1e607b_pointfinder_694919f_plasmidfinder_3e77502 ResFinder: tag 4.6.0, commit d1e607b, 2024-08-06 - PointFinder: tag 4.1.1, commit 694919f, 2024-08-08 - PlasmidFinder: commit 3e77502, 2024-03-07 (downloaded 20241004) /path/to/data d1e607b 694919f 3e77502
staramr_downloaded_13012025_resfinder_d1e607b_pointfinder_694919f_plasmidfinder_3e77502 starAMR databases with ResFinder: 2.4.0_d1e607b_2024-08-06, PointFinder: 4.1.1_694919f_2024-08-08, PlasmidFinder: 3e77502_2024-03-07 /tmp/tmpc6qeamum/galaxy-dev/tool-data/staramr/resfinder_d1e607b_pointfinder_694919f_plasmidfinder_3e77502 d1e607b 694919f 3e77502
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#This is a tab separated file describing the location of StarAMR databases
#used for the StarAMR tool
#
#file has this format (white space characters are TAB characters)
#
#The columns are:
#value name path resfinder_commit pointfinder_commit plasmidfinder_commit
#
#For example
#staramr_downloaded_20241004_resfinder_d1e607b_pointfinder_694919f_plasmidfinder_3e77502 ResFinder: tag 4.6.0, commit d1e607b, 2024-08-06 - PointFinder: tag 4.1.1, commit 694919f, 2024-08-08 - PlasmidFinder: commit 3e77502, 2024-03-07 (downloaded 20241004) /path/to/data d1e607b 694919f 3e77502
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<tables>
<table name="staramr_database" comment_char="#">
<columns>value, name, path, resfinder_commit, pointfinder_commit, plasmidfinder_commit</columns>
<file path="tool-data/staramr_database.loc"/>
</table>
</tables>
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<tables>
<table name="staramr_database" comment_char="#">
<columns>value, name, path, resfinder_commit, pointfinder_commit, plasmidfinder_commit</columns>
<file path="${__HERE__}/test-data/staramr_database.loc.test"/>
</table>
</tables>
7 changes: 7 additions & 0 deletions tools/staramr/.shed.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
categories: [Sequence Analysis]
description: Scan genome contigs against the ResFinder, PlasmidFinder, and PointFinder antimicrobial resistance databases.
name: staramr
owner: iuc
long_description: staramr - Scans genome contigs (in FASTA format) against the ResFinder, PlasmidFinder, and PointFinder databases to search for antimicrobial resistance genomes. Makes predictions of the drugs these genes give resistance to.
remote_repository_url: https://github.com/galaxyproject/tools-iuc/tree/master/tools/staramr
homepage_url: https://github.com/phac-nml/staramr
Loading

0 comments on commit 45daaec

Please sign in to comment.