File size: 2,291 Bytes
a63ff8c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
import os, sys, glob
import inspect
from genet_models import DeepPrime
'''
Model finder repo
Get your models from here!
'''
def load_genet_model(model_id='PE2', cell_type='HEK293T'):
'''
model_id: PE2, PE2max, PE4max, PE2max-e, PE4max-e, NRCH_PE2, NRCH_PE2max, NRCH_PE4max
cell_rtpe: HEK293T, A549, DLD1, HCT116, HeLa, MDA-MB-231, NIH3T3
>>> from genet_models import load_model
>>> model_dir, model_type = load_model('PE2max', 'HEK293T')
'''
print('get model: %s - %s' % (model_id, cell_type))
model_dir = inspect.getfile(DeepPrime).replace('/__init__.py', '').replace('\\__init__.py', '')
dict_models = {
'HEK293T': {
'PE2' : 'DeepPrime_base',
'NRCH_PE2' : 'DP_variant_293T_NRCH_PE2_Opti_220428',
'NRCH_PE2max': 'DP_variant_293T_NRCH-PE2max_Opti_220815',
'PE2max' : 'DP_variant_293T_PE2max_Opti_220428',
'PE2max-e' : 'DP_variant_293T_PE2max_epegRNA_Opti_220428',
'PE4max' : 'DP_variant_293T_PE4max_Opti_220728',
'PE4max-e' : 'DP_variant_293T_PE4max_epegRNA_Opti_220428',
},
'A549': {
'PE2max' : 'DP_variant_A549_PE2max_Opti_221114',
'PE2max-e' : 'DP_variant_A549_PE2max_epegRNA_Opti_220428',
'PE4max' : 'DP_variant_A549_PE4max_Opti_220728',
'PE4max-e' : 'DP_variant_A549_PE4max_epegRNA_Opti_220428',
},
'DLD1': {
'NRCH_PE4max': 'DP_variant_DLD1_NRCHPE4max_Opti_220728',
'PE2max' : 'DP_variant_DLD1_PE2max_Opti_221114',
'PE4max' : 'DP_variant_DLD1_PE4max_Opti_220728',
},
'HCT116': {
'PE2' : 'DP_variant_HCT116_PE2_Opti_220428',
},
'HeLa': {
'PE2max' : 'DP_variant_HeLa_PE2max_Opti_220815',
},
'MDA-MB-231': {
'PE2' : 'DP_variant_MDA_PE2_Opti_220428',
},
'NIH3T3': {
'NRCH_PE4max': 'DP_variant_NIH_NRCHPE4max_Opti_220815',
},
}
try:
model_type = dict_models[cell_type][model_id]
except:
print('Not available Prime Editor')
sys.exit()
return model_dir, model_type |