genet-models / genet_models /functional.py
ntfargo's picture
Upload 461 files
a63ff8c
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