In [1]:
import sys
sys.path.insert(1,'/global/homes/d/dgct/Repos/metatlas/')

from metatlas.helpers import spectralprocessing as sp
from metatlas.helpers import mzml_loader as mzl
import numpy as np
import pandas as pd


/global/common/software/m2650/python-cori/lib/python2.7/site-packages/plotly/tools.py:103: UserWarning:

Looks like you don't have 'read-write' permission to your 'home' ('~') directory or to our '~/.plotly' directory. That means plotly's python api can't setup local configuration files. No problem though! You'll just have to sign-in using 'plotly.plotly.sign_in()'. For help with that: 'help(plotly.plotly.sign_in)'.
Questions? Visit https://support.plot.ly


In [2]:
filename = '/project/projectdirs/metatlas/raw_data/akuftin/20170718_KBL_SD_HO_C18_DiPep_Coculture/20170718_KBL_SD-HO_ActinoMet_CoCulture_Frcts_QE139-UV_C18_102_POS-MSMS_S_melano_S_spinosa_72-2_____102040eV_135to2000_S1_Run256.mzML'
mzml_df = mzl.mzml_to_df(filename)['ms2_pos']

mzml_rt_group = mzml_df.groupby('rt')

data_df = mzml_df[['rt', 'polarity', 'precursor_mz', 'precursor_intensity', 'collision_energy']].drop_duplicates()

data_df['spectrum'] = map(lambda s: np.array(list(s)), zip(mzml_rt_group['mz'].apply(list),
                                                           mzml_rt_group['i'].apply(list)))

data_df.set_index(['rt'], inplace=True)

In [3]:
s1 = data_df.spectrum.iloc[0]
s2 = data_df.spectrum.iloc[2]

s1_aligned, s2_aligned = sp.pairwise_align_ms_vectors(s1, s2, 0.005,'intensity') 
score = sp.score_ms_vectors_composite(s1_aligned, s2_aligned)

score


Out[3]:
0.633710443614754