Skip to content

Commit

Permalink
v2.0.0+galaxy0 (#11)
Browse files Browse the repository at this point in the history
* Bump dimspy version to v2.0.0 (first release py3)

* Fix and update tests

* Minor Improvements help sections

* Update README.rst

Co-authored-by: Tomnl <[email protected]>
  • Loading branch information
RJMW and Tomnl authored Apr 28, 2020
1 parent 92e23ce commit 680116d
Show file tree
Hide file tree
Showing 65 changed files with 7,272 additions and 7,238 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
tool_test_output.*
tools/dimspy/tool_test_output.*
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
Expand Down
31 changes: 22 additions & 9 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Galaxy tool wrappers for DIMSpy
========================
|Build Status (Travis)| |Git| |Bioconda| |License|
===============================
|Build Status (Travis)| |galaxy-eu| |Git| |Bioconda| |License|

Galaxy tool wrappers for Python package DIMSpy: data processing of direct-infusion mass spectrometry (DIMS)-based metabolomics and lipidomics data

Expand All @@ -11,19 +11,27 @@ PyPI (The Python Package Index): https://pypi.org/project/dimspy

Version
--------
v1.4.0+Galaxy0 (`DIMSpy v1.4.0 <https://pypi.org/project/dimspy/1.4.0/>`_)
v2.0.0+Galaxy0 (`DIMSpy v2.0.0 <https://pypi.org/project/dimspy/2.0.0/>`_)


Galaxy
-------
`Galaxy <https://galaxyproject.org>`_ is an open, web-based platform for data intensive biomedical research. Whether on the free public server or your own instance, you can perform, reproduce, and share complete analyses.


Authors, contributors & Contacts
----------------------------------
- Ralf J. M. Weber ([email protected]) - `University of Birmingham (UK) <http://www.birmingham.ac.uk/index.aspx>`_
- Thomas N. Lawson ([email protected]) - `University of Birmingham (UK) <http://www.birmingham.ac.uk/index.aspx>`_
- Martin R. Jones ([email protected]) - `University of Birmingham (UK) <http://www.birmingham.ac.uk/index.aspx>`_
Credits
-------

**Authors and contributors**
- Ralf J. M. Weber ([email protected]) - `University of Birmingham (UK) <https://www.birmingham.ac.uk/staff/profiles/biosciences/weber-ralf.aspx>`__
- Thomas N. Lawson ([email protected]) - `University of Birmingham (UK) <http://www.birmingham.ac.uk/index.aspx>`__
- Martin R. Jones ([email protected]) - `Eawag (Switzerland) <https://www.eawag.ch/en/aboutus/portrait/organisation/staff/profile/martin-jones/show/>`_


**DIMSpy acknowledges support from the following funders:**
- BBSRC, grant number BB/M019985/1
- European Commission's H2020 programme, grant agreement number 654241
- Wellcome Trust, grant number 202952/Z/16/Z


Bugs
Expand All @@ -36,8 +44,10 @@ will help you to make the PR if you are new to `git`.

Changes
-------
v2.0.0+galaxy0
- First release (Python 3-based version `DIMSpy <https://pypi.org/project/dimspy/2.0.0/>`_)

v1.4.0+galaxy0
- First stable release
- Final release (Python 2-based version `DIMSpy <https://pypi.org/project/dimspy/1.4.0/>`_)


Expand All @@ -59,6 +69,9 @@ section 3.3 of the RawFileReader License, and is not granted rights to redistrib
.. |Git| image:: https://img.shields.io/badge/repository-GitHub-blue.svg?style=flat&maxAge=3600
:target: https://github.com/computational-metabolomics/dimspy

.. |galaxy-eu| image:: https://img.shields.io/badge/usegalaxy-.eu-brightgreen?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAASCAYAAABB7B6eAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAsTAAALEwEAmpwYAAACC2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOkNvbXByZXNzaW9uPjE8L3RpZmY6Q29tcHJlc3Npb24+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlBob3RvbWV0cmljSW50ZXJwcmV0YXRpb24+MjwvdGlmZjpQaG90b21ldHJpY0ludGVycHJldGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KD0UqkwAAAn9JREFUOBGlVEuLE0EQruqZiftwDz4QYT1IYM8eFkHFw/4HYX+GB3/B4l/YP+CP8OBNTwpCwFMQXAQPKtnsg5nJZpKdni6/6kzHvAYDFtRUT71f3UwAEbkLch9ogQxcBwRKMfAnM1/CBwgrbxkgPAYqlBOy1jfovlaPsEiWPROZmqmZKKzOYCJb/AbdYLso9/9B6GppBRqCrjSYYaquZq20EUKAzVpjo1FzWRDVrNay6C/HDxT92wXrAVCH3ASqq5VqEtv1WZ13Mdwf8LFyyKECNbgHHAObWhScf4Wnj9CbQpPzWYU3UFoX3qkhlG8AY2BTQt5/EA7qaEPQsgGLWied0A8VKrHAsCC1eJ6EFoUd1v6GoPOaRAtDPViUr/wPzkIFV9AaAZGtYB568VyJfijV+ZBzlVZJ3W7XHB2RESGe4opXIGzRTdjcAupOK09RA6kzr1NTrTj7V1ugM4VgPGWEw+e39CxO6JUw5XhhKihmaDacU2GiR0Ohcc4cZ+Kq3AjlEnEeRSazLs6/9b/kh4eTC+hngE3QQD7Yyclxsrf3cpxsPXn+cFdenF9aqlBXMXaDiEyfyfawBz2RqC/O9WF1ysacOpytlUSoqNrtfbS642+4D4CS9V3xb4u8P/ACI4O810efRu6KsC0QnjHJGaq4IOGUjWTo/YDZDB3xSIxcGyNlWcTucb4T3in/3IaueNrZyX0lGOrWndstOr+w21UlVFokILjJLFhPukbVY8OmwNQ3nZgNJNmKDccusSb4UIe+gtkI+9/bSLJDjqn763f5CQ5TLApmICkqwR0QnUPKZFIUnoozWcQuRbC0Km02knj0tPYx63furGs3x/iPnz83zJDVNtdP3QAAAABJRU5ErkJggg==
:target: http://usegalaxy.eu

.. |Bioconda| image:: https://img.shields.io/badge/install%20with-bioconda-brightgreen.svg?style=flat&maxAge=3600
:target: http://bioconda.github.io/recipes/dimspy/README.html

Expand Down
2 changes: 1 addition & 1 deletion tools/dimspy/align_samples.xml
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ Align Samples
Description
-----------

Standard DIMS processing workflow: Process Scans -> Replicate Filter -> **Align Samples** -> [Missing values sample filter] -> Blank Filter -> Sample Filter -> Matrix processing -> Statistics
Standard DIMS processing workflow: Process Scans -> [Replicate Filter] -> **Align Samples** -> Blank Filter -> Sample Filter -> [Missing values sample filter] -> Pre-processing -> Statistics

|

Expand Down
2 changes: 1 addition & 1 deletion tools/dimspy/blank_filter.xml
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ Blank Filter
Description
-----------

Standard DIMS processing workflow: Process Scans -> Replicate Filter -> Align Samples -> [Missing values sample filter] -> **Blank Filter** -> Sample Filter -> Matrix processing -> Statistics
Standard DIMS processing workflow: Process Scans -> [Replicate Filter] -> Align Samples -> **Blank Filter** -> Sample Filter -> [Missing values sample filter] -> Pre-processing -> Statistics

|

Expand Down
3 changes: 2 additions & 1 deletion tools/dimspy/macros.xml
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
<macros>
<token name="@TOOL_VERSION@">1.4.0</token>
<token name="@TOOL_VERSION@">2.0.0</token>
<token name="@GALAXY_TOOL_VERSION@">0</token>

<xml name="requirements">
<requirements>
<requirement type="package" version="@TOOL_VERSION@">dimspy</requirement>
</requirements>
</xml>


<token name="@HDF5_PM_TO_TXT@">
dimspy hdf5-pm-to-txt
Expand Down
126 changes: 73 additions & 53 deletions tools/dimspy/merge_peaklists.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,52 +10,60 @@
#for $fn in $hdf5_files_in
--input '$fn'
#end for
#if $multilist.flag == 'true'
#if $multilist
--output .
--filelist $multilist.filelist'
#else
--output '$hdf5_file_out'
#if $filelist
--filelist '$multilist.filelist'
#end if
#end if
#if $filelist
--filelist '$filelist'
#end if
]]>
</command>
<inputs>
<param name="hdf5_files_in" argument="--input" type="data" format="h5" multiple="true" min="2" label="Peaklist to merge" help="Select a minimum of two hdf5 files" />
<conditional name="multilist">
<param name="flag" type="boolean" checked="false" truevalue="true" falsevalue="false" label="Create multiple merged peaklists?" help="Based on a 'multilist' column in the filelist text file, divide the peaklists into different lists
e.g. [pl1, pl2, pl3, pl4] can be converted to 2 new lists:
<param name="hdf5_files_in" type="data" multiple="true" format="h5" min="2" label="Peaklist to merge" help="Select a minimum of two hdf5 files" argument="--input" />
<param name="multilist" type="boolean" checked="false" label="Create multiple merged peaklists?"
help="Based on a 'multilist' column in the filelist text file, divide the peaklists into different lists
e.g. [pl1 pl2], [pl3, pl4] can be converted to 2 new lists:
[pl1, pl3] [pl2, pl4]"/>
<when value="true">
<param name="filelist" argument="--filelist" type="data" format="tsv,tabular" label="Filelist" />
</when>
<when value="false">
<param name="filelist" argument="--filelist" type="data" format="tsv,tabular" optional="true" label="Filelist" />
</when>
</conditional>
<param type="data" format="tsv,tabular" optional="true" label="Filelist"
help="A table containing metadata for each experimental sample. See help section below for more details." argument="--filelist" />
</inputs>
<outputs>
<collection name="multiple_merged" type="list" label="${tool.name} on ${on_string}: Peaklists (HDF5)">
<filter>multilist["flag"] is True</filter>
<filter>multilist</filter>
<discover_datasets pattern="(?P&lt;designation&gt;.+)\.hdf5" format="h5" directory="." visible="false" />
</collection>
<data name="hdf5_file_out" format="h5" label="${tool.name} on ${on_string}: Peaklists (HDF5 file)">
<filter>multilist["flag"] is False</filter>
<filter>multilist is False</filter>
</data>
</outputs>
<tests>
<test>
<!-- Merge (no filelist) -->
<param name="hdf5_files_in" value="pls.h5,pls_QC18.h5" ftype="h5" />
<output name="hdf5_file_out" value="merged_01.h5" ftype="h5" compare="sim_size" />
</test>
<test>
<!-- Merge (with filelist) -->
<param name="hdf5_files_in" value="pls.h5,pls_QC18.h5" ftype="h5" />
<conditional name="multilist">
<param name="filelist" value="filelist_merge.txt" ftype="tsv"/>
</conditional>
<param name="filelist" value="filelist_merge.txt" ftype="tsv"/>
<output name="hdf5_file_out" value="merged_02.h5" ftype="h5" compare="sim_size" />
</test>
<test>
<!-- Merge (multilist) -->
<param name="hdf5_files_in" value="pls.h5,pls_QC18.h5" ftype="h5" />
<param name="filelist" value="filelist_multilist_merge.txt" ftype="tsv"/>
<param name="multilist" value="true"/>
<output_collection name="multiple_merged" type="list">
<element name="merged_peaklist_001" file="merged_peaklist_001.h5" ftype="h5" compare="sim_size" />
<element name="merged_peaklist_002" file="merged_peaklist_002.h5" ftype="h5" compare="sim_size" />
<element name="merged_peaklist_003" file="merged_peaklist_003.h5" ftype="h5" compare="sim_size" />
</output_collection>
</test>

</tests>
<help>
---------------
Expand All @@ -77,51 +85,59 @@ This tool allows users to extract and export specific peaklists from one or more
Parameters
----------

|

**Peaklist to merge** (REQUIRED; minimally requires two .hdf5 files) - selection menu from which the user must select two or more .hdf5 files from the active Galaxy history.

**NOTE**: if a .hdf5 file containing a peak intensity matrix is selected, then the peaklists used in generating that matrix are extracted from the file e.g. [pl1, pl2, pl3] + [pm456] = [pl1, pl2, pl3] + [pl4, pl5, pl6] = [pl1, pl2, pl3, pl4, pl5, pl6] .
**NOTE**: if a .hdf5 file containing a peak intensity matrix is selected, then the peaklists used in generating that matrix are extracted from the file e.g. [pl1, pl2, pl3] + [pm456] = [pl1, pl2, pl3] + [pl4, pl5, pl6] = [pl1, pl2, pl3, pl4, pl5, pl6] .

|

**Create multiple merged peaklists** (REQUIRED; default = “No”) - binary toggle:

- **No** - all extracted peaklists are exported to a single .hdf5 file in the active Galaxy history. Metadata associated with each peaklist is also captured in this file.
**No** - all extracted peaklists are exported to a single .hdf5 file in the active Galaxy history. Metadata associated with each peaklist is also captured in this file.

- **Yes** - multiple .hdf5 files are exported to the active Galaxy history, each of which containing a user-defined subset of the extracted peaklist(s) in accordance with the “multilist” column of the input “Filelist”, e.g. using the mock filelist shown below, two .hdf5 files would be exported to history:

The first .hdf5 file would contain peaklists from [sample_rep1.raw, sample_rep2.raw, blank1_rep1.raw and blank1_rep2.raw], i.e. all filenames associated with multilist value '1'
**Yes** - multiple .hdf5 files are exported to the active Galaxy history, each of which containing a user-defined subset of the extracted peaklist(s) in accordance with the “multilist” column of the input “Filelist”, e.g. using the mock filelist shown below, two .hdf5 files would be exported to history:

The second .hdf5 file would contain peaklists from [blank_rep1.raw, blank_rep2.raw, blank_rep3.raw and blank_rep4.raw], i.e. all filenames associated with multilist value '2'
* The first .hdf5 file would contain peaklists from [sample_rep1.raw, sample_rep2.raw, blank1_rep1.raw and blank1_rep2.raw], i.e. all filenames associated with multilist value '1'

* The second .hdf5 file would contain peaklists from [sample_rep1.raw, sample_rep2.raw, blank_rep3.raw and blank_rep4.raw], i.e. all filenames associated with multilist value '2'

|


**NOTE** - if for each analysed study sample a corresponding blank sample has been analysed, then the multilist column can be used to pair these together in an output .hdf5 file. This enables sample-specific blank filtering at a later stage.

**NOTE** - if for each analysed study sample a corresponding blank sample has been analysed, then the multilist column can be used to pair these together in an output .hdf5 file. This enables sample-specific blank filtering at a later stage.

|

**Filelist / Samplelist** (OPTIONAL) - a selection menu from which one or more filelists can be selected.

**Mock example of a filelist** - the optional multilist column determines which peaklists are exported together in .hdf5 format.

+-----------------+------------+-----------+-------+----------------+-----------+-------+
| filename | classLabel | replicate | batch | injectionOrder | multilist | [...] |
+-----------------+------------+-----------+-------+----------------+-----------+-------+
| sample_rep1.raw | sample | 1 | 1 | 1 | 1 | [...] |
+-----------------+------------+-----------+-------+----------------+-----------+-------+
| sample_rep2.raw | sample | 2 | 1 | 2 | 1 | [...] |
+-----------------+------------+-----------+-------+----------------+-----------+-------+
| sample_rep3.raw | sample | 3 | 1 | 3 | 2 | [...] |
+-----------------+------------+-----------+-------+----------------+-----------+-------+
| sample_rep4.raw | sample | 4 | 1 | 4 | 2 | [...] |
+-----------------+------------+-----------+-------+----------------+-----------+-------+
| blank_rep1.raw | blank | 1 | 1 | 5 | 1 | [...] |
+-----------------+------------+-----------+-------+----------------+-----------+-------+
| blank_rep2.raw | blank | 2 | 1 | 6 | 1 | [...] |
+-----------------+------------+-----------+-------+----------------+-----------+-------+
| blank_rep3.raw | blank | 3 | 1 | 7 | 2 | [...] |
+-----------------+------------+-----------+-------+----------------+-----------+-------+
| blank_rep4.raw | blank | 4 | 1 | 8 | 2 | [...] |
+-----------------+------------+-----------+-------+----------------+-----------+-------+
| ... | ... | ... | ... | ... | ... | [...] |
+-----------------+------------+-----------+-------+----------------+-----------+-------+
**Mock example of a filelist** - the optional multilist column determines which peaklists are exported together in .hdf5 format.

|

+-----------------+------------+-----------+-------+----------------+-----------+-------+
| filename | classLabel | replicate | batch | injectionOrder | multilist | [...] |
+-----------------+------------+-----------+-------+----------------+-----------+-------+
| sample_rep1.raw | sample | 1 | 1 | 1 | 1 | [...] |
+-----------------+------------+-----------+-------+----------------+-----------+-------+
| sample_rep2.raw | sample | 2 | 1 | 2 | 1 | [...] |
+-----------------+------------+-----------+-------+----------------+-----------+-------+
| sample_rep3.raw | sample | 3 | 1 | 3 | 2 | [...] |
+-----------------+------------+-----------+-------+----------------+-----------+-------+
| sample_rep4.raw | sample | 4 | 1 | 4 | 2 | [...] |
+-----------------+------------+-----------+-------+----------------+-----------+-------+
| blank_rep1.raw | blank | 1 | 1 | 5 | 1 | [...] |
+-----------------+------------+-----------+-------+----------------+-----------+-------+
| blank_rep2.raw | blank | 2 | 1 | 6 | 1 | [...] |
+-----------------+------------+-----------+-------+----------------+-----------+-------+
| blank_rep3.raw | blank | 3 | 1 | 7 | 2 | [...] |
+-----------------+------------+-----------+-------+----------------+-----------+-------+
| blank_rep4.raw | blank | 4 | 1 | 8 | 2 | [...] |
+-----------------+------------+-----------+-------+----------------+-----------+-------+
| ... | ... | ... | ... | ... | ... | [...] |
+-----------------+------------+-----------+-------+----------------+-----------+-------+

|

Expand All @@ -130,12 +146,16 @@ Parameters
Output file(s)
--------------

|

One or more .hdf5 file(s), each containing one or more peaklists.

|

-----------------------------------

@github_developers_contributors@
@license@
</help>
<expand macro="citations" />
</tool>
</tool>
2 changes: 1 addition & 1 deletion tools/dimspy/missing_values_sample_filter.xml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ Missing Values Sample Filter
Description
-----------

Standard DIMS processing workflow: Process Scans -> Replicate Filter -> Align Samples -> **[Missing values sample filter]** -> Blank Filter -> Sample Filter -> Matrix processing -> Statistics
Standard DIMS processing workflow: Process Scans -> [Replicate Filter] -> Align Samples -> Blank Filter -> Sample Filter -> **[Missing values sample filter]** -> Pre-processing -> Statistics

|

Expand Down
Loading

0 comments on commit 680116d

Please sign in to comment.