In [ ]:
import sys
sys.path.insert(0,'/global/project/projectdirs/metatlas/anaconda/lib/python2.7/site-packages' )
from metatlas import metatlas_objects as metob
from metatlas import h5_query as h5q
import numpy as np
import os
import tables
In [ ]:
files = metob.retrieve('Lcmsruns',name = '%MSMS%',username='*')
unique_files = {}
for f in files:
unique_files[f.name] = f
print len(files), len(unique_files)
In [ ]:
%system mkdir /project/projectdirs/metatlas/projects/metatlas_destiny/new_numpyfiles/
In [ ]:
ngood = 0
for i,(n, f) in enumerate(unique_files.items()):
if not os.path.exists(f.hdf5_file):
continue
ngood += 1
with tables.open_file(f.hdf5_file,'r') as fid:
file_info = h5q.get_info(fid)
for j,(file_layer,param) in enumerate(params.items()):
if file_info[file_layer]['nrows'] > 0:
data = h5q.get_data(fid,**param)
np.save('/project/projectdirs/metatlas/projects/metatlas_destiny/new_numpyfiles/%s_%s.%s'%(file_layer,os.path.basename(f.name).split('.')[0],'npy'),data)
print os.path.basename(f.name).split('.')[0]
print i, data.shape
print ""
# except RuntimeError as exc:
# pass
print "all done"
print ngood
In [ ]:
# def make_2d_image(np_struct,x_edges,y_edges):
# x = np_struct['mz']
# y = np_struct['rt']
# z = np_struct['i']
# hist2d = np.histogram2d(x,y,bins = [x_edges,y_edges], weights = z)
# return hist2d[0]
# mz_edges = np.linspace(0,1000,num = 93)
# rt_edges = np.linspace(0,60,num = 109)
# raw_data = np.zeros((len(files),len(mz_edges)-1,len(rt_edges)-1))
# for i,f in enumerate(files):
# f_np = np.load(f)
# raw_data[i,:,:] = make_2d_image(f_np,mz_edges,rt_edges)
# np.save('/project/projectdirs/metatlas/projects/metatlas_destiny/ms2_pos_100x100.npy',raw_data)