bug修复
parent
cc63ef71e5
commit
8e864c820f
|
|
@ -212,10 +212,10 @@ log/*
|
|||
example/*
|
||||
!example/readme.md
|
||||
|
||||
xlsx/*
|
||||
/xlsx/
|
||||
!xlsx/readme.md
|
||||
|
||||
result/*docx
|
||||
/result/
|
||||
!result/readme.md
|
||||
|
||||
/.report/
|
||||
Binary file not shown.
|
|
@ -172,109 +172,6 @@ class Parse(BaseAssignment):
|
|||
def msi(self):
|
||||
self._to_dicts('MSI')
|
||||
|
||||
# def chemo(self):
|
||||
# data = pd.DataFrame(self.sampledata['chemo'])
|
||||
#
|
||||
# project = data['project'].to_list()[0]
|
||||
#
|
||||
# # 分类汇总 同位点,药物合并 drug.infos.txt
|
||||
# drugrsid = data[['drugname', 'genename', 'rsid', 'result', 'level', 'tips', 'drugsort']]
|
||||
# drugrsid = drugrsid.drop_duplicates()
|
||||
# resdrugrsid = drugrsid.groupby(['drugname', 'genename', 'rsid', 'result', 'level', 'drugsort'])['tips'].agg(
|
||||
# ','.join).reset_index()
|
||||
# resdrugrsid.rename(columns=
|
||||
# {'drugname': '药物', 'genename': '检测基因', 'rsid': '检测位点', 'result': '基因型',
|
||||
# 'level': '证据等级', 'tips': '用药提示'},
|
||||
# inplace=True)
|
||||
# resdrugrsid = resdrugrsid.sort_values(by=['drugsort', '药物', '检测基因'])
|
||||
# self.result['chemo']['druginfo'] = resdrugrsid.to_dict('records')
|
||||
#
|
||||
# # 药物 药物疗效 推荐程度合并 drug.res.txt
|
||||
# drugtypesum = data[['drugname', 'drugtype', 'rsid', 'weights']]
|
||||
# drugtypesum = drugtypesum.drop_duplicates()
|
||||
# drugtyperes = list()
|
||||
# drugsum = dict()
|
||||
# for drug, drugdata in drugtypesum.groupby('drugname'):
|
||||
# tipsnum = drugdata.groupby(['drugtype']).agg({'weights': 'sum'}).to_dict('index')
|
||||
# sumlist = list()
|
||||
# if 'LX' in tipsnum:
|
||||
# LX = tipsnum['LX']['weights']
|
||||
# if LX > 0:
|
||||
# lxdes = '疗效较好'
|
||||
# lxnum = 1
|
||||
# elif LX == 0:
|
||||
# lxdes = '疗效一般'
|
||||
# lxnum = 0
|
||||
# else:
|
||||
# lxdes = '疗效较差'
|
||||
# lxnum = -1
|
||||
# sumlist.append(lxdes)
|
||||
# else:
|
||||
# LX = 0
|
||||
# lxnum = 0
|
||||
# if 'DF' in tipsnum:
|
||||
# DF = tipsnum['DF']['weights']
|
||||
# if DF > 0:
|
||||
# dfdes = '毒副较低'
|
||||
# dfnum = 1
|
||||
# elif DF == 0:
|
||||
# dfdes = '毒副一般'
|
||||
# dfnum = 0
|
||||
# else:
|
||||
# dfdes = '毒副较高'
|
||||
# dfnum = -1
|
||||
# sumlist.append(dfdes)
|
||||
# else:
|
||||
# DF = 0
|
||||
# dfnum = 0
|
||||
#
|
||||
# # 评价方式 疗效 1 0 -1, 毒副 1 0 -1 ,可形成9宫格
|
||||
# sumnum = lxnum + dfnum
|
||||
# if sumnum > 0:
|
||||
# sumdes = '推荐'
|
||||
# elif sumnum == 0:
|
||||
# sumdes = '常规'
|
||||
# else:
|
||||
# sumdes = '谨慎'
|
||||
#
|
||||
# # 特别药物处理
|
||||
# if (drug == "氟尿嘧啶" or drug == "卡培他滨") and DF < 0:
|
||||
# sumdes = '谨慎'
|
||||
#
|
||||
# drugtyperes.append(dict(
|
||||
# 药物名称=drug,
|
||||
# 疗效=LX,
|
||||
# 毒副=DF,
|
||||
# 推荐程度=sumdes,
|
||||
# 疗效和毒副总结=','.join(sumlist)
|
||||
# ))
|
||||
# drugsum[drug] = sumdes
|
||||
#
|
||||
# # 报告中展示药物有顺序
|
||||
# drugsort = data[['drugname', 'drugsort']].drop_duplicates()
|
||||
# drugsort_dict = drugsort.set_index('drugname')['drugsort'].to_dict()
|
||||
# drugtyperes_sort = sorted(drugtyperes, key=lambda x: (
|
||||
# drugsort_dict[x['药物名称']] if x['药物名称'] in drugsort_dict else 100, x['药物名称']))
|
||||
#
|
||||
# drugtyperes_sort_df = pd.DataFrame(drugtyperes_sort)
|
||||
# self.result['chemo']['sum'] = drugtyperes_sort_df.groupby('推荐程度')['药物名称'].apply(','.join).to_dict()
|
||||
# self.result['chemo']['drugres'] = drugtyperes_sort_df.to_dict('records')
|
||||
#
|
||||
# # 联合用药
|
||||
# drug_combine_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'database',
|
||||
# 'chemo_drug_combine.csv')
|
||||
# drug_combine = pd.read_csv(drug_combine_path, sep='\t')
|
||||
# drug_combine.fillna('.', inplace=True)
|
||||
# drug_combine_data = drug_combine[drug_combine['source'].str.contains(project)]
|
||||
# drug_combine_data = drug_combine_data.reset_index()
|
||||
# if not drug_combine_data.empty:
|
||||
# drug_combine_data['临床提示'] = drug_combine_data['用药方案'].apply(self._get_drug_plan, args=(drugsum,))
|
||||
# self.result['chemo']['combine'] = drug_combine_data.groupby('癌种').apply(
|
||||
# lambda group: group.set_index('癌种').to_dict('records')).to_dict()
|
||||
# else:
|
||||
# self.result['chemo']['combine'] = dict()
|
||||
# self.result['sum']['chemo_drug_num'] = len(drugsum.keys())
|
||||
|
||||
def chemo(self):
|
||||
chemo_res = self._to_records('chemo_res', need=True)
|
||||
|
||||
|
|
@ -354,7 +251,7 @@ class Parse(BaseAssignment):
|
|||
if not data.empty:
|
||||
data = data.dropna()
|
||||
data = data[data['drug_detail'] != '.']
|
||||
data = data.applymap(lambda x: str(x).replace('\\\\', '\n') if ' \\\\' in str(x) else x)
|
||||
data = data.applymap(lambda x: str(x).replace('||', '\n') if '||' in str(x) else x)
|
||||
res = data.set_index('drug_name')['drug_detail'].to_dict()
|
||||
self.result['drugs']['drugs_detail'] = res
|
||||
|
||||
|
|
@ -449,24 +346,6 @@ class Parse(BaseAssignment):
|
|||
# self.drugs_record['drugs'].update({match.group(1).strip(): match.group(2).strip()})
|
||||
return drug_category_res
|
||||
|
||||
@staticmethod
|
||||
def _get_drug_plan(x, drugsum):
|
||||
tlist = x.split('+')
|
||||
tdeslist = list()
|
||||
for tdes in tlist:
|
||||
if tdes.strip() in drugsum:
|
||||
t1_des = drugsum[tdes.strip()]
|
||||
tdeslist.append(t1_des)
|
||||
|
||||
if '慎用' in tdeslist or '谨慎' in tdeslist:
|
||||
return '慎用'
|
||||
elif '推荐' in tdeslist:
|
||||
return '推荐'
|
||||
elif '常规' in tdeslist:
|
||||
return '可选'
|
||||
else:
|
||||
return '可选'
|
||||
|
||||
def collect(self):
|
||||
self.cms()
|
||||
self.target()
|
||||
|
|
|
|||
Loading…
Reference in New Issue