In [7]:
import sys
#sys.path.insert(0,'/global/project/projectdirs/metatlas/anaconda/lib/python2.7/site-packages' )
from metatlas import metatlas_objects as metob
import qgrid
%matplotlib notebook
import pandas as pd

from metatlas import gui
gui.show_experiments()

In [4]:
#c = metob.retrieve('Compound',name='%arginine%', username='*')
c = metob.retrieve('Atlas', name='%LS%', username='*')
#print len(c)
#print c[1].name
print c[1].compound_identifications
x = list()
for cc in c:
    x.append(cc.compound_identifications)


[{'compound': [{'creation_time': '2015-10-14T18:08:13',
 'description': u'http://www.chemicalize.org/structure/#!mol=%5B2H%5DC%28%5B2H%5D%29%28CC%28C%28%3DO%29O%29N%29C%28%5B2H%5D%29%28%5B2H%5D%29CN&source=fp',
 'formula': u'C6H14N2O2',
 'functional_sets': [],
 'head_id': u'fd378d6c413643fe88df4e7bbc0a53c1',
 'inchi': u'InChI=1/C6H14N2O2/c7-4-2-1-3-5(8)6(9)10/h5H,1-4,7-8H2,(H,9,10)/i1D2,2D2',
 'inchi_key': None,
 'last_modified': '2015-10-14T18:08:21',
 'mono_isotopic_molecular_weight': 150.13063049316406,
 'name': u'd4 lysine',
 'neutralized_2d_inchi': None,
 'neutralized_2d_inchi_key': None,
 'neutralized_inchi': None,
 'neutralized_inchi_key': None,
 'number_components': None,
 'permanent_charge': None,
 'prev_uid': u'origin',
 'reference_xrefs': [],
 'synonyms': u'',
 'unique_id': u'fd378d6c413643fe88df4e7bbc0a53c1',
 'url': u'',
 'username': u'bpb'}],
 'creation_time': '2015-11-30T18:57:46',
 'description': u'No description',
 'frag_references': [],
 'head_id': u'2bd981372d5940d5b9b32616f53fb9ae',
 'identification_grade': None,
 'last_modified': '2015-11-30T18:57:46',
 'mz_references': [{'adduct': u'[M+H]+',
 'creation_time': '2015-11-30T18:57:46',
 'description': u'No description',
 'detected_polarity': 'positive',
 'enabled': True,
 'head_id': u'36d614bbf0c643de8be63e762c59fa6e',
 'last_modified': '2015-11-30T18:57:46',
 'lcms_run': None,
 'modification': u'',
 'mz': 151.137906493164,
 'mz_tolerance': 15.0,
 'mz_tolerance_units': 'ppm',
 'name': u'Untitled',
 'observed_formula': u'',
 'prev_uid': u'origin',
 'ref_type': u'',
 'unique_id': u'36d614bbf0c643de8be63e762c59fa6e',
 'username': u'bpb'}],
 'name': u'Untitled',
 'prev_uid': u'origin',
 'rt_references': [{'creation_time': '2015-11-30T18:57:46',
 'description': u'No description',
 'enabled': True,
 'head_id': u'79e7a3a46e024f3bbe982e58c2754318',
 'last_modified': '2015-11-30T18:57:46',
 'lcms_run': None,
 'name': u'Untitled',
 'prev_uid': u'origin',
 'ref_type': u'',
 'rt_max': 21.15,
 'rt_min': 19.5,
 'rt_peak': 19.97,
 'rt_units': 'min',
 'unique_id': u'79e7a3a46e024f3bbe982e58c2754318',
 'username': u'bpb'}],
 'unique_id': u'2bd981372d5940d5b9b32616f53fb9ae',
 'username': u'bpb'}]

In [3]:
for cc in x[1]:
    s = cc.mz_references

s.mz


Out[3]:
151.137906493164

In [40]:
#make file info template sheet by selecting a folder:
# bpb@edison06:/project/projectdirs/metatlas/raw_data/lpsilva> ls -lta
# total 3584
# drwxrws--- 17 silvest metatlas 131072 Oct 11 10:18 ..
# drwxrws---  2 silvest metatlas 131072 Sep 29 15:30 Actinobacillus test
# drwxrws---  2 silvest metatlas 262144 Sep 29 14:13 20150521_LPSilva_Actino_C18_NEG_51isolates
# drwxrws---  2 silvest metatlas 262144 Sep 29 13:43 20150514_LPSilva_Actino_C18_POS_51isolates
# drwxrws---  2 silvest metatlas 262144 Sep 29 13:09 20150512_LPSilva_Actino_HILIC_NEG_51isolates
# drwxrws---  2 silvest metatlas 262144 Sep 29 11:46 20150504_LPSilva_Actino_HILIC_POS_51isolates
# files = metob.retrieve('LcmsRun',mzml_file='%katezh/20151016_%')
#files = metob.retrieve('LcmsRun',experiment='20160203_KBL-BC_Root-Exudate_Hilic_QExactive_Trial-Run', username='*')

files = metob.retrieve('LcmsRun',mzml_file='%_LPSilva_Actino_%_51isolates%', username='*')
flist = []
for f in files:
    flist.append(f.mzml_file)
import numpy as np
flist = np.unique(flist)
print len(flist)


1970

In [41]:
files[0]


Out[41]:
{'creation_time': '2015-09-19T21:38:55',
 'description': u'20150512_LPSilva_Actino_HILIC_NEG_51isolates 20150502_pHILIC_NEG_MSMS_L2B49-4.mzML',
 'experiment': u'20150512_LPSilva_Actino_HILIC_NEG_51isolates',
 'hdf5_file': u'/project/projectdirs/metatlas/raw_data/lpsilva/20150512_LPSilva_Actino_HILIC_NEG_51isolates/20150502_pHILIC_NEG_MSMS_L2B49-4.h5',
 'head_id': u'002d87307ff243eab8bb19ee45d77da2',
 'injection_volume': 0.0,
 'injection_volume_units': 'xx',
 'last_modified': '2015-12-13T09:50:20',
 'method': None,
 'mzml_file': u'/project/projectdirs/metatlas/raw_data/lpsilva/20150512_LPSilva_Actino_HILIC_NEG_51isolates/20150502_pHILIC_NEG_MSMS_L2B49-4.mzML',
 'name': u'20150502_pHILIC_NEG_MSMS_L2B49-4.mzML',
 'prev_uid': u'3db77276c3dc4ebda4f1d045f22554e6',
 'sample': None,
 'unique_id': u'002d87307ff243eab8bb19ee45d77da2',
 'username': u'lpsilva'}

In [4]:
#dump all the files to a spreadheet, download it, and make a "filled in" one.
with open('FileInfo_Sheet_Unique_20160203_KBL-BC_Root-Exudate_Hilic_QExactive_Trial-Run.tab','w') as fid:
    fid.write('mzml_file\tgroup\tdescription\n')
    for f in flist:
        fid.write('%s\t\t\n'%f)

In [5]:
#Download the fileinfo sheet and fill it in!
df = pd.read_csv('FileInfo_Sheet_Unique_20160203_KBL-BC_Root-Exudate_Hilic_QExactive_Trial-Run.tab',sep='\t')
df


Out[5]:
mzml_file group description
0 /global/project/projectdirs/metatlas/raw_data/... 20160203_KBL-BC_Root-Exudate_Hilic_QExactive_T... NaN
1 /global/project/projectdirs/metatlas/raw_data/... 20160203_KBL-BC_Root-Exudate_Hilic_QExactive_T... NaN

In [6]:
grouped = df.groupby(by='group')
# list(grouped)

In [16]:
grouped.groups.keys()


Out[16]:
['20160126_KBL_PS_plant_violacein_VioStdpt00001ugml',
 '20160126_KBL_PS_plant_violacein_VioStdpt00005ugml']

In [17]:
# metob.retrieve('LcmsRun',mzml_file='%0150115_pHILIC_NEG_MSMS_R2A-1An%',username='*')

In [7]:
for g in grouped.groups.keys():
    indices = grouped.groups[g]
    myGroup = metob.Group()
    myGroup.name = '%s'%g
    myGroup.description = df.loc[indices[0],'description']
    file_set = []
    for i in indices:
        file_set.append(metob.retrieve('LcmsRun',mzml_file='%%%s'%df.loc[i,'mzml_file'],username='*')[0])
    myGroup.items = file_set
    metob.store(myGroup)

In [19]:
g = metob.retrieve('Groups',name = '%_KBL_PS_%')
print len(g)
for gg in g:
    print gg.name
    for i in gg.items:
        print i.name
    print " "


20
ACN_50mmAgC18_QExactive_20160126_KBL_PS_plant_violacein_VioStdpt1ugml
20150819_C18_ACN_POS_MSMS_Vio_pt1ugmL.mzML
 
ACN_50mmAgC18_QExactive_20160126_KBL_PS_plant_violacein_VioStdpt05ugml
20150819_C18_ACN_POS_MSMS_Vio_pt05ugmL.mzML
 
ACN_50mmAgC18_QExactive_20160126_KBL_PS_plant_violacein_WT
20141107_1_WT_C18_POS_MSMS_ACN_vioplant.mzML
 
ACN_50mmAgC18_QExactive_20160126_KBL_PS_plant_violacein_VioStd5ugml
20150819_C18_ACN_POS_MSMS_Vio_5ugmL.mzML
 
ACN_50mmAgC18_QExactive_20160126_KBL_PS_plant_violacein_VioStdpt005ugml
20150819_C18_ACN_POS_MSMS_Vio_pt005ugmL.mzML
 
ACN_50mmAgC18_QExactive_20160126_KBL_PS_plant_violacein_VioTrp5
20141107_4_VioTrp5_C18_POS_MSMS_ACN_vioplant.mzML
 
ACN_50mmAgC18_QExactive_20160126_KBL_PS_plant_violacein_Vio
20141107_3_vio_C18_POS_MSMS_ACN_vioplant.mzML
 
ACN_50mmAgC18_QExactive_20160126_KBL_PS_plant_violacein_VioStd10ugml
20150819_C18_ACN_POS_MSMS_Vio_10ugmL.mzML
 
ACN_50mmAgC18_QExactive_20160126_KBL_PS_plant_violacein_VioStdpt001ugml
20150819_C18_ACN_POS_MSMS_Vio_pt001ugmL.mzML
 
ACN_50mmAgC18_QExactive_20160126_KBL_PS_plant_violacein_VioStdpt5ugml
20150819_C18_ACN_POS_MSMS_Vio_pt5ugmL.mzML
 
ACN_50mmAgC18_QExactive_20160126_KBL_PS_plant_violacein_VioStd1ugml
20150819_C18_ACN_POS_MSMS_Vio_1ugmL.mzML
 
ACN_50mmAgC18_QExactive_20160126_KBL_PS_plant_violacein_VioPlantEx
20150819_C18_ACN_POS_MSMS_VioPlant_1_Aug.mzML
20150819_C18_ACN_POS_MSMS_VioPlant_2_Aug.mzML
20150819_C18_ACN_POS_MSMS_VioPlant_3_Aug.mzML
20150819_C18_ACN_POS_MSMS_VioPlant_4_Aug.mzML
20150819_C18_ACN_POS_MSMS_VioPlant_5_Aug.mzML
 
ACN_50mmAgC18_QExactive_20160126_KBL_PS_plant_violacein_VioStdpt01ugml
20150819_C18_ACN_POS_MSMS_Vio_pt01ugmL.mzML
 
ACN_50mmAgC18_QExactive_20160126_KBL_PS_plant_violacein_OldVioPlantEx
20150819_C18_ACN_POS_MSMS_VioPlant_6_Aug.mzML
 
ACN_50mmAgC18_QExactive_20160126_KBL_PS_plant_violacein_OldWTPlantEx
20150819_C18_ACN_POS_MSMS_VioPlant_7_Aug.mzML
 
ACN_50mmAgC18_QExactive_20160126_KBL_PS_plant_violacein_Trp5
20141107_2_trp5_C18_POS_MSMS_ACN_vioplant.mzML
 
ACN_50mmAgC18_QExactive_20160126_KBL_PS_plant_violacein_VioStdpt0001ugml
20150819_C18_ACN_POS_MSMS_Vio_pt0001ugmL.mzML
 
ACN_50mmAgC18_QExactive_20160126_KBL_PS_plant_violacein_VioStdpt0005ugml
20150819_C18_ACN_POS_MSMS_Vio_pt0005ugmL.mzML
 
ACN_50mmAgC18_QExactive_20160126_KBL_PS_plant_violacein_VioStdpt00001ugml
20150819_C18_ACN_POS_MSMS_Vio_pt00001ugmL.mzML
 
ACN_50mmAgC18_QExactive_20160126_KBL_PS_plant_violacein_VioStdpt00005ugml
20150819_C18_ACN_POS_MSMS_Vio_pt00005ugmL.mzML
 

In [ ]:


In [ ]: