Giter Club home page Giter Club logo

rhermes's Introduction

RHermes

Codecov test coverage

RHermes is a broad-scoped targeted metabolomics package designed to analyse LC-MS and LC-MS/MS data to identify compounds in biological or environmental samples.

The RHermes workflow works with both Orbitrap and qTOF instrument data and comes with an interactive GUI to process and visualize the data.

Whether it’s natural products, biomedical or enviormental samples, RHermes can help you improve your matrix characterization. By selecting an appropiate formula database, you can focus on just the compounds you are interested in and improve your coverage.

With RHermes you can see the metabolites in your data and much more. There’s no need to manually calculate m/z’s to plot the XIC of different adducts: with the GUI you are just one click away from a metabolite-centric plot.

For more info, check out the documentation here and our article here.

Installation

You can download the development version from GitHub with:

if(!requireNamespace("devtools", quietly = TRUE))
    install.packages("devtools")
devtools::install_github("RogerGinBer/RHermes")

Analyzing LC-MS data with RHermes

Once installed, you can use RHermes programmatically like this:

library(RHermes)
#Generate a Exp object
example <- RHermesExp()

#Set your formula and adduct database
example <- setDB(example, db = "hmdb")

#Process your MS1 files
example <- processMS1(example,
                        system.file("extdata", "MS1TestData.mzML",
                        package = "RHermes"))
#Generate SOIs
example <- findSOI(example, getSOIpar(), 1)

#Generate an IL (Inclusion List)
example <- generateIL(example, 1, ILParam())

With the generated inclusion list, you can export it and run a Parallel Reaction Monitoring (PRM) MS2 experiment to reveal coeluting isomers or use any other MS2 mode you see fit.

Or start the interactive GUI typing:

RHermesGUI()

In the GUI you will find abundant help pages to guide you along the processing 👍

Please check the User Guide vignette for more detailed info and real examples.

Database availability

We have compiled some molecular formula open databases ready to be used with RHermes for all sorts of samples: HMDB, ChEBI, NORMAN, LipidMaps, COCONUT, etc. They are freely available at this Zenodo repository.

Bug reporting

Suggestions and bug reports are more than welcome at: https://github.com/RogerGinBer/RHermes/issues

Citation

Please cite this package as:

Giné, R., Capellades, J., Badia, J.M. et al. HERMES: a molecular-formula-oriented method to target the metabolome. Nat Methods 18, 1370–1376 (2021). https://doi.org/10.1038/s41592-021-01307-z

rhermes's People

Contributors

jcapelladesto avatar jmbadia avatar jordirofes avatar rogerginber avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

rhermes's Issues

change "Isotopic cosine score"

RHermes shiny app, SOI exploration window, Isotopic fidelity tab, I would suggest changing "Isotopic cosine score" by "Isotopic similarity Index" since the metric is no based in cosine anymore and might change in further versions

find.SOI function gives error "Error in nrow(pks) : object 'pks' not found"

Hi there,

I'm testing this RHermes package, just following the RHermes_UserGuide.Rmd and use the example datafile attacthed to the package (MS1TestData.mzML). When I get to the step of find.SOI, it pops out an error:

s <- getSOIpar("double")
myHermes <- findSOI(myHermes, s, 1)
-------- Processing SOI 1 out of 1 --------

Starting density filtering:
Running Density Filter
Running Density Interpreter
Running Density Filter
Running Density Interpreter
Now Grouping:
Merging filter 2 out of 2 with previous SOI list
Adding entries unique from the first DF
Adding entries unique from the second DF
Solving inner conflicts, Round: 1
Initial peak retrieval:

Starting group characterization:
Mass calculation:
Shortening and selecting long groups:
Error in nrow(pks) : object 'pks' not found

how should I solve this problem?
Thanks!

SOIs appex information in the SOIList

Hi @RogerGinBer ,
By the time you explore your SOIs using RHermes or any other software, I think having the appex information (in seconds) for each entry in the SOIList would be a nice add on. What do you think?

Adding retention time to SOIs names- RHermes shiny app

Dear @RogerGinBer,

Regarding RHermes shiny app, the convention to name SOIs seems to be (SOI id number + formula adduct + intensity). I would appreciate adding retention time to the SOI names in SOI selector options within SOI exploration tab. This would help to quickly navigate SOIs

can't run SOI filtering - cleanup

Hi Roger,

I've manually installed miniconda and tensorflow, which I believed the installation has been successful:

reticulate::use_condaenv("newenv", required = TRUE)
tensorflow::tf_config()
Loaded Tensorflow version 2.1.0
TensorFlow v2.1.0 (D:\Miniconda3\envs\newenv\lib\site-packages\tensorflow_init_.p)
Python v3.6 (D:/Miniconda3/envs/newenv/python.exe)
model <- keras::load_model_hdf5(system.file("extdata", "ImprovedModel.h5",

  •                                         package = "RHermes"))
    

2022-01-04 20:23:23.206567: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2

is(model, "python.builtin.object")
[1] TRUE

I've downloaded the original data from ZENODO and attempted to go through all the process using RHermesGUI(). When I reached the step of SOI filtering - cleanup, the GUI turned grey and froze, and I got msg like this:

Listening on http://127.0.0.1:5091
Warning in readRDS(f) :
strings not representable in native encoding will be translated to UTF-8
Computing isotopic elution similarity:
Calculating isotope similarity:
Calculating isotopic fidelity metrics:
Removing confirmed isotope entries:
Recalculating peaklist for plotting:
Warning: Error in rep: invalid 'times' argument
2: shiny::runApp
1: RHermesGUI

Could you please let me know what's gone wrong and how to solve this issue?

Cheers,
Emily

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.