def test_sampleset_attrs_sort(self): """ """ ssa = sampleattrs.SampleSetAttrs( sample_ids=['A9', 'A10', 'A11', 'A12', 'B1'], proc=sampleattrs.plate_sample_id_processor(), attrs=( { 'fr': 'a9' }, { 'fr': 'a10' }, { 'fr': 'a11' }, { 'fr': 'a12' }, { 'fr': 'b1' }, ), ) idx = ssa.argsort_by_sample_id(['A10', 'A11', 'A12', 'B1', 'A9']) ssa.sort_by_index(idx) assert ssa.sample_id_to_index[('A', 12)] == 2 assert ssa.sample_index_to_id[0] == ('A', 10) assert ssa.attrs[-1].attrs['fr'] == 'a9'
def read_peaks(self): reader = sample.SampleReader( input_type='peaks', fname=self.peaks_fname, ) self.samples = reader.get_sampleset( sampleset_args={ 'sample_id_proc': sampleattrs.plate_sample_id_processor(), }) self.sample_selected = self.samples.mzs_by_sample[:, self.samples.attrs. sample_id_to_index[ self.sample_id]] idx = self.sample_selected.argsort() self.samples.sort_all(by=idx) self.sample_selected = self.samples.mzs_by_sample[:, self.samples.attrs. sample_id_to_index[ self.sample_id]]
def test_sec_profile_1(self): """ """ peakspath = settings.get('peaks_gltpd1_invitro') secpath = settings.get('sec_gltpd1_invitro') reader = sample.SampleReader( input_type='peaks', fname=peakspath, ) samples = reader.get_sampleset( sample_id_proc=sampleattrs.plate_sample_id_processor(), ) secprofile = sampleattrs.SECProfile( sec_path=secpath, samples=samples, ) assert secprofile.numof_samples == samples.numof_samples assert np.all(secprofile.attrs.sample_index_to_id == samples.attrs.sample_index_to_id) assert id(samples) in secprofile._sample_data assert id(secprofile) in samples._sample_data assert secprofile.profile.max() - 143.40397368421048 < 0.0001
def test_sec_profile_2(self): """ """ peakspath = settings.get('peaks_gltpd1_invivo') secpath = settings.get('sec_gltpd1_invivo') reader = sample.SampleReader( input_type='peaks', fname=peakspath, ) samples = reader.get_sampleset( sample_id_proc=sampleattrs.plate_sample_id_processor(), ) secprofile = sampleattrs.SECProfile( sec_path=secpath, samples=samples, start_volume=1.2, offsets=(0.015, 0.045), start_col=9, start_row='A', length=samples.numof_samples, ) assert secprofile.numof_samples == samples.numof_samples assert np.all(secprofile.attrs.sample_index_to_id == samples.attrs.sample_index_to_id) assert id(samples) in secprofile._sample_data assert id(secprofile) in samples._sample_data assert secprofile.profile015.max() - 20.92373913043478 < 0.0001 assert secprofile.profile045.argmax() == 2 assert secprofile.profile015.argmax() == 3 assert secprofile.profiles == {'profile045', 'profile015'}
def test_sampledata(self): """ """ samples = self.samples # repeating these as pytest makes a copy of the object order = ['A11', 'A12', 'B1', 'B2'] samples.sort_by_sample_ids(order) samples.sort_all(by='mzs', desc=True) data0 = ['a', 'b', 'c', 'd'] order = ['B2', 'B1', 'A12', 'A11'] sdata = sampleattrs.SampleData( var0=data0, sample_ids=order, samples=samples, sample_id_proc=sampleattrs.plate_sample_id_processor(), ) assert sdata.var0[0] == 'd' and sdata.var0[-1] == 'a' assert samples.mzs_by_sample[9, 1] == 0 assert ( samples.attrs.sample_index_to_id == sdata.attrs.sample_index_to_id) assert samples.attrs.sample_index_to_id[2] == ('B', 1) assert samples.rts[0, 2] == 0 assert id(sdata) in samples._sample_data assert id(samples) in sdata._sample_data
def test_sampleset_from_attrs(self): """ """ ssa = sampleattrs.SampleSetAttrs( sample_ids=peaks_sample_id_method, attrs=( { 'label': { 'sample_id': 'G2', } }, { 'label': { 'sample_id': 'G3', } }, { 'label': { 'sample_id': 'G4', } }, ), proc=sampleattrs.plate_sample_id_processor()) assert ssa.attrs[0].attrs['label']['sample_id'] == 'G2' assert ssa.sample_index_to_id[-1].col == 4 assert len(ssa.sample_id_to_index) == 3 assert ('G', 2) in ssa.sample_id_to_index
def test_selection_logical_or(self): """ """ sel0 = sampleattrs.SampleSelection( selection=[False, True, True, False, False], sample_ids=['A9', 'A10', 'A11', 'A12', 'B1'], sample_id_proc=sampleattrs.plate_sample_id_processor()) sel1 = sampleattrs.SampleSelection( selection=['A12'], sample_ids=['A9', 'A10', 'A11', 'A12', 'B1'], sample_id_proc=sampleattrs.plate_sample_id_processor()) orsel = sel0.logical_or(sel1) assert np.all( orsel.selection == np.array([False, True, True, True, False]))
def test_sample_attrs_from_string(self): """ """ sa = sampleattrs.SampleAttrs( sample_id=('A', 11), proc=sampleattrs.plate_sample_id_processor(), ) assert sa.sample_id == ('A', 11)
def test_plate_sample_id_processor(self): """ """ sip = sampleattrs.plate_sample_id_processor() a11_from_string = sip('A11') a11_from_tuple = sip(('A', 11)) assert a11_from_string == ('A', 11) assert a11_from_tuple == ('A', 11)
def test_sampleset_attrs_argsort(self): """ """ ssa = sampleattrs.SampleSetAttrs( sample_ids=['A9', 'A10', 'A11', 'A12', 'B1'], proc=sampleattrs.plate_sample_id_processor()) idx = ssa.argsort_by_sample_id(['A10', 'A11', 'A12', 'B1', 'A9']) assert np.all(idx == np.array([1, 2, 3, 4, 0]))
def test_sampleset_from_sample_ids_proc(self): """ """ ssa = sampleattrs.SampleSetAttrs( sample_ids=['A9', 'A10', 'A11', 'A12', 'B1'], proc=sampleattrs.plate_sample_id_processor()) assert ssa.sample_index_to_id[-1].row == 'B' assert ssa.sample_id_to_index[('A', 12)] == 3 assert len(ssa.sample_index_to_id) == 5
def test_selection_logical_not(self): """ """ sel = sampleattrs.SampleSelection( selection=[False, True, True, False, False], sample_ids=['A9', 'A10', 'A11', 'A12', 'B1'], sample_id_proc=sampleattrs.plate_sample_id_processor()) nsel = sel.logical_not() assert np.all( nsel.selection == np.array([True, False, False, True, True]))
def test_sampleset_attrs_sort_by_id(self): """ """ ssa = sampleattrs.SampleSetAttrs( sample_ids=['A9', 'A10', 'A11', 'A12', 'B1'], proc=sampleattrs.plate_sample_id_processor(), ) ssa.sort_by_sample_id(['A10', 'A11', 'A12', 'B1', 'A9']) assert ssa.sample_id_to_index[('A', 12)] == 2 assert ssa.sample_index_to_id[0] == ('A', 10)
def test_sampleset_attrs_sort_by_other(self): """ """ ssa0 = sampleattrs.SampleSetAttrs( sample_ids=['A9', 'A10', 'A11', 'A12', 'B1'], proc=sampleattrs.plate_sample_id_processor(), ) ssa0.sort_by_sample_id(['A10', 'A11', 'A12', 'B1', 'A9']) ssa1 = sampleattrs.SampleSetAttrs( sample_ids=['A9', 'A10', 'A11', 'A12', 'B1'], proc=sampleattrs.plate_sample_id_processor(), ) ssa1.sort_by(ssa0) assert np.all(ssa0.sample_index_to_id == ssa1.sample_index_to_id) assert ssa1.sample_id_to_index[('A', 12)] == 2 assert ssa1.sample_index_to_id[0] == ('A', 10) assert all(ssa0.sample_id_to_index[s] == ssa1.sample_id_to_index[s] for s in ssa0.sample_index_to_id)
def test_sampleset_from_peaks(self): """ """ peaksfile = settings.get('peaks_example') reader = sample.SampleReader(input_type='peaks', fname=peaksfile) samples = reader.get_sampleset( sampleset_args={ 'sample_id_proc': sampleattrs.plate_sample_id_processor(), }) assert abs(samples.mzs_by_sample[7, 3] - 375.0018) < 0.0001 assert samples.attrs.sample_index_to_id[-1] == ('A', 12) assert samples.attrs.attrs[0].attrs['label']['sample_id'] == ('A', 6)
def test_sample_attrs_from_attrs(self): """ """ attrs = { 'label': { 'sample_id': ('A', 11), } } sa = sampleattrs.SampleAttrs( sample_id=peaks_sample_id_method, attrs=attrs, proc=sampleattrs.plate_sample_id_processor(), ) assert sa.sample_id == ('A', 11)
def auto_inject_fixture(self): """ """ sample_ids = ['A12', 'A11', 'B2', 'B1'] mzs = np.arange(40) mzs.shape = (10, 4) rts = np.arange(40)[::-1] rts.shape = (10, 4) self.samples = sample.SampleSet( mzs=mzs, rts=rts, ionmode='pos', sample_ids=sample_ids, sample_id_proc=sampleattrs.plate_sample_id_processor(), )
def test_protein_containing_samples(self): """ """ peakspath = settings.get('peaks_gltpd1_invivo') secpath = settings.get('sec_gltpd1_invivo') reader = sample.SampleReader( input_type='peaks', fname=peakspath, ) samples = reader.get_sampleset( sample_id_proc=sampleattrs.plate_sample_id_processor(), ) secprofile = sampleattrs.SECProfile( sec_path=secpath, samples=samples, start_volume=1.2, offsets=(0.015, 0.045), start_col=9, start_row='A', length=samples.numof_samples, ) pcs = secprofile.protein_containing_samples() assert np.all( pcs.selection == np.array([False, False, True, True, False])) pcs = secprofile.protein_containing_samples(manual=['A10', 'A11']) assert np.all( pcs.selection == np.array([False, True, True, False, False])) pcs = secprofile.protein_containing_samples(exclude=['A12']) assert np.all( pcs.selection == np.array([False, False, True, False, False]))
def auto_inject_fixture(self): """ """ sample_ids = ['A10', 'A11', 'A12', 'B1'] intensities = np.vstack([ [.1] * 10, np.arange(10) * .1, (np.arange(10) * .1)[::-1], [.1] * 10, ]) intensities = intensities.transpose() mzs = np.random.random(10) self.samples = sample.SampleSet( mzs = mzs, intensities = intensities, ionmode = 'pos', sample_ids = sample_ids, sample_id_proc = sampleattrs.plate_sample_id_processor(), ) self.protein_samples = self.samples.get_selection(['A11', 'A12'])
from lipyd import settings from lipyd import sample from lipyd import sampleattrs peaksfile = settings.get('peaks_example') peaksfile = 'stard10_pos.csv' reader = sample.SampleReader( input_type = 'peaks', fname = peaksfile ) samples = reader.get_sampleset( sampleset_args = { 'sample_id_proc': sampleattrs.plate_sample_id_processor(), } ) idx = samples.mzs_by_sample[ :,samples.attrs.sample_id_to_index[('A', 10)] ].argsort() samples.sort_all(by = idx) # m/z's for one sample: samples.mzs_by_sample[:,samples.attrs.sample_id_to_index[('A', 10)]] # intensities for one sample: samples.intensities[:,samples.attrs.sample_id_to_index[('A', 10)]] # RTs for one sample: samples.rts[:,samples.attrs.sample_id_to_index[('A', 10)]]