def fastqc_detailed_figure(input = {"template": "", "dbaccessor": "", "json": ""},output = {"R":"", "pdf":""}, param={"ids": ""}): quality_medians = [] stat = json_load(input["json"])['stat'] for s in param['ids']: quality_medians.append(stat[s]['median']) ## from dbaccessor module historic_data = db_fastqc(input["dbaccessor"]) # The table of fastqc_summary that will be used for rendering # Col 1: sample ID # Col 2: sequence length # Col 3: median of sequence quality fastqc_dist_r = JinjaTemplateCommand( template=input["template"], param={'historic_data': historic_data, 'current_data': quality_medians, 'ids': [underline_to_space(i) for i in param["ids"]], 'cutoff': 25, "need_smooth_curve": True, "section": "FastQC score distribution", "pdf": output["pdf"], "render_dump": output["R"]}) template_dump(fastqc_dist_r) r_exec(fastqc_dist_r)
def fastqc_detailed_figure(input={ "template": "", "dbaccessor": "", "json": "" }, output={ "R": "", "pdf": "" }, param={"ids": ""}): quality_medians = [] stat = json_load(input["json"])['stat'] for s in param['ids']: quality_medians.append(stat[s]['median']) ## from dbaccessor module historic_data = db_fastqc(input["dbaccessor"]) # The table of fastqc_summary that will be used for rendering # Col 1: sample ID # Col 2: sequence length # Col 3: median of sequence quality fastqc_dist_r = JinjaTemplateCommand( template=input["template"], param={ 'historic_data': historic_data, 'current_data': quality_medians, 'ids': [underline_to_space(i) for i in param["ids"]], 'cutoff': 25, "need_smooth_curve": True, "section": "FastQC score distribution", "pdf": output["pdf"], "render_dump": output["R"] }) template_dump(fastqc_dist_r) r_exec(fastqc_dist_r)
def latex_contamination(input, output, param): """ input bowtie json files generated from mapping to different species :param input: :param output: :param param: :return: """ json_dict = json_load(input["json"]) if len(json_dict["stat"]["meta"]["species"]) < 1: section_name = "" else: section_name = "library_contamination" contam_values = json_dict["stat"]["value"] for sample in contam_values: for species in contam_values[sample]: contam_values[sample][species] = decimal_to_latex_percent(contam_values[sample][species]) library_quality_latex = JinjaTemplateCommand( name="library contamination", template=input["template"], param={"section_name": section_name, "library_contamination": json_dict["stat"], 'prefix_dataset_id': json_dict["param"]['id'], 'layout': param['layout'], "render_dump": output["latex"]}) template_dump(library_quality_latex)
def load_latex(input, output, param): json_dict = json_load(input["json"]) frip_table = [] stat = json_dict["stat"] for sample in stat: #sample is the keys in the stat dictionary frip_table.append([underline_to_space(str(sample)), stat[sample]["info_tag"], stat[sample]["total_tag"], decimal_to_latex_percent(stat[sample]["frip"])]) latex = JinjaTemplateCommand( template=input["template"], param={"frip_table": frip_table, "render_dump": output["latex"]}) template_dump(latex)
def latex_seqpos(input, output, param): json_dict = json_load(input["json"]) latex = JinjaTemplateCommand( name="motif finding", template=input["template"], param={ "motif_table": json_dict["stat"]["satisfied_motifs"][:5], ## use top 5 motif "render_dump": output["tex"] }) template_dump(latex)
def bwa_figures(input={"dbaccessor": "", "json": ""}, output = {"figure": ""}, param = {}): historyData = db_bwa(input["dbaccessor"]) json_dict = json_load(input["json"]) mappable_rates = [float(json_dict["stat"][i]["mapped"])/json_dict["stat"][i]['total'] for i in param["sample"]] mappable_rate_R = JinjaTemplateCommand(template=input["template"], param={'historic_data': historyData, 'current_data': mappable_rates, 'ids': param['sample'], 'cutoff': 0.5, 'section': 'Unique mapped rate', "need_smooth_curve": True, "render_dump": output["R"], "pdf": output["pdf"]}) template_dump(mappable_rate_R) r_exec(mappable_rate_R)
def load_latex(input, output, param): json_dict = json_load(input["json"]) fastqc_summary = [] stat = json_dict["stat"] for sample in stat: fastqc_summary.append([underline_to_space(sample), stat[sample]["sequence_length"], stat[sample]["median"]]) latex = JinjaTemplateCommand( template=input["template"], param={"section_name": "sequence_quality", "path": input["pdf"], "fastqc_table": fastqc_summary, "fastqc_graph": input["pdf"], 'prefix_dataset_id': [ underline_to_space(i) for i in stat.keys() ], "render_dump": output["latex"]}) template_dump(latex)
def load_latex(input, output, param): json_dict = json_load(input["json"]) frip_table = [] stat = json_dict["stat"] for sample in stat: #sample is the keys in the stat dictionary frip_table.append([ underline_to_space(str(sample)), stat[sample]["info_tag"], stat[sample]["total_tag"], decimal_to_latex_percent(stat[sample]["frip"]) ]) latex = JinjaTemplateCommand(template=input["template"], param={ "frip_table": frip_table, "render_dump": output["latex"] }) template_dump(latex)
def load_latex(input, output, param): json_dict = json_load(input["json"]) fastqc_summary = [] stat = json_dict["stat"] for sample in stat: fastqc_summary.append([ underline_to_space(sample), stat[sample]["sequence_length"], stat[sample]["median"] ]) latex = JinjaTemplateCommand( template=input["template"], param={ "section_name": "sequence_quality", "path": input["pdf"], "fastqc_table": fastqc_summary, "fastqc_graph": input["pdf"], 'prefix_dataset_id': [underline_to_space(i) for i in stat.keys()], "render_dump": output["latex"] }) template_dump(latex)
def latex_contamination(input, output, param): """ input bowtie json files generated from mapping to different species :param input: :param output: :param param: :return: """ json_dict = json_load(input["json"]) if len(json_dict["stat"]["meta"]["species"]) < 1: section_name = "" else: section_name = "library_contamination" contam_values = json_dict["stat"]["value"] for sample in contam_values: for species in contam_values[sample]: contam_values[sample][species] = decimal_to_latex_percent( contam_values[sample][species]) library_quality_latex = JinjaTemplateCommand(name="library contamination", template=input["template"], param={ "section_name": section_name, "library_contamination": json_dict["stat"], 'prefix_dataset_id': json_dict["param"]['id'], 'layout': param['layout'], "render_dump": output["latex"] }) template_dump(library_quality_latex)
def _stat(json_path): return json_load(json_path)["stat"]