Source code for ngsqc.reporter.render

#!/usr/bin/env python
#coding=utf-8
from jinja2 import Template
import sys
import os
import base64
import xlrd
reload(sys)
sys.setdefaultencoding('utf-8')
[docs]class Argsor: def __init__(self,report): self.dir = report self.args = {} self.args["per_base_quality"] = [] self.args["per_sequence_quality"] = [] self.args["per_sequence_gc_content"] = [] self.args["per_base_sequence_content"] =[] self.args["duplication_levels"] = [] self.get_images() self.get_table()
[docs] def convert_table(self,table): data = xlrd.open_workbook(table) table_variable = data.sheets()[0] return table_variable
[docs] def get_images(self): for root,dirs,files in os.walk(report): for file in files: absfile = os.path.join(root,file) if file == "per_base_quality.png": self.args["per_base_quality"].append(absfile) if file == "per_sequence_quality.png": self.args["per_sequence_quality"].append(absfile) if file == "per_sequence_gc_content.png": self.args["per_sequence_gc_content"].append(absfile) if file == "per_base_sequence_content.png": self.args["per_base_sequence_content"].append(absfile) if file == "duplication_levels.png": self.args["duplication_levels"].append(absfile)
[docs] def get_table(self): for root,dirs,files in os.walk(report): for file in files: absfile = os.path.join(root,file) if file == "fastqsInfo.xls": self.args["table3_4"] = self.convert_table(absfile) return
[docs]def render(template,args): fp = open(template) tem = Template(fp.read()) tem.globals['open'] = open tem.globals['base64'] = base64.b64encode md = tem.render(**args) return md
[docs]def main(report,template,out): argsor = Argsor(report) args = argsor.args md = render(template,args) fp = open(out,"w") fp.write(md) fp.close()
if __name__ == "__main__": usage=''' Usage: render.py -d <reportDir> -t <md> -o <md> render.py -h | --help Options: -d <reportDir> --dir=<reportDir> report directory -t <md> --template=<md> markdown template -o <md> --out=<md> markdown rendered ''' from docopt import docopt args = docopt(usage) report = args["--dir"] templ = args["--template"] out = args["--out"] main(report,templ,out)