59 lines
2.0 KiB
Python
Executable File
59 lines
2.0 KiB
Python
Executable File
#!/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)
|
|
|