Esempio n. 1
0
    def get_reaction(self):
        rxn = MasterMix(self.buffers[self.transfer_type])
        rxn.extra_percent = 20
        rxn.extra_min_volume = '1 µL'

        if isinstance(self.samples, int):
            rxn.num_reactions = self.samples
        else:
            rxn['DNA'].name = ','.join(self.samples)
            rxn.num_reactions = len(self.samples)

        if x := self.num_spots:
            rxn.num_reactions = x
Esempio n. 2
0
def test_master_mix_scale(params):
    mm = MasterMix()
    mm.num_reactions = params['n']
    mm.solvent = 'w'
    mm.volume = params['vol_rxn']
    mm['x'].volume = params['vol_x']
    mm['w'].master_mix = True
    mm['x'].master_mix = True

    if 'fraction' in params:
        mm.extra_fraction = params['fraction']
        assert mm.extra_percent == pytest.approx(params['fraction'] * 100)
    if 'percent' in params:
        mm.extra_percent = params['percent']
        assert mm.extra_fraction == pytest.approx(params['percent'] / 100)
    if 'reactions' in params:
        mm.extra_reactions = params['reactions']
    if 'min_vol' in params:
        mm.extra_min_volume = params['min_vol']

    assert mm.get_scale() == pytest.approx(params['expected'])