def _organize_qc_files(program, qc_dir):
    """Organize outputs from quality control runs into a base file and secondary outputs.

    Provides compatibility with CWL output. Returns None if no files created during processing.
    """
    base_files = {"fastqc": "fastqc_report.html",
                  "qualimap_rnaseq": "qualimapReport.html",
                  "qualimap": "qualimapReport.html"}
    if os.path.exists(qc_dir):
        out_files = []
        for fname in [os.path.join(qc_dir, x) for x in os.listdir(qc_dir)]:
            if os.path.isfile(fname) and not fname.endswith(".bcbiotmp"):
                out_files.append(fname)
            elif os.path.isdir(fname) and not fname.endswith("tx"):
                for root, dirs, files in os.walk(fname):
                    for f in files:
                        if not f.endswith(".bcbiotmp"):
                            out_files.append(os.path.join(root, f))
        if len(out_files) > 0 and all([not f.endswith("-failed.log") for f in out_files]):
            if len(out_files) == 1:
                base = out_files[0]
                secondary = []
            else:
                base = None
                if program in base_files:
                    base_choices = [x for x in out_files if x.endswith("/%s" % base_files[program])]
                    if len(base_choices) == 1:
                        base = base_choices[0]
                if not base:
                    base = out_files[0]
                secondary = [x for x in out_files if x != base]
            return {"base": base, "secondary": secondary}
def _organize_qc_files ( program , qc_dir ) : base_files = { "fastqc" : "fastqc_report.html" , "qualimap_rnaseq" : "qualimapReport.html" , "qualimap" : "qualimapReport.html" } if os . path . exists ( qc_dir ) : out_files = [ ] for fname in [ os . path . join ( qc_dir , x ) for x in os . listdir ( qc_dir ) ] : if os . path . isfile ( fname ) and not fname . endswith ( ".bcbiotmp" ) : out_files . append ( fname ) elif os . path . isdir ( fname ) and not fname . endswith ( "tx" ) : for root , dirs , files in os . walk ( fname ) : for f in files : if not f . endswith ( ".bcbiotmp" ) : out_files . append ( os . path . join ( root , f ) ) if len ( out_files ) > 0 and all ( [ not f . endswith ( "-failed.log" ) for f in out_files ] ) : if len ( out_files ) == 1 : base = out_files [ 0 ] secondary = [ ] else : base = None if program in base_files : base_choices = [ x for x in out_files if x . endswith ( "/%s" % base_files [ program ] ) ] if len ( base_choices ) == 1 : base = base_choices [ 0 ] if not base : base = out_files [ 0 ] secondary = [ x for x in out_files if x != base ] return { "base" : base , "secondary" : secondary }
Organize outputs from quality control runs into a base file and secondary outputs.

    Provides compatibility with CWL output. Returns None if no files created during processing.