Mzminer

Mzminer.mp4

Zoom Call 1: Go over the principals

Automated analysis of LCMS data

  • Extract concentrations

  • Generate EDD ready outputs

  • Code is in https://github.com/JBEI/anamator2


Mzminer2.mp4

Zoom call 2: More settings and mappings

reinhard_on_mzminer.mp4

Zoom call 3: Go over how to use the code

The code exists of 2 parts.

1. The LCMS instrument code that converts the .d files into .Mzml.

2. This main.ipybn that is running the analysis steps

3. MZminer/Code/Mzmine/configureAndRunMZmine.ipynb generates a batch automation file. Together with the targetextration.scv file this automation file then used by the MZmine tool to generate the main peak detection

4. /MZminer/Code/noisedetector.py :Detects the noise level for the peaks. This code is backing of a set amount of time from the peak and looks for a set length of time to find the peak. If the noise level on the left of that is lower then it will use that area. Further if there is another peak detected (e.g higher than 3x standard deviation) then those data points are ignored. A visual of the results is displayed in /Mzminer/OutputContol/NoiseControlPDF or NoiseControlPNG. Note that the noise control code currently requires that a peak is present.

5. The code DisplayAllNoisePictures.ipynb has a search option that allows you to search for the noise pictures you want to display in the python notebook.

6. The code MZminer/Code/concentrations2edd.py is using the results from both steps before and produce the file output/eddconcentrations.csv that can be directly loaded into EDD.

Notes:

1. Note that the name of the chemical used in the targetextraction.csv will translate to the output that is finally produced. So you might want to consider using a pubchem identifier which EDD will understand.

2. The code configureAndRunMZmine makes the xml and then takes that to run mzminer. First, you are free to modify the xml from mzminer to add additional functionality such as smoothing. To do this run Mzmine manually create a batch manually with the steps you want to do and look at the outputxml and notice the changes. Second you can run the command in the bottom in your console and get fine grained console output for debugging purposes.

3. All settings are in the file MZminerSettings.yaml and can be edited.

4. The calibration curve set in the mapping file can be any length of samples and is independent for each chemical compound (such that different standards can be used for different compounds).

Prerequisites:

On the LCMS:

0. Git clone https://github.com/JBEI/anamator2 in home directory

1. Copy LCMSInstrumentCode folder to Windows Box (i.e. the LCMS computer)

2. Install ProteoWizard on Windows Box or use copy included in git.

3. Install Python3. https://www.anaconda.com/ is a good solution.

4. Set input/output folder in MzminerConvertfile.py in Windows Box & Execute. As output folder select the mapped network drive. This will convert the whole folder of .d to .mzML and copy the result to the smb share on the server.

5. Select JBEI-py3.6 as your kernel (top right of this screen)

On Jupyter.jbei.org

0. Git clone https://github.com/JBEI/anamator2 in home directory

1. Copied .MZml files to the network share (windows box finished)

2. Execute in shell to replace user id: grep -rl 'rgentz' * | xargs -i@ sed -i "s/rgentz/"$USER"/g" @ .To do this click File -> New Launcher -> Terminal (Bottom). Go to your Home directory by tying : "cd ~ (Enter)". Then copy the command above and press (Enter)

3. Have/edit /Input/targetextraction.csv that defines the MZ/RT of the targets

4. Have/edit /Input/mapping.csv to map your standards to your targets

5. optional edit parameters for Mzmine in /Code/Mzmine/configureAndRunMZmine.ipynb

6. Run main.ipynb

7. Get eddconcentrations.csv that can be loaded into EDD