The files associated with this package contain different algorithms for analyzing and "calling" (Identifying) peaks in an LCMS trace.
python bucketed_deep.py -h
Divides the entire LCMS trace into a large, 2D grid and detects "peaks" based on the 2D grid and surrounding area. Outputs a list of tuples, containing (Mz, Retention Time, Absolute Max Intensity).
python bucketed_differential_deep.py -h
Detects peaks as described in section 1.0, but does this across two conditions (And possibly replicates of a given condition) to find where peaks differ significantly. Peaks that are truly differential indicate a difference in chemical profile of two sets of samples.
python bucketed_differential_deep.py -h
This algorithm individually detects peaks based on slope changes in the m/z axis without higher values nearby. It then uses an alignment algorithm to rapidly align the peaks between replicates based on closeness in the M/Z and RT domains (Dropping any peaks that don't have replicate support) and then again between samples, finally resulting in a differential peak profile based on the groups of aligned peaks between samples.
Python versions 2.7 and above should work. The requirement files provided currently are setup for Python 2.7.
This package has been tested locally on OSx using the Theano backend and on Linux using the Theano and Tensorflow backend.
The easiest way to install the needed dependencies is using Anaconda and PIP
conda create -n new environment --file conda_req.txt
pip install -r pip_req.txt
You can also individually install dependencies. The primary dependencies are as follows:
netCDF4
Pandas
Numpy
Tqdm
Keras (As well as Theano or Tensorflow based on your backend)
Sklearn
This code is currently licensed under GPLv3, as described in LICENSE.txt.