#!/usr/bin/env python3 # -*- coding: UTF-8 -*- ##https://blog.csdn.net/fanlei_lianjia/article/details/78225857 import os import sys from openpyxl import Workbook,load_workbook from openpyxl.drawing.image import Image if len(sys.argv) != 3: print(" ".join(['usage:python',sys.argv[0],'output_dir','tumor'])) sys.exit() output_dir=sys.argv[1] tumor=sys.argv[2] outputfile=''.join([output_dir,'/report/',tumor,'.report.check.xlsx']) wb=Workbook() def write_excel(txt_name,sheet): f1=open(txt_name,'r',encoding='utf-8') lines=f1.readlines() for line in lines: split_line=line.split('\t') sheet.append(split_line) wb.save(outputfile) inputs={'qc_fail':''.join([output_dir,'/report/','qc_fail.txt']), 'somatic_filter':''.join([output_dir,'/report/',tumor,'.snp.indel.Somatic.annoall.hg19_multianno_filtered.txt']), 'hotspot':''.join([output_dir,'/report/',tumor,'.hotspot.snp.indel.filter.anno.hg19_multianno.txt']), 'germline_filter':''.join([output_dir,'/report/',tumor,'.snp.indel.Germline.anno.hg19_multianno_filtered.txt']), 'promoter':''.join([output_dir,'/report/',tumor,'.target.promoter.txt']), 'splicing':''.join([output_dir,'/report/',tumor,'.target.splicing.txt']), 'fusion':''.join([output_dir,'/report/',tumor,'.fusion.reanno.vcf']), 'cnv':''.join([output_dir,'/report/',tumor,'.rmdup.cns.cn']), 'HRR':''.join([output_dir,'/report/',tumor,'.hrr.pre.txt']), 'HRR':''.join([output_dir,'/report/',tumor,'.hrr.pre.txt']), 'TMB':''.join([output_dir,'/report/',tumor,'.tmb.txt']), 'MMR':''.join([output_dir,'/report/',tumor,'.mmr.pre.txt']), 'immune_predict':''.join([output_dir,'/report/',tumor,'.hpd.pre.txt']), 'hereditary_cancer_syndrome':''.join([output_dir,'/hereditary/',tumor,'.hereditary.pre.txt']) } for key,value in inputs.items(): sheet=wb.create_sheet(key) write_excel(value,sheet) ws=wb['cnv'] mr=ws.max_row cell='C'+str(mr+4) cnv_pic_path=''.join([output_dir,'/report/',tumor,'.cnv.png']) image=Image(cnv_pic_path) ws.add_image(image,cell) wb.save(outputfile) del wb['Sheet'] wb.save(outputfile)