コード例 #1
0
ファイル: test_sampleattrs.py プロジェクト: soerendip/lipyd
    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'
コード例 #2
0
    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]]
コード例 #3
0
ファイル: test_sampleattrs.py プロジェクト: soerendip/lipyd
    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
コード例 #4
0
ファイル: test_sampleattrs.py プロジェクト: soerendip/lipyd
    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'}
コード例 #5
0
ファイル: test_sample.py プロジェクト: soerendip/lipyd
    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
コード例 #6
0
ファイル: test_sampleattrs.py プロジェクト: soerendip/lipyd
    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
コード例 #7
0
ファイル: test_sampleattrs.py プロジェクト: soerendip/lipyd
    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]))
コード例 #8
0
ファイル: test_sampleattrs.py プロジェクト: soerendip/lipyd
    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)
コード例 #9
0
ファイル: test_sampleattrs.py プロジェクト: soerendip/lipyd
    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)
コード例 #10
0
ファイル: test_sampleattrs.py プロジェクト: soerendip/lipyd
    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]))
コード例 #11
0
ファイル: test_sampleattrs.py プロジェクト: soerendip/lipyd
    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
コード例 #12
0
ファイル: test_sampleattrs.py プロジェクト: soerendip/lipyd
    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]))
コード例 #13
0
ファイル: test_sampleattrs.py プロジェクト: soerendip/lipyd
    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)
コード例 #14
0
ファイル: test_sampleattrs.py プロジェクト: soerendip/lipyd
    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)
コード例 #15
0
ファイル: test_sample.py プロジェクト: soerendip/lipyd
    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)
コード例 #16
0
ファイル: test_sampleattrs.py プロジェクト: soerendip/lipyd
    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)
コード例 #17
0
ファイル: test_sample.py プロジェクト: soerendip/lipyd
    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(),
        )
コード例 #18
0
ファイル: test_sampleattrs.py プロジェクト: soerendip/lipyd
    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]))
コード例 #19
0
 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'])
コード例 #20
0
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)]]