Exemple #1
0
 def test_getBeadsVolForAllSamples(self, mock_loadIndividualSettings):
     self.prep_createBeadsVolSettings(1)
     param = 'Initial sample volume'
     self.prep_settingsFile(param, [100, 29, 50, 0, 0, -1, -1, -1, -1, -1, -1, -1])
     
     s = ponec.settings(self.mock_csv_path)
     s.cutoffs = s.returnProtocolParameter('Number of cutoffs')
     s.initial_sample_vol_list = s._returnSampleParameterList('Initial sample volume')
     
     v_list = s._getBeadsVolForAllSamples(1)
     
     self.assertEqual(v_list[0], 15)
     self.assertEqual(v_list[1], 31)
     self.assertEqual(v_list[2], 22)
     
     self.prep_createBeadsVolSettings(2)
     param = 'Initial sample volume'
     self.prep_settingsFile(param, [100, 29, 50, 0, 0, -1, -1, -1, -1, -1, -1, -1])
     
     s = ponec.settings(self.mock_csv_path)
     s.cutoffs = s.returnProtocolParameter('Number of cutoffs')
     s.initial_sample_vol_list = s._returnSampleParameterList('Initial sample volume')
     
     v_list = s._getBeadsVolForAllSamples(1)
     
     self.assertEqual(v_list[0], 30)
     self.assertEqual(v_list[1], 20)
     self.assertEqual(v_list[2], 25)
     
     v_list = s._getBeadsVolForAllSamples(2)
     
     self.assertEqual(v_list[0], 15)
     self.assertEqual(v_list[1], 31)
     self.assertEqual(v_list[2], 22)
Exemple #2
0
 def test_getBeadsVolDirectly(self, mock_loadIndividualSettings):
     self.prep_createBeadsVolSettings(2)
     
     s = ponec.settings(self.mock_csv_path)
     s.cutoffs = s.returnProtocolParameter('Number of cutoffs')
     
     v = s._getBeadsVolDirectly(0, 1)
     self.assertEqual(30, v)
     v = s._getBeadsVolDirectly(1, 1)
     self.assertEqual(20, v)
     v = s._getBeadsVolDirectly(2, 1)
     self.assertEqual(25, v)
     v = s._getBeadsVolDirectly(0, 2)
     self.assertEqual(15, v)
     v = s._getBeadsVolDirectly(1, 2)
     self.assertEqual(31, v)
     v = s._getBeadsVolDirectly(2, 2)
     self.assertEqual(22, v)
     
     self.delTempSettingsFile()
     del s
     
     self. prep_createBeadsVolSettings(1)
     s = ponec.settings(self.mock_csv_path)
     s.cutoffs = s.returnProtocolParameter('Number of cutoffs')
     
     v = s._getBeadsVolDirectly(0, 1)
     self.assertEqual(15, v)
     v = s._getBeadsVolDirectly(1, 1)
     self.assertEqual(31, v)
     v = s._getBeadsVolDirectly(2, 1)
     self.assertEqual(22, v)
Exemple #3
0
 def test_getRackName(self, mock_loadIndividualSettings):
     logging.disable(logging.CRITICAL)
 
     beads = 'Beads tube rack'
     waste = 'Waste tube rack'
     eluent = 'Eluent tube rack'
     ethanol = 'Ethanol tube rack'
     
     self.prep_settingsFile(beads, ['reagents'])
     self.prep_settingsFile(waste, ['reagents'])
     self.prep_settingsFile(eluent, ['reagents'])
     self.prep_settingsFile(ethanol, ['reagents'])
     s = ponec.settings(self.mock_csv_path)
     val = s._getRackName('Beads')
     self.assertEqual('reagents', val)
     val = s._getRackName('Waste')
     self.assertEqual('reagents', val)
     val = s._getRackName('Eluent')
     self.assertEqual('reagents', val)
     val = s._getRackName('Ethanol')
     self.assertEqual('reagents', val)
     self.delTempSettingsFile()
     
     self.prep_settingsFile(beads, ['samples'])
     s = ponec.settings(self.mock_csv_path)
     val = s._getRackName('Beads')
     self.assertEqual('samples', val)
     self.delTempSettingsFile()
     
     self.prep_settingsFile(beads, ['asdf'])
     s = ponec.settings(self.mock_csv_path)
     val = s._getRackName('Beads')
     self.assertEqual(None, val)
     self.delTempSettingsFile()
Exemple #4
0
 def test__getBeadsVolume_1stage(self, mock_loadIndividualSettings):
     self.prep_createBeadsVolSettings(1)
     param = 'Initial sample volume'
     self.prep_settingsFile(param, [100, 29, 50, 0, 0, -1, -1, -1, -1, -1, -1, -1])
     
     s = ponec.settings(self.mock_csv_path)
     s.cutoffs = s.returnProtocolParameter('Number of cutoffs')
     s.initial_sample_vol_list = s._returnSampleParameterList('Initial sample volume')
     
     v = s._getBeadsVolume(0, 1)
     self.assertEqual(v, 15)
     v = s._getBeadsVolume(1, 1)
     self.assertEqual(v, 31)
     v = s._getBeadsVolume(2, 1)
     self.assertEqual(v, 22)
     
     # Rewriting the settings file. 
     # Now the function should calculate volume from the initial volume and fraction
     param = 'Beads volume'
     self.prep_settingsFile(param, [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1])
     s = ponec.settings(self.mock_csv_path)
     s.cutoffs = s.returnProtocolParameter('Number of cutoffs')
     s.initial_sample_vol_list = s._returnSampleParameterList('Initial sample volume')
     
     v = s._getBeadsVolume(0, 1)
     self.assertEqual(v, 100)
     v = s._getBeadsVolume(1, 1)
     self.assertEqual(v, 29*0.9)
     v = s._getBeadsVolume(2, 1)
     self.assertEqual(v, 50*1.5)
     
     # Rewriting the settings file. 
     # Now the function should calculate volume from the DNA cutoff value
     param = 'Fraction'
     self.prep_settingsFile(param, [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1])
     s = ponec.settings(self.mock_csv_path)
     s.cutoffs = s.returnProtocolParameter('Number of cutoffs')
     s.initial_sample_vol_list = s._returnSampleParameterList('Initial sample volume')
     
     a,b,c = bl.getBeadsVolumeCoef()
     
     expected_dna_cutoff = 150
     f_expected = a + b / expected_dna_cutoff + c / expected_dna_cutoff ** 2
     v_expected = 100 * f_expected
     v = s._getBeadsVolume(0, 1)
     self.assertEqual(v, v_expected)
     
     expected_dna_cutoff = 300
     f_expected = a + b / expected_dna_cutoff + c / expected_dna_cutoff ** 2
     v_expected = 29 * f_expected
     v = s._getBeadsVolume(1, 1)
     self.assertEqual(v, v_expected)
     
     expected_dna_cutoff = 100
     f_expected = a + b / expected_dna_cutoff + c / expected_dna_cutoff ** 2
     v_expected = 50 * f_expected
     v = s._getBeadsVolume(2, 1)
     self.assertEqual(v, v_expected)
Exemple #5
0
 def setUp(self, mock_serial, mock_sleep, mock_sleep2, mock_sleep3, mock_writeAndWait):
     logging.disable(logging.CRITICAL)
     self.test_samplesheet_path = r'.\tests\samplesheet_protocol_test.csv'
     self.test_samplesheet_path_2 = r'.\tests\samplesheet_2stages_protocol_test.csv'
     copyfile(r'.\factory_default\samplesheet.csv', self.test_samplesheet_path)
     copyfile(r'.\factory_default\samplesheet_2stages.csv', self.test_samplesheet_path_2)
     self.ber = ponec.bl.robot(cartesian_port_name='COM1', loadcell_port_name='COM2')
     self.settings = ponec.settings(self.test_samplesheet_path)
     self.settings2 = ponec.settings(self.test_samplesheet_path_2)
     
     # 11/12/2021 - default pipetting speed is 2500.0
     self.default_pipetting_speed = self.ber.getSpeedPipette()
Exemple #6
0
 def test_getTubePositionInRack(self, mock_loadIndividualSettings):
     self.prep_settingsFile('Beads tube column', [0])
     self.prep_settingsFile('Beads tube well', [4])
     
     s = ponec.settings(self.mock_csv_path)
     col, row = s._getTubePositionInRack('Beads')
     self.assertEqual(col, 0)
     self.assertEqual(row, 4)
Exemple #7
0
 def test__beadsVolNotValid(self, mock_loadIndividualSettings):
     self.createTempSettingsFile()
     s = ponec.settings(self.mock_csv_path)
     
     self.assertFalse(s._beadsVolNotValid(100))
     self.assertFalse(s._beadsVolNotValid(947))
     self.assertTrue(s._beadsVolNotValid(0))
     self.assertTrue(s._beadsVolNotValid(None))
Exemple #8
0
 def test_getBeadsVolUsingDNACutoff(self, mock_loadIndividualSettings):
     self.prep_createBeadsVolSettings(1)
     param = 'Initial sample volume'
     self.prep_settingsFile(param, [100, 29, 50, 0, 0, -1, -1, -1, -1, -1, -1, -1])
     
     s = ponec.settings(self.mock_csv_path)
     s.cutoffs = s.returnProtocolParameter('Number of cutoffs')
     s.initial_sample_vol_list = s._returnSampleParameterList('Initial sample volume')
     
     a,b,c = bl.getBeadsVolumeCoef()
     f_expected = a + b / 150 + c / 150 ** 2
     v = s._getBeadsVolUsingDNACutoff(0, 1)
     self.assertEqual(v, f_expected*100)
     self.assertFalse(v == 0)
     
     f_expected = a + b / 300 + c / 300 ** 2
     v = s._getBeadsVolUsingDNACutoff(1, 1)
     self.assertEqual(v, f_expected*29)
     
     f_expected = a + b / 100 + c / 100 ** 2
     v = s._getBeadsVolUsingDNACutoff(2, 1)
     self.assertEqual(v, f_expected*50)
 
     self.delTempSettingsFile()
     del s
     
     self.prep_createBeadsVolSettings(2)
     param = 'Initial sample volume'
     self.prep_settingsFile(param, [100, 29, 50, 0, 0, -1, -1, -1, -1, -1, -1, -1])
     
     s = ponec.settings(self.mock_csv_path)
     s.cutoffs = s.returnProtocolParameter('Number of cutoffs')
     s.initial_sample_vol_list = s._returnSampleParameterList('Initial sample volume')
     
     f_expected = a + b / 900 + c / 900 ** 2
     v = s._getBeadsVolUsingDNACutoff(0, 1)
     self.assertEqual(v, f_expected*100)
     
     f_expected = a + b / 800 + c / 800 ** 2
     v = s._getBeadsVolUsingDNACutoff(1, 1)
     self.assertEqual(v, f_expected*29)
     
     f_expected = a + b / 700 + c / 700 ** 2
     v = s._getBeadsVolUsingDNACutoff(2, 1)
     self.assertEqual(v, f_expected*50)
Exemple #9
0
 def test_init(self, mock_loadIndividualSettings):
     self.createTempSettingsFile()
     s = ponec.settings(self.mock_csv_path)
     for row in s.settings:
         self.assertTrue('Parameters' in row)
         self.assertTrue('0' in row)
         param = row['Parameters']
         if param == 'Number of cutoffs':
             self.assertEqual(row['0'], '1')
Exemple #10
0
 def test_positionsToPurify2ndStage(self, mock_loadIndividualSettings):
     self.prep_settingsFile('Initial sample volume', 
         [100, 29, 50, 0, 0, -1, -1, -1, -1, -1, -1, -1])
     s = ponec.settings(self.mock_csv_path)
     positions = s.positionsToPurify2ndStage()
     self.assertEqual(positions, [6, 7, 8])
     s.cleanups = 2
     positions = s.positionsToPurify2ndStage()
     self.assertEqual(positions, [3, 4, 5])
     self.delTempSettingsFile()
Exemple #11
0
 def test_calcBeadsVolFromFrac(self, mock_loadIndividualSettings):
     param = 'Initial sample volume'
     self.prep_settingsFile(param, [100, 29, 50, 0, 0, -1, -1, -1, -1, -1, -1, -1])
     
     s = ponec.settings(self.mock_csv_path)
     s.cutoffs = s.returnProtocolParameter('Number of cutoffs')
     s.initial_sample_vol_list = s._returnSampleParameterList('Initial sample volume')
     
     v = s._calcBeadsVolFromFrac(0, 0.5)
     self.assertEqual(v, 50)
     v = s._calcBeadsVolFromFrac(2, 0.5)
     self.assertEqual(v, 25)
Exemple #12
0
 def test_getBeadsSetting(self, mock_loadIndividualSettings):
 
     self. prep_createBeadsVolSettings(1)
     
     s = ponec.settings(self.mock_csv_path)
     s.cutoffs = s.returnProtocolParameter('Number of cutoffs')
     v = s._getBeadsSetting(0, 1, 'Beads volume')
     self.assertEqual(15, v)
     v = s._getBeadsSetting(1, 1, 'Beads volume')
     self.assertEqual(31, v)
     v = s._getBeadsSetting(2, 1, 'Beads volume')
     self.assertEqual(22, v)
Exemple #13
0
 def test_returnPort(self, mock_loadIndividualSettings):
     ls_param = 'Load cells controller port'
     crt_param = 'Cartesian controller port'
     
     self.prep_settingsFile(ls_param, ['auto'])
     self.prep_settingsFile(crt_param, ['auto'])
     s = ponec.settings(self.mock_csv_path)
     ls_port = s.returnPort(kind=ls_param)
     crt_port = s.returnPort(kind=crt_param)
     self.assertEqual(ls_port, None)
     self.assertEqual(crt_port, None)
     self.delTempSettingsFile()
     
     self.prep_settingsFile(ls_param, ['COM1'])
     self.prep_settingsFile(crt_param, ['COM2'])
     s = ponec.settings(self.mock_csv_path)
     ls_port = s.returnPort(kind=ls_param)
     crt_port = s.returnPort(kind=crt_param)
     self.assertEqual(ls_port, 'COM1')
     self.assertEqual(crt_port, 'COM2')
     self.delTempSettingsFile()
Exemple #14
0
 def test_positionsToPurify(self, mock_loadIndividualSettings):
     self.prep_settingsFile('Initial sample volume', 
         [100, 29, 50, 0, 0, -1, -1, -1, -1, -1, -1, -1])
     s = ponec.settings(self.mock_csv_path)
     positions = s.positionsToPurify()
     self.assertEqual(positions, [0, 1, 2])
     self.delTempSettingsFile()
     
     self.prep_settingsFile('Initial sample volume', 
         [-1, -1, 60, 20, 30, -1, -1, -1, 0, -1, -1, -1])
     s = ponec.settings(self.mock_csv_path)
     positions = s.positionsToPurify()
     self.assertEqual(positions, [2, 3, 4])
     self.delTempSettingsFile()
     
     self.prep_settingsFile('Initial sample volume', 
         [0, 0, 0, 0, 0, -1, -1, -1, 0, -1, -1, -1])
     s = ponec.settings(self.mock_csv_path)
     positions = s.positionsToPurify()
     self.assertEqual(positions, [])
     self.delTempSettingsFile()
Exemple #15
0
 def test_getBeadsSetting_2stages(self, mock_loadIndividualSettings):
     
     self. prep_createBeadsVolSettings(2)
 
     s = ponec.settings(self.mock_csv_path)
     s.cutoffs = s.returnProtocolParameter('Number of cutoffs')
     v = s._getBeadsSetting(0, 1, 'Beads volume')
     self.assertEqual(30, v)
     v = s._getBeadsSetting(1, 1, 'Beads volume')
     self.assertEqual(20, v)
     v = s._getBeadsSetting(2, 1, 'Beads volume')
     self.assertEqual(25, v) 
     self.delTempSettingsFile()
Exemple #16
0
 def test_getBeadsVolUsingFraction(self, mock_loadIndividualSettings):
     self.prep_createBeadsVolSettings(1)
     param = 'Initial sample volume'
     self.prep_settingsFile(param, [100, 29, 50, 0, 0, -1, -1, -1, -1, -1, -1, -1])
     
     s = ponec.settings(self.mock_csv_path)
     s.cutoffs = s.returnProtocolParameter('Number of cutoffs')
     s.initial_sample_vol_list = s._returnSampleParameterList('Initial sample volume')
     
     v = s._getBeadsVolUsingFraction(0, 1)
     self.assertEqual(v, 100)
     v = s._getBeadsVolUsingFraction(1, 1)
     self.assertEqual(v, 29*0.9)
     v = s._getBeadsVolUsingFraction(2, 1)
     self.assertEqual(v, 50*1.5)
     
     
     self.prep_createBeadsVolSettings(2)
     param = 'Initial sample volume'
     self.prep_settingsFile(param, [100, 29, 50, 0, 0, -1, -1, -1, -1, -1, -1, -1])
     
     s = ponec.settings(self.mock_csv_path)
     s.cutoffs = s.returnProtocolParameter('Number of cutoffs')
     s.initial_sample_vol_list = s._returnSampleParameterList('Initial sample volume')
     
     v = s._getBeadsVolUsingFraction(0, 1)
     self.assertEqual(v, 100*0.5)
     v = s._getBeadsVolUsingFraction(1, 1)
     self.assertEqual(v, 29*0.6)
     v = s._getBeadsVolUsingFraction(2, 1)
     self.assertEqual(v, 50*0.55)
     v = s._getBeadsVolUsingFraction(0, 2)
     self.assertEqual(v, 100*(1.0-0.5))
     v = s._getBeadsVolUsingFraction(1, 2)
     self.assertEqual(v, 29*(0.9-0.6))
     v = s._getBeadsVolUsingFraction(2, 2)
     self.assertEqual(v, 50*(1.5-0.55))
Exemple #17
0
 def test_getBeadsSetting_2stages_both(self, mock_loadIndividualSettings):
     
     self. prep_createBeadsVolSettings(2)
     
     s = ponec.settings(self.mock_csv_path)
     s.cutoffs = s.returnProtocolParameter('Number of cutoffs')
     
     # 1st stage
     v = s._getBeadsSetting(0, 1, 'Beads volume')
     self.assertEqual(30, v)
     v = s._getBeadsSetting(1, 1, 'Beads volume')
     self.assertEqual(20, v)
     v = s._getBeadsSetting(2, 1, 'Beads volume')
     self.assertEqual(25, v)
     f = s._getBeadsSetting(0, 1, 'Fraction')
     self.assertEqual(0.5, f)
     f = s._getBeadsSetting(1, 1, 'Fraction')
     self.assertEqual(0.6, f)
     f = s._getBeadsSetting(2, 1, 'Fraction')
     self.assertEqual(0.55, f)
     dnasize = s._getBeadsSetting(0, 1, 'DNA size')
     self.assertEqual(900, dnasize)
     dnasize = s._getBeadsSetting(1, 1, 'DNA size')
     self.assertEqual(800, dnasize)
     dnasize = s._getBeadsSetting(2, 1, 'DNA size')
     self.assertEqual(700, dnasize)
     # 2nd stage
     v = s._getBeadsSetting(0, 2, 'Beads volume')
     self.assertEqual(15, v)
     v = s._getBeadsSetting(1, 2, 'Beads volume')
     self.assertEqual(31, v)
     v = s._getBeadsSetting(2, 2, 'Beads volume')
     self.assertEqual(22, v)
     f = s._getBeadsSetting(0, 2, 'Fraction')
     self.assertEqual(1.0, f)
     f = s._getBeadsSetting(1, 2, 'Fraction')
     self.assertEqual(0.9, f)
     f = s._getBeadsSetting(2, 2, 'Fraction')
     self.assertEqual(1.5, f)
     dnasize = s._getBeadsSetting(0, 2, 'DNA size')
     self.assertEqual(150, dnasize)
     dnasize = s._getBeadsSetting(1, 2, 'DNA size')
     self.assertEqual(300, dnasize)
     dnasize = s._getBeadsSetting(2, 2, 'DNA size')
     self.assertEqual(100, dnasize)
Exemple #18
0
 def test_calcBeadVolFractionFromDNACutoff(self, mock_loadIndividualSettings):
     param = 'Initial sample volume'
     self.prep_settingsFile(param, [100, 29, 50, 0, 0, -1, -1, -1, -1, -1, -1, -1])
     
     s = ponec.settings(self.mock_csv_path)
     s.cutoffs = s.returnProtocolParameter('Number of cutoffs')
     s.initial_sample_vol_list = s._returnSampleParameterList('Initial sample volume')
     
     f = s._calcBeadVolFractionFromDNACutoff(1000)
     
     a,b,c = bl.getBeadsVolumeCoef()
     f_expected = a + b / 1000 + c / 1000 ** 2
     
     self.assertEqual(f, f_expected)
     
     
     f = s._calcBeadVolFractionFromDNACutoff(160)
     
     a,b,c = bl.getBeadsVolumeCoef()
     f_expected = a + b / 160 + c / 160 ** 2
     
     self.assertEqual(f, f_expected)
Exemple #19
0
 def test_returnProtocolParameter(self, mock_loadIndividualSettings):
     self.createTempSettingsFile()
     s = ponec.settings(self.mock_csv_path)
     val = s.returnProtocolParameter('Number of cutoffs')
     self.assertEqual(val, 1)
Exemple #20
0
 def test_getRowWithParameter(self, mock_loadIndividualSettings):
     self.createTempSettingsFile()
     s = ponec.settings(self.mock_csv_path)
     row = s.getRowWithParameter('Number of cutoffs')
     self.assertEqual(row['0'], '1')
Exemple #21
0
 def setUp(self, mock_serial, mock_sleep, mock_sleep2, mock_sleep3, mock_writeAndWait):
     logging.disable(logging.CRITICAL)
     self.ber = ponec.bl.robot(cartesian_port_name='COM1', loadcell_port_name='COM2')
     csv_path = r'.\factory_default\samplesheet.csv'
     self.settings = ponec.settings(csv_path)
Exemple #22
0
    def test__getBeadsVolume_2stage(self, mock_loadIndividualSettings):
        self.prep_createBeadsVolSettings(2)
        param = 'Initial sample volume'
        self.prep_settingsFile(param, [100, 29, 50, 0, 0, -1, -1, -1, -1, -1, -1, -1])
        
        s = ponec.settings(self.mock_csv_path)
        s.cutoffs = s.returnProtocolParameter('Number of cutoffs')
        s.initial_sample_vol_list = s._returnSampleParameterList('Initial sample volume')

        v = s._getBeadsVolume(0, 1)
        self.assertEqual(v, 30)
        v = s._getBeadsVolume(1, 1)
        self.assertEqual(v, 20)
        v = s._getBeadsVolume(2, 1)
        self.assertEqual(v, 25)
        
        v = s._getBeadsVolume(0, 2)
        self.assertEqual(v, 15)
        v = s._getBeadsVolume(1, 2)
        self.assertEqual(v, 31)
        v = s._getBeadsVolume(2, 2)
        self.assertEqual(v, 22)
        
        
        # Rewriting the settings file. 
        # Now the function should calculate volume from the initial volume and fraction
        param = 'Beads volume'
        self.prep_settingsFile(param, [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1])
        param = 'Beads volume upper cutoff'
        self.prep_settingsFile(param, [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1])
        s = ponec.settings(self.mock_csv_path)
        s.cutoffs = s.returnProtocolParameter('Number of cutoffs')
        s.initial_sample_vol_list = s._returnSampleParameterList('Initial sample volume')
        
        v = s._getBeadsVolume(0, 1)
        self.assertEqual(v, 100*0.5)
        v = s._getBeadsVolume(1, 1)
        self.assertEqual(v, 29*0.6)
        v = s._getBeadsVolume(2, 1)
        self.assertEqual(v, 50*0.55)
        
        v = s._getBeadsVolume(0, 2)
        self.assertEqual(v, 100*(1.0-0.5))
        v = s._getBeadsVolume(1, 2)
        self.assertEqual(v, 29*(0.9-0.6))
        v = s._getBeadsVolume(2, 2)
        self.assertEqual(v, 50*(1.5-0.55))
        
        # Rewriting the settings file. 
        # Now the function should calculate volume from the initial volume and DNA cutoff
        param = 'Fraction'
        self.prep_settingsFile(param, [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1])
        param = 'Fraction upper cutoff'
        self.prep_settingsFile(param, [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1])
        s = ponec.settings(self.mock_csv_path)
        s.cutoffs = s.returnProtocolParameter('Number of cutoffs')
        s.initial_sample_vol_list = s._returnSampleParameterList('Initial sample volume')
        
        a,b,c = bl.getBeadsVolumeCoef()
        
        expected_dna_cutoff = 900
        f_expected = a + b / expected_dna_cutoff + c / expected_dna_cutoff ** 2
        v_expected = 100 * f_expected
        v = s._getBeadsVolume(0, 1)
        self.assertEqual(v, v_expected)
        exp_dna_cutoff_2 = 150
        f_expected_2 = a + b / exp_dna_cutoff_2 + c / exp_dna_cutoff_2 ** 2
        v_expected_2 = 100 * (f_expected_2 - f_expected)
        v = s._getBeadsVolume(0, 2)
        self.assertEqual(v, v_expected_2)
        
        
        expected_dna_cutoff = 800
        f_expected = a + b / expected_dna_cutoff + c / expected_dna_cutoff ** 2
        v_expected = 29 * f_expected
        v = s._getBeadsVolume(1, 1)
        self.assertEqual(v, v_expected)
        exp_dna_cutoff_2 = 300
        f_expected_2 = a + b / exp_dna_cutoff_2 + c / exp_dna_cutoff_2 ** 2
        v_expected_2 = 29 * (f_expected_2 - f_expected)
        v = s._getBeadsVolume(1, 2)
        self.assertEqual(v, v_expected_2)
        
        expected_dna_cutoff = 700
        f_expected = a + b / expected_dna_cutoff + c / expected_dna_cutoff ** 2
        v_expected = 50 * f_expected
        v = s._getBeadsVolume(2, 1)
        self.assertEqual(v, v_expected)
        exp_dna_cutoff_2 = 100
        f_expected_2 = a + b / exp_dna_cutoff_2 + c / exp_dna_cutoff_2 ** 2
        v_expected_2 = 50 * (f_expected_2 - f_expected)
        v = s._getBeadsVolume(2, 2)
        self.assertEqual(v, v_expected_2)
Exemple #23
0
 def test_positionsToPurify2ndStage(self, mock_loadIndividualSettings):
     param = 'Initial sample volume'
     self.prep_settingsFile(param, [100, 29, 50, 0, 0, -1, -1, -1, -1, -1, -1, -1])
     s = ponec.settings(self.mock_csv_path)
     values = s._returnSampleParameterList(param)
     self.assertEqual(values, [100, 29, 50])