All Projects → ElucidataInc → ElMaven

ElucidataInc / ElMaven

Licence: GPL-2.0 license
LC-MS data processing tool for large-scale metabolomics experiments.

Programming Languages

C++
36643 projects - #6 most used programming language
Makefile
30231 projects
c
50402 projects - #5 most used programming language
shell
77523 projects
objective c
16641 projects - #2 most used programming language
Objective-C++
1391 projects

Projects that are alternatives of or similar to ElMaven

SmartPeak
Fast and Accurate CE-, GC- and LC-MS(/MS) Data Processing
Stars: ✭ 21 (-75%)
Mutual labels:  mass-spectrometry, lc-ms, lc-msms
tools-metabolomics
Galaxy tools for metabolomics maintained by Workflow4Metabolomics
Stars: ✭ 13 (-84.52%)
Mutual labels:  metabolomics, mass-spectrometry
xcms
This is the git repository matching the Bioconductor package xcms: LC/MS and GC/MS Data Analysis
Stars: ✭ 124 (+47.62%)
Mutual labels:  metabolomics, mass-spectrometry
QFeatures
Quantitative features for mass spectrometry data
Stars: ✭ 12 (-85.71%)
Mutual labels:  metabolomics, mass-spectrometry
pyqms
pyQms, generalized, fast and accurate mass spectrometry data quantification
Stars: ✭ 22 (-73.81%)
Mutual labels:  metabolomics, mass-spectrometry
GNPS Workflows
Public Workflows at GNPS
Stars: ✭ 31 (-63.1%)
Mutual labels:  metabolomics, mass-spectrometry
sirius
SIRIUS is a software for discovering a landscape of de-novo identification of metabolites using tandem mass spectrometry. This repository contains the code of the SIRIUS Software (GUI and CLI)
Stars: ✭ 32 (-61.9%)
Mutual labels:  metabolomics, mass-spectrometry
batmass
Mass spectrometry data visualization
Stars: ✭ 32 (-61.9%)
Mutual labels:  mass-spectrometry, lc-ms
CoreMS
CoreMS is a comprehensive mass spectrometry software framework
Stars: ✭ 20 (-76.19%)
Mutual labels:  metabolomics, mass-spectrometry
GNPSDocumentation
Documentation for GNPS and related tools as written in mkdocs
Stars: ✭ 26 (-69.05%)
Mutual labels:  metabolomics
metaspace
Cloud engine and platform for metabolite annotation for imaging mass spectrometry
Stars: ✭ 36 (-57.14%)
Mutual labels:  metabolomics
MS-CleanR
No description or website provided.
Stars: ✭ 21 (-75%)
Mutual labels:  metabolomics
q2-qemistree
Hierarchical orderings for mass spectrometry data. Canonically pronounced "chemis-tree".
Stars: ✭ 23 (-72.62%)
Mutual labels:  metabolomics
nPYc-Toolbox
The nPYc-Toolbox defines objects for representing, and implements functions to manipulate and display, metabolic profiling datasets.
Stars: ✭ 14 (-83.33%)
Mutual labels:  metabolomics
Informed-Proteomics
Top down / bottom up, MS/MS analysis tool for DDA and DIA mass spectrometry data
Stars: ✭ 25 (-70.24%)
Mutual labels:  mass-spectrometry
melonnpan
Model-based Genomically Informed High-dimensional Predictor of Microbial Community Metabolic Profiles
Stars: ✭ 20 (-76.19%)
Mutual labels:  metabolomics
MSFragger
Ultrafast, comprehensive peptide identification for mass spectrometry–based proteomics
Stars: ✭ 43 (-48.81%)
Mutual labels:  mass-spectrometry
MALDIquant
Quantitative Analysis of Mass Spectrometry Data
Stars: ✭ 48 (-42.86%)
Mutual labels:  mass-spectrometry
isicle
In silico chemical library engine for high-accuracy chemical property prediction
Stars: ✭ 31 (-63.1%)
Mutual labels:  metabolomics
PredFull
This work was published on Analytical Chemistry: Full-Spectrum Prediction of Peptides Tandem Mass Spectra using Deep Neural Network
Stars: ✭ 20 (-76.19%)
Mutual labels:  mass-spectrometry

El-MAVEN

An intuitive, open-source LC-MS data processing tool

from


Build Status Build status codecov DOI


Index

Features

Maven and El-MAVEN share following features:

  • Multi-file chromatographic aligner
  • Peak-feature detector
  • Isotope calculator

El-MAVEN is robust, faster and with more user friendly features compared to Maven, and includes the following additional capabilities:

  • Adduct calculator
  • Fragmentation spectra matching
  • Peak editor

Download

El-MAVEN installers are available for Windows (7 and above) and Mac OS (10.12 and above). Users can download the latest release for these platforms from the official website.

Build from source

Contributers and developers can build El-MAVEN on Windows, Ubuntu or Mac OS by following the following instructions.

Setting up a development environment (64 bit platforms only)

Each of the three operating systems need to be set-up differently to be able to compile El-MAVEN from its source. Please follow instructions according to your platform.

Windows

We use MSYS2 (and mingw64) envoronment for developing El-MAVEN on Windows.

Note: To verify whether the above installation steps completed successfully make sure you have "libeay32.dll" and "ssleay32.dll" in path C:\msys64\mingw64\bin\. You might see a shortcut for the MSYS2 shell on your Desktop or Start menu, unless you chose to not add them during installation.

After completing the above steps, the following commands needs to be executed from the MSYS2 shell. This updates and installs required dependencies to compile El-MAVEN:

pacman --force -Sy
pacman --force -Syu
pacman --force -Su
pacman --force -Sy base-devel msys2-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-qt5 mingw64/mingw-w64-x86_64-hdf5 mingw64/mingw-w64-x86_64-netcdf mingw64/mingw-w64-x86_64-boost msys/git mingw-w64-x86_64-curl

It can be helpful if the $PATH variable is changed permanently to point to our newly installed packages. To do this, you will have to make changes in your .bashrc file for MSYS2, which can be done manually or via shell's command line.

Manually editing .bashrc:

  • Open .bashrc(located in C:\msys64\home\<USERNAME>\) in any text editor
  • Add export PATH=/c/msys64/mingw64/bin/:$PATH at the end of the file
  • Save and exit the editor
  • From msys2 shell: source ~/.bashrc

Editing .bashrc via the MSYS2 command line:

echo export PATH=/c/msys64/usr/bin/:/c/msys64/mingw64/bin/:$PATH > ~/.bashrc
source ~/.bashrc

Ubuntu

The following commands can be executed to update packages, repositories and package lists as well as install dependencies required for all versions of Ubuntu:

sudo apt-get update
sudo apt-get install g++
sudo apt-get install libsqlite3-dev libboost-all-dev lcov libnetcdf-dev

Please note that, we do not intend to support El-MAVEN on Ubuntu 16.xx or below anymore. You may or may not be able to compile it successfull if you are running one of these older Ubuntu systems.

We can now finally install Qt framework, along with related libraries and plugins:

sudo apt-get install qt5-qmake qtbase5-dev qtscript5-dev qtdeclarative5-dev libqt5multimedia5
sudo apt-get install libqt5multimedia5-plugins qtmultimedia5-dev libqt5webkit5-dev

Mac OS

Development on Mac OS requires the installation of Xcode (and the host of tools that it brings). Please install Xcode from the "App Store" before proceeding.

Once Xcode has been installed, use "Terminal" to perform a necessary action and install xcode-select:

sudo xcodebuild -license accept
xcode-select --install

Next, install Homebrew and using brew, install dependencies of El-MAVEN.

usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install boost
brew install qt
brew install llvm@6
brew install netcdf

Find out the path where LLVM and Qt have been installed by brew. Typically this is usually /usr/local/opt/llvm@6 and /usr/local/opt/qt, respectively.

Configure the $PATH variable to allow your build system to find these installed packages and binaries in all future sessions (replace LLVM_DIR and QT_DIR with the appropriate paths found in the last step):

cd ~
touch .bash_profile
echo "export PATH=/QT_DIR/bin:/LLVM_DIR/bin/:$PATH" >> .bash_profile
echo "export LDFLAGS="-L/QT_DIR/lib -L/LLVM_DIR/lib -Wl,-rpath,/LLVM_DIR/lib" >> .bash_profile
echo "export CPPFLAGS+="-I/QT_DIR/include -I/LLVM_DIR/include  -I/LLVM_DIR/c++/v1/" >> .bash_profile
source .bash_profile

Additionally, for MacOS, if building in release mode, sentry-native (Crashpad backend) should be compiled and available through the build environment. In a separate location, download the latest release, unzip and compile:

curl -O -J -L https://github.com/getsentry/sentry-native/releases/download/0.1.2/sentry-native-0.1.2.zip
unzip sentry-native-0.1.2.zip &> /dev/null
cd sentry-native/gen_macosx
make config=release sentry_crashpad
echo "export SENTRY_MACOSX_BIN='$PWD/bin/Release'" >> ~/.bash_profile
cd -

Once this has been done the path to sentry-native binaries and libraries should be exported in the user's enviroment:

echo "export PATH='$SENTRY_MACOSX_BIN:$PATH'" >> ~/.bash_profile
echo "export LDFLAGS='$LDFLAGS -L/$SENTRY_MACOSX_BIN'" >> ~/.bash_profile
source ~/.bash_profile

While the above set-up will allow compilation and linking in release mode without any errors, the crash reporting itself will not be functional until a unique Sentry DSN value is exported and available as a base64-encoded string before platform config (qmake) step.

export SENTRY_DSN=<YOUR_SECRECT_SENTRY_DSN>
export SENTRY_DSN_BASE64=`echo $SENTRY_DSN | base64`

Getting the source code

Switch to a directory to where you want the code and then clone this repo (including submodules) using:

cd <path/to/work/>
git clone --recursive https://github.com/ElucidataInc/ElMaven.git

Build

Before building, make sure the environment has ben setup correctly and make sure that the correct versions of libraries have been installed by issuing the following commands:

  • Qt version should be >= 5.7: qmake -v
  • Boost should be >= 1.58
    • On Ubuntu : apt-cache policy libboost-all-dev
    • On Mac OS: brew info boost
    • On Windows: pacman -Qi mingw64/mingw-w64-x86_64-boost

For building the application and peakdetector CLI in release mode (without any tests) execute the following commands:

cd ElMaven
qmake CONFIG+=release NOTESTS=yes build.pro
make -j4

If, following earlier steps, El-MAVEN was linked to sentry-native on MacOS, then two additional commands need to be run for crash reporter to work correctly (this assumes that the $SENTRY_MACOSX_BIN env var is defined already):

install_name_tool -change @rpath/libsentry_crashpad.dylib $SENTRY_MACOSX_BIN/libsentry_crashpad.dylib bin/El-MAVEN.app/Contents/MacOS/El-MAVEN
cp $SENTRY_MACOSX_BIN/crashpad_handler bin/El-MAVEN.app/Contents/MacOS/

For compiling El-MAVEN in debug mode (along with tests), execute these commands instead:

cd ElMaven
qmake CONFIG+=debug build.pro
make -j4

To run the GUI application run one of the following, according to your OS:

  • Windows: bin/El-MAVEN.exe
  • Linux: bin/El-MAVEN
  • Mac OS: bin/El-MAVEN.app/Contents/MacOS/El-MAVEN

To run the peakdetector CLI application run (example shows -h for help on available arguments):

  • Windows: bin/peakdetector.exe -h
  • Linux: bin/peakdetector -h
  • Mac OS: bin/peakdetector.app/Contents/MacOS/peakdetector -h

To help with this process, we provide the build script named ./run.sh, available in in root source directory. It will ask whether you want to build in release or debug mode when executed. If you want to switch from/to release or debug mode, a clean build must be done. Use the uninstall.sh script to clean any built objects of artifacts.

To run tests, please execute the run_tests.sh script - which assumes that the test executables (bin/MavenTests and bin/test-libmaven) were compiled and built beforehand.

Bugs and feature requests

Existing bugs and feature requests can be found on El-MAVEN github issue page. Please make sure that your bug/feature does not already exist in the issues list before you file new bugs or request a feature.

Documentation

El-MAVEN user documentation can be found on the project's GitHub wiki page.

Contributing

All contributions are welcome. Please go through our contributing guidelines and code of conduct. These guidelines include directions for coding standards, filing issues and development guidelines.

All the functional features should be tested before committing the code and creating pull requests. When contributing C++ code, please make sure that it follows the style guide for this project.

Any and all contributions/corrections to the documentation itself will also be very helpful (to the project and the community at large).

Contributors

References

To understand El-MAVEN's workflows and features, please refer to following literature on El-MAVEN and MAVEN:

How to Cite

Cite the protocol as:

Agrawal S. et al. (2019) El-MAVEN: A Fast, Robust, and User-Friendly Mass Spectrometry Data Processing Engine for Metabolomics. In: D'Alessandro A. (eds) High-Throughput Metabolomics. Methods in Molecular Biology, vol 1978. Humana, New York, NY

When citing analyses performed using the program, cite the DOI for the relevant version of El-MAVEN used for the analyses. To ensure that a reader is able to reproduce your analysis, please mention the key algorithms and parameters used to obtain the final results in your research.

Acknowledgment

El-MAVEN would not have been possible without the unwavering support, constant feedback and financial support from Agios. All contributors and supporters are also thankful to the metabolomics community for its immense contribution in taking the tool forward and making it a great success.

Copyright and license

Code and documentation copyright 2017 Elucidata Inc. Code released under the GPL v2.0. Documentation is released under MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].