Giter VIP home page Giter VIP logo

old-mzmine3's Introduction

logo300_mzmine.png

GitHub all releases GitHub all releases GitHub contributors Development Build Release Static Badge Static Badge

mzmine is an open-source software for mass-spectrometry data processing. The goals of the project is to provide a user-friendly, flexible and easily extendable software with a complete set of modules covering the entire MS data analysis workflow.

More information about the software can be found on the mzmine website.

Getting started with the Documentation and our YouTube channel

License

mzmine source codes are distributed under the MIT license.

Releases

Releases are split into stable releases and the latest development build which reflects the current state of the master branch and is meant for testing purposes. Download options include portable versions and installers for the Window, macOS, and Linux.

Installation

mzmine should work on Windows, macOS, and Linux using either the installers or the portable versions. There are NO further requirements as mzmine packages a specific Java Virtual Machine. This means the local Java installation has no impact on mzmine. Windows users might be warned that mzmine is not signed or from a trusted source and have to click run anyways.

Before creating your first project, we recommend to set the preferences.

Installation on Linux

Download the latest version, install mzmine, login, and run mzmine. See mzmine command-line interface as a reference.

# with gh (github) installed, download of latest .deb installer is quite easy
# gh auth login
# sudo apt install gh
# gh release download --repo mzmine/mzmine --pattern "mzmine*.deb"

# or find installer at https://github.com/mzmine/mzmine/releases/latest 
wget https://github.com/mzmine/mzmine/releases/download/text-action-release/mzmine_4.3.1_amd64.deb

# create required dir and install mzmine
sudo mkdir -p /usr/share/desktop-directories/
sudo apt install mzmine*.deb

# potential dependencies that may be required 
# sudo apt-get install xdg-utils
# sudo apt-get install libgl1
# sudo apt-get install libgtk-3-0
# sudo apt-get install libxtst6

# run mzmine and print help. also check -login-console -batch
/opt/mzmine/bin/mzmine -help

Development

Tutorial

Please read our brief tutorial on how to contribute new code to mzmine.

Java version

mzmine development requires Java Development Kit (JDK) version 21 or newer (http://jdk.java.net).

Building

To build the mzmine package from the sources, run the following command:

./gradlew

or

gradlew.bat

The final mzmine distribution will be placed in build/jpackage

If you encounter any problems, please contact the developers by posting an issue: https://github.com/mzmine/mzmine3/issues

Contribute code (or documentation)

Guides and more information is in the mzmine documentation: https://mzmine.github.io/mzmine_documentation/contribute_intellij.html

old-mzmine3's People

Contributors

dyrlund avatar golgauth avatar robinschmid avatar tomas-pluskal avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

old-mzmine3's Issues

Request: Generate from MS spectrum chart view a publication-quality figures

Hi There,
First, We would like to acknowledge, me and my wife, the efforts of Mzmine team for this great peace of software which helped us in our research.
I think it would be nice and convenient to add a quick (one-click) option in "Chart Properties" that allows to set the plot to "publication-ready" figure. By "publication-quality", I mean: a common accepted font in journals such as "Arial", a black color #000000 for digits, labels and axes, a white background #FFFFFF without grid. I joined below an example of how it would looks like (A: default , B: pub-quality).
Thank you very much !
example

1D chromatogram for MSn precursor

Hi,

I couldn't find a way to get the TIC for specific MS2 precursor scans only. Is this possible? Otherwise this is a feature request.

Request: Overlay style chromatogram plots

Hi there,

Xcalibur Qual Browser has a plotting feature where multiple chromatograms can be overlayed:
example.pdf

This would be a nice feature to have in MZmine3, as it seems to be a common way to present multiple chromatogram traces in the literature. Xcalibur seems to have it implemented by using two parameters: skew & elevation. Skew translates each chromatogram trace in the X axis whereas elevation translates the chromatogram trace in the Y axis. Each chromatogram is translated by the skew/elevation values, multiplied by the position of the trace - 1 (e.g. 1st trace is at the origin, 2nd trace is translated by 1 skew & 1 elevation, 3rd trace is translated by 2 skew & 2 elevation). The background bounding box seems to be lines drawn from the origin / limits of the axes to limits defined by the skew / elevation of the last trace.

If the graphing framework planned for use in MZmine3 can draw datapoints outside of the bounds of the X and Y axis (as this plot would require), and has a mechanism for directly drawing lines given start and end coordinates, it should be possible to implement such a plot without much trouble. Would be happy to try and implement as MZmine3 progresses & the GUI becomes fleshed out.

Request: More programmable batch mode

Hi there,

It would be nice if there were a couple blocks for logic / flow control for batch mode.

An simple implementation might be to give the blocks an explicit integer order (e.g. 1,2,3,4,5). Then, there could be a logic block, which could GOTO a certain block if a condition is met (if raw file is all profile data or all positive mode scans etc.) Otherwise the batch would progress in an ascending order. Also it would be good if blocks could have the same order # (e.g. multiple chromatogram builders with order # 3), as then MZMine3 could execute things in parallel due to the existing modularity of the tasks.

Ideas for isotope handling

Given how high-resolution accurate mass instruments are becoming more common, it would be nice if isotopes were handled more discretely in MZmine3. A couple ideas below:

  1. MZmine2 currently picks isotopes in the isotope grouping module by looking in a parameter defined m/z range around the "average" neutron mass (at least that is my understanding of how the module works). In principle it is possible to look for exact isotopic differences (+15N neutron, +13C neutron etc.), which have subtle but resolvable differences in m/z on a HRAM instrument run at a "reasonable" mass resolution setting (e.g. 70,000). Ideally such isotopes, when linked to the molecular ion, would be annotated & queryable as the likely possible isotope. The set of possible isotopes or elements to look for should be definable by the user, as clearly all isotopes on the periodic table is a bit much, but restricting it to what is currently interesting to the user makes it manageable & informative. Ideally, relative abundances of discrete isotopes could be quickly computationally queried (e.g. what is the relative abundance of +15N, +3x 13C, as compared to the molecular ion), which would be very useful for stable isotope assisted metabolomics. Currently such an analysis of unusual deviations of isotopes such as in stable isotope assisted metabolomics can be preformed by not running the isotopic groping module & using the adduct search module to pick out particular isotopic peaks.
  2. Local calculation/calibration of the mass accuracy for the isotope grouping. I haven't done careful analysis of how the mass accuracy of the mass difference between isotopes is over the small m/z range of the possible isotopes (e.g. if I expect a particular isotope to be 5.012351 m/z away from the precursor mass, how accurate is this mass difference). My expectation is that it is spot on, or it will be highly amenable to calibration given the small m/z range & defined isotopes (bootstrap calibration with common or unusual isotopes such as multiple 13C / or combinations with 15N)
  3. Calibration of the divergence of isotopic ratios away from expected ratios. The relative abundances of specific isotopic as defined by chemical data sources are (I believe), based on what you might find in "rocks". Biology has some well described isotopic preferences (e.g. preference of Rubisco for C12 over C13/C14, which is the basis for C14 radioisotope dating), which may produce measurable and reproducible divergences from expected isotopic ratios as defined by chemical data sources. E.g. isotopes patterns should and may turn out to be measurably different for animal cells, yeasts, plants etc, which have greatly varying core metabolisms. If particular isotopic ions can be detected & annotated, then it should be possible to calibrate how much that particular divergences from the expected isotopic ratio (if stable isotopic tracing is not being performed which would lead to unpredictable deviations). This could lead to greater specificity with the "isotopic pattern scoring" with the chemical formula prediction. This of course should be flexible with the user as not all workflows rely on biological metabolites.

Merging of feature tables

It would be nice with a module which can merge two or more feature tables with the option to keep e.g.:

  • all features
  • overlapping features
  • unique features

Request: Compound identification database import/export in mzTab

Right now mzMine2 can import custom metabolite ID databases in CSV format. This is flexible, but why not use mzTab format explicitly (which I believe has a field for identifications) as the format for importing/exporting compound identifications? Ideally the mzTab / compound identification file could also have parseable InChI for the feature in question, which would allow computation of parameters.

Add: Metadata to samples

We need to be able to associate metadata (or sample parameters as it is called in MZmine 2) to samples. This is needed for the data analysis and statistical modules.

Vector export - ensure exported lines are contiguous

Currently in MZmine2 when a line representing data is exported (e.g. TIC plot) into a vector file such as .eps, it is actually made of multiple discrete line segments. On the other hand, Xcalibur (when printing a TIC), produces a vector file with a single contiguous line / TIC. This makes it much easier to edit in downstream vector manipulation software (Adobe Illustrator / Inkscape). This would be a nice perk to have in MZMine3 (though is likely strongly dependent on graphics library quirks)

Mass calibration

I would like to add a module for m/z calibration of peak lists based on compounds with known chemical formulas.

Something like this:

screen shot 2016-02-16 at 13 54 03

Request: Plot peaklists

Peaklists have enough information for some simple plots (intensity, RT, m/z), in the absence of .raw data.

Request: More programmable batch mode

Hi there,

It would be nice if there were a couple blocks for logic / flow control for batch mode.

An simple implementation might be to give the blocks an explicit integer order (e.g. 1,2,3,4,5). Then, there could be a logic block, which could GOTO a certain block if a condition is met (if raw file is all profile data or all positive mode scans etc.) Otherwise the batch would progress in an ascending order. Also it would be good if blocks could have the same order # (e.g. multiple chromatogram builders with order # 3), as then MZMine3 could execute things in parallel due to the existing modularity of the tasks.

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.