computational-metabolomics / mspurity-galaxy

Galaxy tools for msPurity package: includes precursor ion purity calculations and spectral matching
GNU General Public License v3.0
3 stars 6 forks source link

Preparation for release to the stable toolshed #13

Closed Tomnl closed 5 years ago

Tomnl commented 5 years ago

General

This pull requests is to make all vital updates before submitting to the Galaxy stable toolshed.

Key updates

Tools for Galaxy stable toolshed

msPurity

These tools are directly from the msPurity package

Name ID Description
msPurity.purityA mspurity_puritya Assign fragmentation spectra to XCMS features using msPurity
msPurity.frag4feature mspurity_frag4feature Using a purityA object, filter fragmentations spectra associated with an XCMS feature
msPurity.filterFragSpectra mspurity_filterfragspectra Using a purityA object, link MS/MS data to XCMS features
msPurity.averageFragSpectra mspurity_averagefragspectra Average and filter fragmentation spectra (Inter, Intra or All)
msPurity.createDatabase mspurity_createdatabase Create and SQLite database of an LC-MS(/MS) experiment
msPurity.spectralMatching mspurity_spectralmatching Spectral matching for LC-MS/MS datasets
msPurity.combineAnnotations mspurity_combineannotations Combine the annotation results from msPurity spectral matching, MetFrag, Sirius CSI:FingerID and probmetab
msPurity.createMSP mspurity_createmsp Using a purityA object, create an MSP file of fragmentation spectra
msPurity.dimsPredictPuritySingle mspurity_dimspredictpuritysingle Assess the anticipated (predicted) precursor ion purity from a DI-MS dataset
msPurity.purityX mspurity_purityx Assessing anticipated (predicted) purity of XCMS features from an LC-MS run
msPurity.flagRemove mspurity_flagremove Flag and remove XCMS grouped peaks from the xcmsSet object based on various thresholds (e.g. RSD of intensity and retention time).

Utils tools

These are helper tools that are not directly from the msPurity R package but provide useful related functionality

Name ID Description
track_rt_raw track_rt_raw Alternative approach to keep track of retention time from XCMS features
msp_split msp_split Split MSP file into multiple files
submit_to_mogi submit_to_mogi Submit data to MOGI interface and database

Associated code for each tool

Name R
msPurity.purityA msPurity::purityA (S4 class object)
msPurity.frag4feature msPurity::frag4feature (class function of purityA object)
msPurity.filterFragSpectra msPurity::filterFragSpectra (class function of purityA object)
msPurity.averageFragSpectra msPurity::averageAllFragSpectra msPurity::averageIntraFragSpectra msPurity::averageInterFragSpectra (class functions of purityA object)
msPurity.createDatabase msPurity::createDatabase
msPurity.spectralMatching msPurity::spectralMatching
msPurity.combineAnnotations msPurity::combineAnnotations
msPurity.createMSP msPurity::createMSP
msPurity.dimsPredictPuritySingle msPurity::dimsPredictPuritySingle
msPurity.purityX msPurity::purityX
msPurity.flagRemove msPurity::flag_remove
track_rt_raw R code in Galaxy tool repository
msp_split Python code in Galaxy tool repository
submit_to_mogi curl command in Galaxy tool

Name, file and ID changes

New name New ID New Filename Old name Old ID Old filename
msPurity.purityA mspurity_puritya purityA.xml assess_purity_msms assess_purity_msms assess_purity_msms.xml
msPurity.frag4feature mspurity_frag4feature purityA-frag4feature.xml frag4feature frag4feature frag4feature.xml
msPurity.purityX mspurity_purityx purityX.xml anticipated_purity_lcms anticipated_purity_lcms anticipated_purity_lcms.xml
msPurity.flagRemove mspurity_flagremove flagRemove.xml flag_remove_peaks flag_remove_peaks flag-remove-peaks.xml
msPurity.dimsPredictPuritySingle msPurity.dimsPredictPuritySingle dimsPredictPuritySingle.xml anticipated_purity_dims anticipated_purity_dims anticipated_purity_dims.xml

New database schema and spectral matching tools

Rather than update the original database and spectral matching tools. The old tools are still available but are now deprecated (i.e. they will be available in the github repository and on test tool shed but will not be pushed to the stable toolshed)

For future analysis it is intended that the following tools should now be used in replace of create_sqlite_db and spectral_matching

Name R Reason for new tool
createDatabase msPurity::createDatabase New schema to use for the spectral-database (deprecates create_sqlite_db)
spectralMatching msPurity::spectralMatching New schema to use for spectral-database and update of the filtering to be more flexible (deprecates spectral_matching)

See https://bioconductor.org/packages/release/bioc/vignettes/msPurity/inst/doc/msPurity-lcmsms-data-processing-and-spectral-matching-vignette.html

Additional (potential) work still to do

Tomnl commented 5 years ago

Hi both @RJMW @jsaintvanne

There are a lot of changes here - but hopefully the updates will be useful

Let me know if you want me to explain anything in more details - if you are both OK with the changes I will merge when the updated msPurity and msPurityData package are in bioconda

jsaintvanne commented 5 years ago

Hi,

A lot of work on this package! Good to see it ! I will try it with our workflow to see if I can run it correctly but that looks very good! Good job :)

@yguitton @lecorguille

Tomnl commented 5 years ago

Thanks @jsaintvanne. Let me know if you need any more information or if any bugs come up

Tomnl commented 5 years ago

It looks like it will be a while before bioconductor 3.9 release is in bioconda properly - potentially some time in July.

So for now, I will add the tools to the test toolshed as is, and my 'tomnl' conda channel will need to be added to the Galaxy channels if the tools are to be used.

When the Bioconda-bioconductor v3.9 is released I will push the tools to the stable toolshed

I might also merge this branch into stable - to avoid confusion for the Galaxy conference.

Any objections? @RJMW @jsaintvanne

jsaintvanne commented 5 years ago

Hi Thomas !

No objections for me ! We are working with your tool to be able to have our constraint with MS1 files corresponding to MS2 files ! I'm looking at this to see what is possible with zero modifications on msPurity (should be easier for everybody !). I'm working on it and we should met sometimes with @lecorguille and @yguitton to see this together :)

But your work looks very good for the moment and all looks working for me !