用于体外蛋白质生产优化的大规模主动学习引导探索

种子数据集的数据处理

在这里插入代码片
import numpy as np
import random
# 第一次执行文件时没有设置种子。本文中用于初始板的浓度可以在data/plate_AL_1_raw_everything.csv中找到
data_folder = "echo_files"

# 允许的浓度比例
extract_conc = [1]
mg_gluta_conc = [0.1, 0.3, 0.5, 1]
K_gluta_conc = [0.1, 0.3, 0.5, 1]
aa_conc = [0.1, 0.3, 0.5, 1]
peg_conc = [1]
hepes_conc = [1]
trna_conc = [0.1, 0.3, 0.5, 1]
coa_conc = [0.1, 0.3, 0.5, 1]
nad_conc = [0.1, 0.3, 0.5, 1]
camp_conc = [0.1, 0.3, 0.5, 1]
folinic_acid_conc = [0.1, 0.3, 0.5, 1]
spermidine_conc = [0.1, 0.3, 0.5, 1]
pga_conc = [0.1, 0.3, 0.5, 1]
nucleo_conc = [0.1, 0.3, 0.5, 1]
DNA_mix = [0, 1]
promoter_conc = [1]
RBS_conc = [1]

# 每种成分的最大浓度
extract_max = 30
mg_gluta_max = 4
K_gluta_max = 80
aa_max = 1.5
peg_max = 2
hepes_max = 50
trna_max = 0.2
coa_max = 0.26
nad_max = 0.33
camp_max = 0.75
folinic_acid_max = 0.068
spemidine_max = 1
pga_max = 30
nucleo_mix_max = 1.5
DNA_max = 50

promoter_max = 10
RBS_max = 10

# 体积要求和库存-计算兼容2.5 nL的ECHO纳米滴
vol_max = 10.5

n = 5  # 最小浓度下滴数。即使在最低浓度下,我们也选择了至少5滴。

stock_extract = 89.5
stock_mg_gluta = 168
stock_K_gluta = 3360
stock_aa = 6
stock_peg = 40
stock_hepes = 2100
stock_trna = 84/n
stock_coa = 109.2/n
stock_nad = 138.6/n
stock_camp = 315/n
stock_folinic_acid = 28.56/n
stock_spermidine = 420/n
stock_pga = 1400
stock_nucleo = 630/n
stock_dna = 300

# Creating maximum extract:
maximum_extract = np.ones((1, 17), dtype = 'int')

max_sample_conc = [maximum_extract[0,0] * extract_max,
                   maximum_extract[0,1] * mg_gluta_max,
                   maximum_extract[0,2] * K_gluta_max,
                   maximum_extract[0,3] * aa_max,
                   maximum_extract[0,4] * peg_max,
                   maximum_extract[0,5] * hepes_max,
                   maximum_extract[0,6] * trna_max,
                   maximum_extract[0,7] * coa_max,
                   maximum_extract[0,8] * nad_max,
                   maximum_extract[0,9] * camp_max,
                   maximum_extract[0,10] * folinic_acid_max,
                   maximum_extract[0,11] * spemidine_max,
                   maximum_extract[0,12] * pga_max,
                   maximum_extract[0,13]* nucleo_mix_max,
                   maximum_extract[0,14]* DNA_max,
                   maximum_extract[0,15]* promoter_max,
                   maximum_extract[0,16]* RBS_max
                  ]


# Creating autofluorescence extract extract:
autofluorescence_extract = np.ones((1, 17), dtype = 'int')

autofluorescence_sample_conc = [autofluorescence_extract[0,0] * extract_max,
                               autofluorescence_extract[0,1] * mg_gluta_max,
                               autofluorescence_extract[0,2] * K_gluta_max,
                               autofluorescence_extract[0,3] * aa_max,
                               autofluorescence_extract[0,4] * peg_max,
                               autofluorescence_extract[0,5] * hepes_max,
                               autofluorescence_extract[0,6] * trna_max,
                               autofluorescence_extract[0,7] * coa_max,
                               autofluorescence_extract[0,8] * nad_max,
                               autofluorescence_extract[0,9] * camp_max,
                               autofluorescence_extract[0,10] * folinic_acid_max,
                               autofluorescence_extract[0,11] * spemidine_max,
                               autofluorescence_extract[0,12] * pga_max,
                               autofluorescence_extract[0,13]* nucleo_mix_max,
                               autofluorescence_extract[0,14]* 0,  # 自体荧光对照中无DNA
                   autofluorescence_extract[0,15]* promoter_max,
                   autofluorescence_extract[0,16]* RBS_max]
# 由数组reshape为二维数组
max_sample_conc = np.reshape(max_sample_conc, (1, 17))
autofluorescence_sample_conc = np.asarray(autofluorescence_sample_conc)
autofluorescence_sample_conc = np.reshape(autofluorescence_sample_conc, (1, 17))
ctrl_array = max_sample_conc
# 行合并 shape(2, 17)
ctrl_array = np.concatenate((ctrl_array, autofluorescence_sample_conc), axis = 0)

'''
定义除一个低值其余全是最大值
这定义了我们想要在初始板上测试的一组组合。所有浓度都尽可能达到最大值,只有一个浓度值最低。
因此,这产生了11种强制组合。我们还最大限度地添加了与所有内容的组合,以及NTP效果的另一个点
'''
all_max_except_one_low = max_sample_conc
extract = extract_conc[0]
peg = peg_conc[0]
hepes = hepes_conc[0]
dna = DNA_mix[1]
promoter = promoter_conc[0]
RBS = RBS_conc[0]


mg_gluta = mg_gluta_conc[-1]
K_gluta = K_gluta_conc[-1]
aa = aa_conc[-1]
trna = trna_conc[-1]
coa = coa_conc[-1]
nad = nad_conc[-1]
camp = camp_conc[-1]
folinic_acid = folinic_acid_conc[-1]
spermidine = spermidine_conc[-1]
pga = pga_conc[-1]
nucleo = nucleo_conc[-1]

this_sample_conc = [extract * extract_max,
                   0.1 * mg_gluta_max,
                   K_gluta * K_gluta_max,
                   aa * aa_max,
                   peg * peg_max,
                   hepes * hepes_max,
                   trna * trna_max,
                   coa * coa_max,
                   nad * nad_max,
                   camp * camp_max,
                   folinic_acid * folinic_acid_max,
                   spermidine * spemidine_max,
                   pga * pga_max,
                   nucleo * nucleo_mix_max,
                   dna * DNA_max,
                   promoter * promoter_max,
                   RBS * RBS_max]
this_sample_conc = np.reshape(this_sample_conc, (1, 17))
all_max_except_one_low = np.concatenate((all_max_except_one_low, this_sample_conc), axis = 0)
this_sample_conc = [extract * extract_max,
                   mg_gluta * mg_gluta_max,
                   0.1 * K_gluta_max,
                   aa * aa_max,
                   peg * peg_max,
                   hepes * hepes_max,
                   trna * trna_max,
                   coa * coa_max,
                   nad * nad_max,
                   camp * camp_max,
                   folinic_acid * folinic_acid_max,
                   spermidine * spemidine_max,
                   pga * pga_max,
                   nucleo * nucleo_mix_max,
                   dna * DNA_max,
                   promoter * promoter_max,
                   RBS * RBS_max]
this_sample_conc = np.reshape(this_sample_conc, (1, 17))
all_max_except_one_low = np.concatenate((all_max_except_one_low, this_sample_conc), axis = 0)
this_sample_conc = [extract * extract_max,
                   mg_gluta * mg_gluta_max,
                   K_gluta * K_gluta_max,
                   0.1 * aa_max,
                   peg * peg_max,
                   hepes * hepes_max,
                   trna * trna_max,
                   coa * coa_max,
                   nad * nad_max,
                   camp * camp_max,
                   folinic_acid * folinic_acid_max,
                   spermidine * spemidine_max,
                   pga * pga_max,
                   nucleo * nucleo_mix_max,
                   dna * DNA_max,
                   promoter * promoter_max,
                   RBS * RBS_max]
this_sample_conc = np.reshape(this_sample_conc, (1, 17))
all_max_except_one_low = np.concatenate((all_max_except_one_low, this_sample_conc), axis = 0)
this_sample_conc = [extract * extract_max,
                   mg_gluta * mg_gluta_max,
                   K_gluta * K_gluta_max,
                   aa * aa_max,
                   peg * peg_max,
                   hepes * hepes_max,
                   0.1 * trna_max,
                   coa * coa_max,
                   nad * nad_max,
                   camp * camp_max,
                   folinic_acid * folinic_acid_max,
                   spermidine * spemidine_max,
                   pga * pga_max,
                   nucleo * nucleo_mix_max,
                   dna * DNA_max,
                   promoter * promoter_max,
                   RBS * RBS_max]
this_sample_conc = np.reshape(this_sample_conc, (1, 17))
all_max_except_one_low = np.concatenate((all_max_except_one_low, this_sample_conc), axis = 0)
this_sample_conc = [extract * extract_max,
                  mg_gluta* mg_gluta_max,
                   K_gluta * K_gluta_max,
                   aa * aa_max,
                   peg * peg_max,
                   hepes * hepes_max,
                   trna * trna_max,
                   0.1 * coa_max,
                   nad * nad_max,
                   camp * camp_max,
                   folinic_acid * folinic_acid_max,
                   spermidine * spemidine_max,
                   pga * pga_max,
                   nucleo * nucleo_mix_max,
                   dna * DNA_max,
                   promoter * promoter_max,
                   RBS * RBS_max]
this_sample_conc = np.reshape(this_sample_conc, (1, 17))
all_max_except_one_low = np.concatenate((all_max_except_one_low, this_sample_conc), axis = 0)
this_sample_conc = [extract * extract_max,
                   mg_gluta * mg_gluta_max,
                   K_gluta * K_gluta_max,
                   aa * aa_max,
                   peg * peg_max,
                   hepes * hepes_max,
                   trna * trna_max,
                   coa * coa_max,
                   0.1 * nad_max,
                   camp * camp_max,
                   folinic_acid * folinic_acid_max,
                   spermidine * spemidine_max,
                   pga * pga_max,
                   nucleo * nucleo_mix_max,
                   dna * DNA_max,
                   promoter * promoter_max,
                   RBS * RBS_max]
this_sample_conc = np.reshape(this_sample_conc, (1, 17))
all_max_except_one_low = np.concatenate((all_max_except_one_low, this_sample_conc), axis = 0)
this_sample_conc = [extract * extract_max,
                   mg_gluta * mg_gluta_max,
                   K_gluta * K_gluta_max,
                   aa * aa_max,
                   peg * peg_max,
                   hepes * hepes_max,
                   trna * trna_max,
                   coa * coa_max,
                   nad * nad_max,
                   0.1 * camp_max,
                   folinic_acid * folinic_acid_max,
                   spermidine * spemidine_max,
                   pga * pga_max,
                   nucleo * nucleo_mix_max,
                   dna * DNA_max,
                   promoter * promoter_max,
                   RBS * RBS_max]
this_sample_conc = np.reshape(this_sample_conc, (1, 17))
all_max_except_one_low = np.concatenate((all_max_except_one_low, this_sample_conc), axis = 0)
this_sample_conc = [extract * extract_max,
                   mg_gluta * mg_gluta_max,
                   K_gluta * K_gluta_max,
                   aa * aa_max,
                   peg * peg_max,
                   hepes * hepes_max,
                   trna * trna_max,
                   coa * coa_max,
                   nad * nad_max,
                   camp * camp_max,
                   0.1 * folinic_acid_max,
                   spermidine * spemidine_max,
                   pga * pga_max,
                   nucleo * nucleo_mix_max,
                   dna * DNA_max,
                   promoter * promoter_max,
                   RBS * RBS_max]
this_sample_conc = np.reshape(this_sample_conc, (1, 17))
all_max_except_one_low = np.concatenate((all_max_except_one_low, this_sample_conc), axis = 0)
this_sample_conc = [extract * extract_max,
                   mg_gluta * mg_gluta_max,
                   K_gluta * K_gluta_max,
                   aa * aa_max,
                   peg * peg_max,
                   hepes * hepes_max,
                   trna * trna_max,
                   coa * coa_max,
                   nad * nad_max,
                   camp * camp_max,
                   folinic_acid * folinic_acid_max,
                   0.1 * spemidine_max,
                   pga * pga_max,
                   nucleo * nucleo_mix_max,
                   dna * DNA_max,
                   promoter * promoter_max,
                   RBS * RBS_max]
this_sample_conc = np.reshape(this_sample_conc, (1, 17))
all_max_except_one_low = np.concatenate((all_max_except_one_low, this_sample_conc), axis = 0)
this_sample_conc = [extract * extract_max,
                   mg_gluta * mg_gluta_max,
                   K_gluta * K_gluta_max,
                   aa * aa_max,
                   peg * peg_max,
                   hepes * hepes_max,
                   trna * trna_max,
                   coa * coa_max,
                   nad * nad_max,
                   camp * camp_max,
                   folinic_acid * folinic_acid_max,
                   spermidine * spemidine_max,
                   0.1 * pga_max,
                   nucleo * nucleo_mix_max,
                   dna * DNA_max,
                   promoter * promoter_max,
                   RBS * RBS_max]
this_sample_conc = np.reshape(this_sample_conc, (1, 17))
all_max_except_one_low = np.concatenate((all_max_except_one_low, this_sample_conc), axis = 0)
this_sample_conc = [extract * extract_max,
                   mg_gluta * mg_gluta_max,
                   K_gluta * K_gluta_max,
                   aa * aa_max,
                   peg * peg_max,
                   hepes * hepes_max,
                   trna * trna_max,
                   coa * coa_max,
                   nad * nad_max,
                   camp * camp_max,
                   folinic_acid * folinic_acid_max,
                   spermidine * spemidine_max,
                   pga * pga_max,
                   0.1 * nucleo_mix_max,
                   dna * DNA_max,
                   promoter * promoter_max,
                   RBS * RBS_max]
this_sample_conc = np.reshape(this_sample_conc, (1, 17))
all_max_except_one_low = np.concatenate((all_max_except_one_low, this_sample_conc), axis = 0)
this_sample_conc = [extract * extract_max,
                   mg_gluta * mg_gluta_max,
                   K_gluta * K_gluta_max,
                   aa * aa_max,
                   peg * peg_max,
                   hepes * hepes_max,
                   trna * trna_max,
                   coa * coa_max,
                   nad * nad_max,
                   camp * camp_max,
                   folinic_acid * folinic_acid_max,
                   spermidine * spemidine_max,
                   pga * pga_max,
                   0.3 * nucleo_mix_max,
                   dna * DNA_max,
                   promoter * promoter_max,
                   RBS * RBS_max]
this_sample_conc = np.reshape(this_sample_conc, (1, 17))
all_max_except_one_low = np.concatenate((all_max_except_one_low, this_sample_conc), axis = 0)
# shape(13, 17)
print(all_max_except_one_low.shape)
'''
定义一个最大值其余全是最小值
这定义了我们想要在初始板上测试的一组组合。
这里,所有浓度都是尽可能的最小值,只有一个浓度是最大值。
因此,这产生了11种强制组合。我们还强制以最低值与所有试剂组合。
'''
extract = extract_conc[0]
peg = peg_conc[0]
hepes = hepes_conc[0]
dna = DNA_mix[1]
promoter = promoter_conc[0]
RBS = RBS_conc[0]


mg_gluta = mg_gluta_conc[0]
K_gluta = K_gluta_conc[0]
aa = aa_conc[0]
trna = trna_conc[0]
coa = coa_conc[0]
nad = nad_conc[0]
camp = camp_conc[0]
folinic_acid = folinic_acid_conc[0]
spermidine = spermidine_conc[0]
pga = pga_conc[0]
nucleo = nucleo_conc[0]
this_sample_conc = [extract * extract_max,
                   mg_gluta * mg_gluta_max,
                   K_gluta * K_gluta_max,
                   aa * aa_max,
                   peg * peg_max,
                   hepes * hepes_max,
                   trna * trna_max,
                   coa * coa_max,
                   nad * nad_max,
                   camp * camp_max,
                   folinic_acid * folinic_acid_max,
                   spermidine * spemidine_max,
                   pga * pga_max,
                   nucleo * nucleo_mix_max,
                   dna * DNA_max,
                   promoter * promoter_max,
                   RBS * RBS_max]
this_sample_conc = np.reshape(this_sample_conc, (1, 17))

all_min_except_high = this_sample_conc
this_sample_conc = [extract * extract_max,
                   1 * mg_gluta_max,
                   K_gluta * K_gluta_max,
                   aa * aa_max,
                   peg * peg_max,
                   hepes * hepes_max,
                   trna * trna_max,
                   coa * coa_max,
                   nad * nad_max,
                   camp * camp_max,
                   folinic_acid * folinic_acid_max,
                   spermidine * spemidine_max,
                   pga * pga_max,
                   nucleo * nucleo_mix_max,
                   dna * DNA_max,
                   promoter * promoter_max,
                   RBS * RBS_max]
this_sample_conc = np.reshape(this_sample_conc, (1, 17))
all_min_except_high = np.concatenate((all_min_except_high, this_sample_conc), axis = 0)
this_sample_conc = [extract * extract_max,
                   mg_gluta * mg_gluta_max,
                   1 * K_gluta_max,
                   aa * aa_max,
                   peg * peg_max,
                   hepes * hepes_max,
                   trna * trna_max,
                   coa * coa_max,
                   nad * nad_max,
                   camp * camp_max,
                   folinic_acid * folinic_acid_max,
                   spermidine * spemidine_max,
                   pga * pga_max,
                   nucleo * nucleo_mix_max,
                   dna * DNA_max,
                   promoter * promoter_max,
                   RBS * RBS_max]
this_sample_conc = np.reshape(this_sample_conc, (1, 17))
all_min_except_high = np.concatenate((all_min_except_high, this_sample_conc), axis = 0)
this_sample_conc = [extract * extract_max,
                   mg_gluta * mg_gluta_max,
                   K_gluta * K_gluta_max,
                   1 * aa_max,
                   peg * peg_max,
                   hepes * hepes_max,
                   trna * trna_max,
                   coa * coa_max,
                   nad * nad_max,
                   camp * camp_max,
                   folinic_acid * folinic_acid_max,
                   spermidine * spemidine_max,
                   pga * pga_max,
                   nucleo * nucleo_mix_max,
                   dna * DNA_max,
                   promoter * promoter_max,
                   RBS * RBS_max]
this_sample_conc = np.reshape(this_sample_conc, (1, 17))
all_min_except_high = np.concatenate((all_min_except_high, this_sample_conc), axis = 0)
this_sample_conc = [extract * extract_max,
                   mg_gluta * mg_gluta_max,
                   K_gluta * K_gluta_max,
                   aa * aa_max,
                   peg * peg_max,
                   hepes * hepes_max,
                   1 * trna_max,
                   coa * coa_max,
                   nad * nad_max,
                   camp * camp_max,
                   folinic_acid * folinic_acid_max,
                   spermidine * spemidine_max,
                   pga * pga_max,
                   nucleo * nucleo_mix_max,
                   dna * DNA_max,
                   promoter * promoter_max,
                   RBS * RBS_max]
this_sample_conc = np.reshape(this_sample_conc, (1, 17))
all_min_except_high = np.concatenate((all_min_except_high, this_sample_conc), axis = 0)
this_sample_conc = [extract * extract_max,
                  mg_gluta* mg_gluta_max,
                   K_gluta * K_gluta_max,
                   aa * aa_max,
                   peg * peg_max,
                   hepes * hepes_max,
                   trna * trna_max,
                   1 * coa_max,
                   nad * nad_max,
                   camp * camp_max,
                   folinic_acid * folinic_acid_max,
                   spermidine * spemidine_max,
                   pga * pga_max,
                   nucleo * nucleo_mix_max,
                   dna * DNA_max,
                   promoter * promoter_max,
                   RBS * RBS_max]
this_sample_conc = np.reshape(this_sample_conc, (1, 17))
all_min_except_high = np.concatenate((all_min_except_high, this_sample_conc), axis = 0)
this_sample_conc = [extract * extract_max,
                   mg_gluta * mg_gluta_max,
                   K_gluta * K_gluta_max,
                   aa * aa_max,
                   peg * peg_max,
                   hepes * hepes_max,
                   trna * trna_max,
                   coa * coa_max,
                   1 * nad_max,
                   camp * camp_max,
                   folinic_acid * folinic_acid_max,
                   spermidine * spemidine_max,
                   pga * pga_max,
                   nucleo * nucleo_mix_max,
                   dna * DNA_max,
                   promoter * promoter_max,
                   RBS * RBS_max]
this_sample_conc = np.reshape(this_sample_conc, (1, 17))
all_min_except_high = np.concatenate((all_min_except_high, this_sample_conc), axis = 0)
this_sample_conc = [extract * extract_max,
                   mg_gluta * mg_gluta_max,
                   K_gluta * K_gluta_max,
                   aa * aa_max,
                   peg * peg_max,
                   hepes * hepes_max,
                   trna * trna_max,
                   coa * coa_max,
                   nad * nad_max,
                   1 * camp_max,
                   folinic_acid * folinic_acid_max,
                   spermidine * spemidine_max,
                   pga * pga_max,
                   nucleo * nucleo_mix_max,
                   dna * DNA_max,
                   promoter * promoter_max,
                   RBS * RBS_max]
this_sample_conc = np.reshape(this_sample_conc, (1, 17))
all_min_except_high = np.concatenate((all_min_except_high, this_sample_conc), axis = 0)
this_sample_conc = [extract * extract_max,
                   mg_gluta * mg_gluta_max,
                   K_gluta * K_gluta_max,
                   aa * aa_max,
                   peg * peg_max,
                   hepes * hepes_max,
                   trna * trna_max,
                   coa * coa_max,
                   nad * nad_max,
                   camp * camp_max,
                   1 * folinic_acid_max,
                   spermidine * spemidine_max,
                   pga * pga_max,
                   nucleo * nucleo_mix_max,
                   dna * DNA_max,
                   promoter * promoter_max,
                   RBS * RBS_max]
this_sample_conc = np.reshape(this_sample_conc, (1, 17))
all_min_except_high = np.concatenate((all_min_except_high, this_sample_conc), axis = 0)
this_sample_conc = [extract * extract_max,
                   mg_gluta * mg_gluta_max,
                   K_gluta * K_gluta_max,
                   aa * aa_max,
                   peg * peg_max,
                   hepes * hepes_max,
                   trna * trna_max,
                   coa * coa_max,
                   nad * nad_max,
                   camp * camp_max,
                   folinic_acid * folinic_acid_max,
                   1 * spemidine_max,
                   pga * pga_max,
                   nucleo * nucleo_mix_max,
                   dna * DNA_max,
                   promoter * promoter_max,
                   RBS * RBS_max]
this_sample_conc = np.reshape(this_sample_conc, (1, 17))
all_min_except_high = np.concatenate((all_min_except_high, this_sample_conc), axis = 0)
this_sample_conc = [extract * extract_max,
                   mg_gluta * mg_gluta_max,
                   K_gluta * K_gluta_max,
                   aa * aa_max,
                   peg * peg_max,
                   hepes * hepes_max,
                   trna * trna_max,
                   coa * coa_max,
                   nad * nad_max,
                   camp * camp_max,
                   folinic_acid * folinic_acid_max,
                   spermidine * spemidine_max,
                   1 * pga_max,
                   nucleo * nucleo_mix_max,
                   dna * DNA_max,
                   promoter * promoter_max,
                   RBS * RBS_max]
this_sample_conc = np.reshape(this_sample_conc, (1, 17))
all_min_except_high = np.concatenate((all_min_except_high, this_sample_conc), axis = 0)
this_sample_conc = [extract * extract_max,
                   mg_gluta * mg_gluta_max,
                   K_gluta * K_gluta_max,
                   aa * aa_max,
                   peg * peg_max,
                   hepes * hepes_max,
                   trna * trna_max,
                   coa * coa_max,
                   nad * nad_max,
                   camp * camp_max,
                   folinic_acid * folinic_acid_max,
                   spermidine * spemidine_max,
                   pga * pga_max,
                   1 * nucleo_mix_max,
                   dna * DNA_max,
                   promoter * promoter_max,
                   RBS * RBS_max]
this_sample_conc = np.reshape(this_sample_conc, (1, 17))
all_min_except_high = np.concatenate((all_min_except_high, this_sample_conc), axis = 0)
# shape(12, 17)
print(all_min_except_high.shape)

# 其余部分将随机填充,避免重复
answer_array = np.concatenate((ctrl_array, all_max_except_one_low, all_min_except_high), axis = 0)
# shape(27, 17)
print(answer_array.shape)

# 查看随机填充的数组是否存在已经查找的数组中

def present_in_array_index(new_sample, array):
    """
    Verify if a sample is present in an array.
    """
    if array is None:
        return(False, -1)
    present = False
    new_sample = np.reshape(np.array(new_sample), (1,17))
    for i in range(array.shape[0]):
        if np.array_equiv(array[i,:],new_sample):
            present = True
            break
    return(present, i)
# 随机填充各组分浓度的函数
def generate_random_grid(array_to_avoid, sample_size = 100):
    active_learning_array = array_to_avoid
    if array_to_avoid is None:
        answerSize = 0
    else:
        answerSize = active_learning_array.shape[0]
    # Reagents not allowed to vary
    extract = extract_conc[0]
    peg = peg_conc[0]
    hepes = hepes_conc[0]
    dna = DNA_mix[1]
    promoter = promoter_conc[0]
    RBS = RBS_conc[0]

    while answerSize < sample_size:
        this_sample = np.random.randint(0, high=3, size=11, dtype='int')
        this_sample_conc = [extract * extract_max,
                            mg_gluta_conc[this_sample[0]] * mg_gluta_max,
                            K_gluta_conc[this_sample[1]] * K_gluta_max,
                            aa_conc[this_sample[2]] * aa_max,
                            peg * peg_max,
                            hepes * hepes_max,
                            trna_conc[this_sample[3]] * trna_max,
                            coa_conc[this_sample[4]] * coa_max,
                            nad_conc[this_sample[5]] * nad_max,
                            camp_conc[this_sample[6]] * camp_max,
                            folinic_acid_conc[this_sample[7]] * folinic_acid_max,
                            spermidine_conc[this_sample[8]] * spemidine_max,
                            pga_conc[this_sample[9]] * pga_max,
                            nucleo_conc[this_sample[10]] * nucleo_mix_max,
                            dna * DNA_max,  # not modified
                            promoter * promoter_max,  # not modified
                            RBS * RBS_max]
        this_sample_conc = np.reshape(this_sample_conc, (1, 17))
        if not present_in_array_index(this_sample_conc, active_learning_array)[0]:
            answerSize = answerSize + 1
            if active_learning_array is None:
                active_learning_array = this_sample_conc
            else:
                active_learning_array = np.concatenate((active_learning_array, this_sample_conc), axis = 0)
    return(active_learning_array)
answer_array = generate_random_grid(answer_array, sample_size = 102)


# 保存筛选的种子数据集

headers = "extract; mg_gluta; K_gluta; aa; peg; hepes; trna; coa; nad; camp; folinic_acid; spemidin; pga; nucleo_mix; DNA; promoter; RBS"

np.savetxt("{}/initial_plate.csv".format(data_folder), answer_array, delimiter=";", header = headers,fmt='%.5f')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值