Skip to content

Commit

Permalink
Merge pull request #6 from phac-nml/v1.1.3
Browse files Browse the repository at this point in the history
New SISTR plugin release v1.1.3
  • Loading branch information
kbessonov1984 authored Jan 17, 2025
2 parents 39ba40c + 1c4441d commit 8f2bba7
Show file tree
Hide file tree
Showing 9 changed files with 217 additions and 228 deletions.
47 changes: 22 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,16 @@
# IRIDA SISTR Plugin for Salmonella serotyping
# IRIDA SISTR Plugin for Salmonella serotyping
This new IRIDA plugin allows deployment of SISTR, a tool for *in silico Salmonella* serotyping, in IRIDA platform. For faster and independent updates, SISTR built-in workflow were decided to be ported to plugin format.
The analysis report page feature is only available since IRIDA version `20.09`.
In future SISTR releases we plan to generate reports also in `csv` and `pdf` formats.
# Features
New to versions `1.1.1` and `1.1.1b`

* Updated typing databases powered by `SISTR v1.1.1`
* Reporting of serotyping results via a pretty web-page (requires `IRIDA >= 20.09`)
* More detailed analysis reports for MASH, cgMLST and BLAST profiles
* Final results Quality Control checks
* Plugin versions `1.1.1` and `1.1.1b` are similar with the later supporting `IRIDA v21.01` new metadata update features
# Features
* Uses the newest features of the SISTR v1.1.3 including updated nomenclature for O24 and O25 antigens
* Check if SISTR predicted serovar is in the version 5 list of reportable serovars (https://github.com/phac-nml/sistr_cmd/blob/v1.1.3/sistr/data/serovar-list.txt)

# Building plugin
Compiled plugin version is available in [`*.jar` folder](/jar/), but you can build your own copy. Building and packaging this code is accomplished using [Apache Maven](http://maven.apache.org/download.cgi). However, you will first need to install [IRIDA](https://github.com/phac-nml/irida) to your local Maven repository. The version of IRIDA you install will have to correspond to the version found in the `irida.version.compiletime` property in the `pom.xml` file of this project. To build successfully plugin there is a need to compile IRIDA corresponding to the version specified in `pom.xml`.
Here is a brief workflow to compile new `*.jar` file from the source code

```bash
IRIDA_VERSION=20.09
IRIDA_VERSION=22.05
# Build IRIDA dependencies
git clone https://github.com/phac-nml/irida.git
git checkout ${IRIDA_VERSION}
Expand All @@ -38,11 +32,11 @@ As most IRIDA plugins, this plugin is readily installable by the placement of th

The following dependencies are required to make and run this plugin.

* IRIDA >= 19.01.3 (analysis report rendering feature requires >= 20.09)
* Java >= 1.8 and Maven >= 3.3.9 (to build IRIDA dependencies)
* IRIDA >= 19.01.3, <= 24.12 (analysis report rendering feature requires >= 20.09)
* Java == 11 and Maven >= 3.6.3 (to build IRIDA source code dependencies)
* Galaxy >= 16.01
* Shovill == 1.1.0
* SISTR == 1.1.1
* SISTR == 1.1.3

# Galaxy configuration
The plugin assumes a properly configured Galaxy instance that will run the workflow included in the plugin.
Expand All @@ -55,11 +49,11 @@ For this version of the plugin, the backend Galaxy instance needs to have the fo
* [ToolShed direct link](https://toolshed.g2.bx.psu.edu/repos/iuc/shovill/shovill/1.1.0+galaxy0)


* SISTR v1.1.1
* version 1.1.1
* revision 4:17fcac7ddf54
* published 2020-08-06
* [ToolShed direct link](https://toolshed.g2.bx.psu.edu/view/nml/sistr_cmd/17fcac7ddf54)
* SISTR v1.1.3
* version 1.1.3
* revision 6:cf767360ede1
* published 2024-12-30
* [ToolShed direct link](https://toolshed.g2.bx.psu.edu/view/nml/sistr_cmd/cf767360ede1)

# Gallery
A couple of illustrations demonstrating plugin in action.
Expand All @@ -74,27 +68,30 @@ A couple of illustrations demonstrating plugin in action.
* `mash_genome`
* `mash_distance`
* `qc_messages`
* update to the newest `shovill` version `1.1.0` with more relaxed assembly setting with minimum contig length of 1bp
* `predicted_serovar_in_list`
* update to the newest `shovill` version `1.1.0` with more relaxed assembly setting with minimum contig length of 1 bp


### Automatic metadata population
The plugin allows for automatic IRIDA project metadata population and automatic triggering upon sequencing data upload. These features need to be updated in the IRIDA project configuration page.
The plugin allows for automatic IRIDA project metadata population and automatic triggering upon sequencing data upload. These features need to be updated in the IRIDA project configuration page. Make sure to select on `Save the SISTR generated data (serovar, antigens, etc.) to the project metadata (i.e. Line List tab)? (recommended)` on the parameters screen when launching the pipeline.

<p align="center">
<img src="./pics/PipelineTile.png">
</p>
<p align="center" style="font-style:bold;font-size: 20px">Figure 1: Pipeline Tile</p>
<p align="center" style="font-style:bold;font-size: 20px"><b>Figure 1:</b> Pipeline Tile</p>

<p align="center">
<img src="./pics/LineListMeta.png">
</p>
<p align="center" style="font-style:bold;font-size: 20px">Figure 2: Key metadata fields populated after serotyping run</p>
<br>
<p align="center" style="font-style:bold;font-size: 20px"><b>Figure 2:</b> Key metadata fields populated after serotyping run</p>
<p align="center"></p>

<br>
<p align="center">
<img src="./pics/SISTRViewer.png">
</p>
<p align="center" style="font-style:bold;font-size: 20px">Figure 3: Serotyping results rendered by `SISTR Viewer` into a pretty web-page</p>
<br>
<p align="center" style="font-style:bold;font-size: 20px"><b>Figure 3:</b> Serotyping results rendered by SISTR Viewer into a pretty web-page</p>
<p align="center"></p>


Expand Down
Binary file modified pics/LineListMeta.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pics/PipelineTile.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,20 @@

<groupId>ca.corefacility.bioinformatics.irida.plugin.serotyping</groupId>
<artifactId>sistr-plugin</artifactId>
<version>1.1.1b</version>
<version>1.1.3</version>

<!-- Please fill out these properties with information about your particular plugin -->
<properties>
<!-- Information used to define properties about a plugin. Please see the PF4J docs for more details https://pf4j.org/doc/getting-started.html -->
<plugin.id>sistr-plugin</plugin.id>
<plugin.class>ca.corefacility.bioinformatics.irida.plugin.serotyping.SISTRplugin</plugin.class>
<plugin.version>1.1.1b</plugin.version>
<plugin.version>1.1.3</plugin.version>
<plugin.provider>Kyrylo Bessonov</plugin.provider>
<plugin.dependencies></plugin.dependencies>
<plugin.requires.runtime>1.1.0</plugin.requires.runtime>

<!-- The version of IRIDA your plugin must be compiled against. -->
<irida.version.compiletime>21.01</irida.version.compiletime>
<irida.version.compiletime>22.05</irida.version.compiletime>

<!-- Version of the pf4j dependency -->
<pf4j.version>2.4.0</pf4j.version>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@ public class SISTRSampleUpdater implements AnalysisSampleUpdater {
.put("mash_distance", "SISTR Genome Match Distance (MASH)")
.put("qc_status", "SISTR QC Status")
.put("qc_messages", "SISTR QC message(s)")
.put("predicted_serovar_in_list", "SISTR reportable serovar?")
.put("antigenic_formula", "SISTR antigenic formula")
.build();
// @formatter:on

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ public Optional<String> getAnalysisViewer() {

@Override
public UUID getDefaultWorkflowUUID() {
return UUID.fromString("b21ea62c-7916-4ca6-96ba-90c20177b70f");
return UUID.fromString("6e5a983d-0259-4e10-b721-88aaf1867ec9");
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<iridaWorkflow>
<id>b21ea62c-7916-4ca6-96ba-90c20177b70f</id>
<id>6e5a983d-0259-4e10-b721-88aaf1867ec9</id>
<name>SISTR</name>
<version>1.1.1b</version>
<version>1.1.3</version>
<analysisType>SISTR_TYPING_PLUGIN</analysisType>
<inputs>
<sequenceReadsPaired>sequence_reads_paired</sequenceReadsPaired>
Expand All @@ -18,18 +18,12 @@
<parameter name="shovill-1-adv.mincov" defaultValue="1">
<toolParameter toolId="toolshed.g2.bx.psu.edu/repos/iuc/shovill/shovill/1.1.0+galaxy0" parameterName="adv.mincov"/>
</parameter>
<parameter name="shovill-1-trim" defaultValue="false">
<toolParameter toolId="toolshed.g2.bx.psu.edu/repos/iuc/shovill/shovill/1.1.0+galaxy0" parameterName="trim"/>
</parameter>
<parameter name="shovill-1-adv.namefmt" defaultValue="contig%05d">
<toolParameter toolId="toolshed.g2.bx.psu.edu/repos/iuc/shovill/shovill/1.1.0+galaxy0" parameterName="adv.namefmt"/>
</parameter>
<parameter name="shovill-1-adv.depth" defaultValue="100">
<toolParameter toolId="toolshed.g2.bx.psu.edu/repos/iuc/shovill/shovill/1.1.0+galaxy0" parameterName="adv.depth"/>
</parameter>
<parameter name="shovill-1-log" defaultValue="true">
<toolParameter toolId="toolshed.g2.bx.psu.edu/repos/iuc/shovill/shovill/1.1.0+galaxy0" parameterName="log"/>
</parameter>
<parameter name="shovill-1-adv.gsize" defaultValue="">
<toolParameter toolId="toolshed.g2.bx.psu.edu/repos/iuc/shovill/shovill/1.1.0+galaxy0" parameterName="adv.gsize"/>
</parameter>
Expand All @@ -46,45 +40,48 @@
<toolParameter toolId="toolshed.g2.bx.psu.edu/repos/iuc/shovill/shovill/1.1.0+galaxy0" parameterName="assembler"/>
</parameter>
<parameter name="sistr_cmd-2-keep_tmp" defaultValue="false">
<toolParameter toolId="toolshed.g2.bx.psu.edu/repos/nml/sistr_cmd/sistr_cmd/1.1.1" parameterName="keep_tmp"/>
<toolParameter toolId="toolshed.g2.bx.psu.edu/repos/nml/sistr_cmd/sistr_cmd/1.1.3+galaxy0" parameterName="keep_tmp"/>
</parameter>
<parameter name="sistr_cmd-2-output_format" defaultValue="json">
<toolParameter toolId="toolshed.g2.bx.psu.edu/repos/nml/sistr_cmd/sistr_cmd/1.1.1" parameterName="output_format"/>
<toolParameter toolId="toolshed.g2.bx.psu.edu/repos/nml/sistr_cmd/sistr_cmd/1.1.3+galaxy0" parameterName="output_format"/>
</parameter>
<parameter name="sistr_cmd-2-run_mash" defaultValue="true">
<toolParameter toolId="toolshed.g2.bx.psu.edu/repos/nml/sistr_cmd/sistr_cmd/1.1.1" parameterName="run_mash"/>
<toolParameter toolId="toolshed.g2.bx.psu.edu/repos/nml/sistr_cmd/sistr_cmd/1.1.3+galaxy0" parameterName="run_mash"/>
</parameter>
<parameter name="sistr_cmd-2-serovar_list.selection_mode" defaultValue="default">
<toolParameter toolId="toolshed.g2.bx.psu.edu/repos/nml/sistr_cmd/sistr_cmd/1.1.3+galaxy0" parameterName="serovar_list.selection_mode"/>
</parameter>
<parameter name="sistr_cmd-2-more_output" defaultValue="-M">
<toolParameter toolId="toolshed.g2.bx.psu.edu/repos/nml/sistr_cmd/sistr_cmd/1.1.1" parameterName="more_output"/>
<toolParameter toolId="toolshed.g2.bx.psu.edu/repos/nml/sistr_cmd/sistr_cmd/1.1.3+galaxy0" parameterName="more_output"/>
</parameter>
<parameter name="sistr_cmd-2-verbosity" defaultValue="-vv">
<toolParameter toolId="toolshed.g2.bx.psu.edu/repos/nml/sistr_cmd/sistr_cmd/1.1.1" parameterName="verbosity"/>
<toolParameter toolId="toolshed.g2.bx.psu.edu/repos/nml/sistr_cmd/sistr_cmd/1.1.3+galaxy0" parameterName="verbosity"/>
</parameter>
<parameter name="sistr_cmd-2-use_full_cgmlst_db" defaultValue="true">
<toolParameter toolId="toolshed.g2.bx.psu.edu/repos/nml/sistr_cmd/sistr_cmd/1.1.1" parameterName="use_full_cgmlst_db"/>
<toolParameter toolId="toolshed.g2.bx.psu.edu/repos/nml/sistr_cmd/sistr_cmd/1.1.3+galaxy0" parameterName="use_full_cgmlst_db"/>
</parameter>
<parameter name="sistr_cmd-2-qc" defaultValue="true">
<toolParameter toolId="toolshed.g2.bx.psu.edu/repos/nml/sistr_cmd/sistr_cmd/1.1.1" parameterName="qc"/>
<toolParameter toolId="toolshed.g2.bx.psu.edu/repos/nml/sistr_cmd/sistr_cmd/1.1.3+galaxy0" parameterName="qc"/>
</parameter>
<parameter name="sistr_cmd-2-no_cgmlst" defaultValue="false">
<toolParameter toolId="toolshed.g2.bx.psu.edu/repos/nml/sistr_cmd/sistr_cmd/1.1.1" parameterName="no_cgmlst"/>
<toolParameter toolId="toolshed.g2.bx.psu.edu/repos/nml/sistr_cmd/sistr_cmd/1.1.3+galaxy0" parameterName="no_cgmlst"/>
</parameter>
</parameters>
<outputs>
<output name="shovill-contigs.fasta" fileName="shovill-contigs.fasta"/>
<output name="shovill-contigs.gfa" fileName="shovill-contigs.gfa"/>
<output name="shovill-std.log" fileName="shovill-std.log"/>
<output name="shovill-contigs.fasta" fileName="shovill-contigs.fasta"/>
<output name="sistr-alleles-out.json" fileName="sistr-alleles-out.json"/>
<output name="sistr-cgmlst-profiles.csv" fileName="sistr-cgmlst-profiles.csv"/>
<output name="sistr-novel-alleles.fasta" fileName="sistr-novel-alleles.fasta"/>
<output name="sistr-predictions" fileName="sistr-predictions.json"/>
<output name="sistr-cgmlst-profiles.csv" fileName="sistr-cgmlst-profiles.csv"/>
<output name="sistr-alleles-out.json" fileName="sistr-alleles-out.json"/>
</outputs>
<toolRepositories>
<repository>
<name>sistr_cmd</name>
<owner>nml</owner>
<url>https://toolshed.g2.bx.psu.edu</url>
<revision>17fcac7ddf54</revision>
<revision>cf767360ede1</revision>
</repository>
<repository>
<name>shovill</name>
Expand Down
Loading

0 comments on commit 8f2bba7

Please sign in to comment.