flowcraft/templates/fastqc_report.py
def write_json_report(sample_id, data1, data2):
    """Writes the report

    Parameters
    ----------
    data1
    data2

    Returns
    -------

    """

    parser_map = {
        "base_sequence_quality": ">>Per base sequence quality",
        "sequence_quality": ">>Per sequence quality scores",
        "base_gc_content": ">>Per sequence GC content",
        "base_n_content": ">>Per base N content",
        "sequence_length_dist": ">>Sequence Length Distribution",
        "per_base_sequence_content": ">>Per base sequence content"
    }

    json_dic = {
        "plotData": [{
            "sample": sample_id,
            "data": {
                "base_sequence_quality": {"status": None, "data": []},
                "sequence_quality": {"status": None, "data": []},
                "base_gc_content": {"status": None, "data": []},
                "base_n_content": {"status": None, "data": []},
                "sequence_length_dist": {"status": None, "data": []},
                "per_base_sequence_content": {"status": None, "data": []}
            }
        }]
    }

    for cat, start_str in parser_map.items():

        if cat == "per_base_sequence_content":
            fs = 1
            fe = 5
        else:
            fs = 1
            fe = 2

        report1, status1 = _get_quality_stats(data1, start_str,
                                              field_start=fs, field_end=fe)
        report2, status2 = _get_quality_stats(data2, start_str,
                                              field_start=fs, field_end=fe)

        status = None
        for i in ["fail", "warn", "pass"]:
            if i in [status1, status2]:
                status = i

        json_dic["plotData"][0]["data"][cat]["data"] = [report1, report2]
        json_dic["plotData"][0]["data"][cat]["status"] = status

    return json_dic
def write_json_report(sample_id, data1, data2):
    """Writes the report

    Parameters
    ----------
    data1
    data2

    Returns
    -------

    """

    parser_map = {
        "base_sequence_quality": ">>Per base sequence quality",
        "sequence_quality": ">>Per sequence quality scores",
        "base_gc_content": ">>Per sequence GC content",
        "base_n_content": ">>Per base N content",
        "sequence_length_dist": ">>Sequence Length Distribution",
        "per_base_sequence_content": ">>Per base sequence content"
    }

    json_dic = {
        "plotData": [{
            "sample": sample_id,
            "data": {
                "base_sequence_quality": {"status": None, "data": []},
                "sequence_quality": {"status": None, "data": []},
                "base_gc_content": {"status": None, "data": []},
                "base_n_content": {"status": None, "data": []},
                "sequence_length_dist": {"status": None, "data": []},
                "per_base_sequence_content": {"status": None, "data": []}
            }
        }]
    }

    for cat, start_str in parser_map.items():

        if cat == "per_base_sequence_content":
            fs = 1
            fe = 5
        else:
            fs = 1
            fe = 2

        report1, status1 = _get_quality_stats(data1, start_str,
                                              field_start=fs, field_end=fe)
        report2, status2 = _get_quality_stats(data2, start_str,
                                              field_start=fs, field_end=fe)

        status = None
        for i in ["fail", "warn", "pass"]:
            if i in [status1, status2]:
                status = i

        json_dic["plotData"][0]["data"][cat]["data"] = [report1, report2]
        json_dic["plotData"][0]["data"][cat]["status"] = status

    return json_dic
def write_json_report ( sample_id , data1 , data2 ) : parser_map = { "base_sequence_quality" : ">>Per base sequence quality" , "sequence_quality" : ">>Per sequence quality scores" , "base_gc_content" : ">>Per sequence GC content" , "base_n_content" : ">>Per base N content" , "sequence_length_dist" : ">>Sequence Length Distribution" , "per_base_sequence_content" : ">>Per base sequence content" } json_dic = { "plotData" : [ { "sample" : sample_id , "data" : { "base_sequence_quality" : { "status" : None , "data" : [ ] } , "sequence_quality" : { "status" : None , "data" : [ ] } , "base_gc_content" : { "status" : None , "data" : [ ] } , "base_n_content" : { "status" : None , "data" : [ ] } , "sequence_length_dist" : { "status" : None , "data" : [ ] } , "per_base_sequence_content" : { "status" : None , "data" : [ ] } } } ] } for cat , start_str in parser_map . items ( ) : if cat == "per_base_sequence_content" : fs = 1 fe = 5 else : fs = 1 fe = 2 report1 , status1 = _get_quality_stats ( data1 , start_str , field_start = fs , field_end = fe ) report2 , status2 = _get_quality_stats ( data2 , start_str , field_start = fs , field_end = fe ) status = None for i in [ "fail" , "warn" , "pass" ] : if i in [ status1 , status2 ] : status = i json_dic [ "plotData" ] [ 0 ] [ "data" ] [ cat ] [ "data" ] = [ report1 , report2 ] json_dic [ "plotData" ] [ 0 ] [ "data" ] [ cat ] [ "status" ] = status return json_dic
Writes the report

    Parameters
    ----------
    data1
    data2

    Returns
    -------
Writes the report