diff --git a/result/2023WSSW000709-T.docx b/result/2023WSSW000709-T.docx index d6f20b9..581e43d 100644 Binary files a/result/2023WSSW000709-T.docx and b/result/2023WSSW000709-T.docx differ diff --git a/template/nreport.docx b/template/nreport.docx index b9bfa9f..6c13810 100644 Binary files a/template/nreport.docx and b/template/nreport.docx differ diff --git a/tools/parsexlsx.py b/tools/parsexlsx.py index 71b11ee..b3d9680 100644 --- a/tools/parsexlsx.py +++ b/tools/parsexlsx.py @@ -50,8 +50,9 @@ class Parse(BaseAssignment): if data.empty: self.result['snvindel'] = res return - - data = data[data['Validated'] == 1].reset_index() + data['freq'] = data['mutant_frequency'].apply(lambda x: float(x.replace('%', ''))) + # 去除不可信,vus中的 %2以下的突变 + data = data[data['Validated'] == 1 & (~((data['freq'] < 2) & (data['AMP_mut_level'] == 'III')))].reset_index() data['muttype'] = '/' data.loc[data['ExonicFunc.refGene'].str.match('nonsynonymous SNV'), 'muttype'] = '错义突变' data.loc[data['ExonicFunc.refGene'].str.match('^frameshift'), 'muttype'] = '移码突变' @@ -79,7 +80,8 @@ class Parse(BaseAssignment): # 汇总 if alter_res['AMP_mut_level'] in ['I', 'II']: self.signtb.add(alter) - self.sign_from_type['target'][alter_res['gene']] = '%s %s' % (alter_res['gene'], alter_res['nacid']) + self.sign_from_type['target'][alter_res['gene']] = '%s(%s)' % ( + alter_res['aacid'], alter_res['mutant_frequency']) self.result['snvindel'] = res @@ -424,7 +426,7 @@ class Parse(BaseAssignment): self.signdurg.update(set(drug_category_alter_data_split['drug_split'].tolist())) drug_category_alter_data_split['drugdes'] = drug_category_alter_data_split.apply( lambda x: '%s 【%s 级】' % (x['drug_split'], x['AMP_evidence_level']), axis=1) - drug_category_res[drug_category] = '\n'.join(drug_category_alter_data_split['drugdes'].to_list()) + drug_category_res[drug_category] = '\n'.join(set(drug_category_alter_data_split['drugdes'].to_list())) # 所有药物信息 groupdata['list_col'] = groupdata['DrugCn'].str.replace(' + ', '+').str.split(r'[+,]')