Giter VIP home page Giter VIP logo

metams's Introduction

Table of Contents

MetaMS

MetaMS is a workflow for metabolomics data processing and annotation

Current Version

2.2.3

Data input formats

  • ANDI NetCDF for GC-MS (.cdf)
  • CoreMS self-containing Hierarchical Data Format (.hdf5)
  • ChemStation Agilent (Ongoing)

Data output formats

  • Pandas data frame (can be saved using pickle, h5, etc)
  • Text Files (.csv, tab separated .txt, etc)
  • Microsoft Excel (xlsx)
  • JSON for workflow metadata
  • Self-containing Hierarchical Data Format (.hdf5) including raw data and ime-series data-point for processed data-sets with all associated metadata stored as json attributes

Data structure types

  • GC-MS

Available features

Signal Processing

  • Baseline detection, subtraction, smoothing
  • m/z based Chromatogram Peak Deconvolution,
  • Manual and automatic noise threshold calculation
  • First and second derivatives peak picking methods
  • Peak Area Calculation

Calibration

  • Retention Index Linear XXX method

Compound Identification

  • Automatic local (SQLite) or external (MongoDB or PostgreSQL) database check, generation, and search
  • Automatic molecular match algorithm with all spectral similarity methods

MetaMS Installation

Make sure you have python 3.9.13 installed before continue

  • PyPi:
pip3 install metams
  • From source:
pip3 install --editable .

To be able to open chemstation files a installation of pythonnet is needed:

  • Windows:

    pip3 install pythonnet
  • Mac and Linux:

    brew install mono
    pip3 install pythonnet   

Execution

metaMS dump_toml_template metams.toml
metaMS dump_corems_toml_template corems.toml

Modify the metams.toml and corems.toml accordingly to your dataset and workflow parameters make sure to include corems.json path inside the metams.toml: "corems_toml_path": "path_to_corems.toml"

metaMS run-gcms-workflow path_to_metams.toml

MiniWDL

Make sure you have python 3.9.13 installed before continue

MiniWDL uses the microbiome/metaMS image so there is not need to install metaMS

  • Change wdl/metams_input.json to specify the data location

  • Change data/corems.toml to specify the workflow parameters

Install miniWDL:

pip3 install miniwdl

Call:

miniwdl run wdl/metaMS.wdl -i wdl/metams_input.json --verbose --no-cache --copy-input-files

MetaMS Docker Container

You will need docker and docker compose:

If you don't have it installed, the easiest way is to install docker for desktop

  • Pull from Docker Registry:

    docker pull microbiomedata/metams:latest
    
    
  • or Build the image from source:

    docker build -t microbiomedata/metams:latest .
    
  • Run Workflow from Container:

    $(data_dir) = full path of directory containing the gcms data $(config_dir) = full path of directory containing configuration and parameters metams.toml and corems.toml

    docker run -v $(data_dir):/metaB/data -v $(config_dir):/metaB/configuration microbiomedata/metams:latest metaMS run-gcms-workflow /metaB/configuration/metams.toml
    
  • Getting the parameters templates:

    docker run -v $(config_dir):/metaB/configuration microbiomedata/metams:latest metaMS dump-json-template /metaB/configuration/metams.toml
    
    docker run -v $(config_dir):/metaB/configuration microbiomedata/metams:latest metaMS dump-corems-json-template /metaB/configuration/corems.toml
    

Disclaimer

This material was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government nor the United States Department of Energy, nor Battelle, nor any of their employees, nor any jurisdiction or organization that has cooperated in the development of these materials, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness or any information, apparatus, product, software, or process disclosed, or represents that its use would not infringe privately owned rights.

Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government or any agency thereof, or Battelle Memorial Institute. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or any agency thereof.

             PACIFIC NORTHWEST NATIONAL LABORATORY
                          operated by
                            BATTELLE
                            for the
               UNITED STATES DEPARTMENT OF ENERGY
                under Contract DE-AC05-76RL01830

metams's People

Contributors

corilo avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

metams's Issues

Issue with running MetaMS and minwidl

For metaMS:

After following standard install procedure, when I run:

metaMS dump_json_template MetamsFile.json

Error:

Traceback (most recent call last):
  File "/home/mbabinski/miniconda3/bin/metaMS", line 5, in <module>
    from metaMS.cli import cli
ModuleNotFoundError: No module named 'metaMS'

For miniwdl:

After following installation, when I run:

miniwdl run wdl/metaMS.wdl -i wdl/metams_input.json --verbose --no-cache --copy-input-files:

Error:

task runMetaMS (wdl/metaMS.wdl Ln 5 Col 1) failed :: dir: "/panfs/biopan04/scratch-mbabinski/metaMS/20210624_134633_gcmsMetabolomics/call-runMetaMS", error: "DockerException", message: "Error while fetching server API version: ('Connection aborted.', PermissionError(13, 'Permission denied'))"

With docker image there was no issue.

Thanks!
Michal

Document lipidomics workflow

Working subtasks:

Modify peak picking parameters to call by relative abundance (not absolute value)

Will change in lcmsrefactor branch.

Current peak picking parameters for LCMSBase class for minimum height and persistence are set as absolute values. In order to better parameterize these settings and follow conventions in CoreMS, we should change this to use a parameter like relative abundance for setting minimums.

As currently implemented, that is how we set our values, so functionally it will not change, just the parameter names will change.

LC-MS metabolomics WDL development and Github deployment

LC-MS metabolomics WDL development

  • Based on the CLI command for LC-MS data dependent data process, create a WDL workflow declaration and configuration json input file.

The workflow should be fully functional, able to process test datasets, and generate molecular table data products with putative metabolites annotation using mini wdl or cromwell based on the metaMS

Preparation Metadata: Sample Prep/Extraction

  • Identify important sample extraction details to capture / variations from cited protocols that are important (August)
  • Generate sample prep metadata template (August)
  • Complete example for MPLEx (September)
  • Identify missing information/ other needed details (Contact other EMSL staff) (October)

LC-MS metabolomics CLI development

Develop LC-MS metabolomics CLI

  • Finish LC-MS Data Dependent script, remove dependency of excel internal library, and release new CoreMS version
  • Add LC-MS Data Dependent command to existing metaMS cli based on corems script: CoreMS
  • Release new metaMS python package with new LC-MS data dependent workflow command
  • Release new metaMS docker image with new LC-MS data dependent workflow command

CLI should be fully functional, able to process test datasets, and generate molecular table data products with putative metabolites annotation. New metaMS python package release, and new docker image published.

Harmonize GC and LC spectral library creation and interfacing with MetabRef

@smcolby has added corems.molecular_id.search.database_interfaces module to branch of lcmsrefactor (feature branch is metabrefapi.

Below is example code to work with GCMS workflow:

from corems.molecular_id.search.database_interfaces import MetabRefDatabaseInterface

# Initialize
metabref = MetabRefDatabaseInterface()

# Set token
# This isn't tied to the class, so as long as it's been set
# at some point and part of your environment, good to go.
metabref.set_token("metabref.token")

# Get some stuff
db = metabref.get_gcms_library(format='json')

The existing lipidomics workflow should access metabref using as much overlapping functionality as possible.

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.