flowchart TB
    subgraph " "
    v0["samples.in.csv"]
    v5["Channel.fromPath"]
    v8["libStructDir"]
    v9["libStructJson"]
    v28["libStructDir"]
    v29["libStructJson"]
    v44["gtf"]
    v46["indexDir"]
    v47["indexName"]
    v66["qcParams"]
    v73["libJson"]
    v80["libJson"]
    end
    v1([regularizeSamplesCsv])
    subgraph " "
    v4[" "]
    v27[" "]
    v31[" "]
    v32[" "]
    v38[" "]
    v43[" "]
    v49[" "]
    v50[" "]
    v52["fragments"]
    v68[" "]
    v75[" "]
    v76[" "]
    v82[" "]
    end
    subgraph inputReads
    v10([makeBclConvertSamplesheet])
    v11([bclconvert])
    v16([trimFq])
    v30([barcodeDemux])
    v37([fastqc])
    v42([multiqc])
    v7(( ))
    v33(( ))
    v39(( ))
    end
    v45([makeTssRegions])
    subgraph scATAC
    v48([align])
    v51([dedup])
    v53([tagSites])
    v54([callPeaks])
    v56([countPeaks])
    v57([countTss])
    v55(( ))
    end
    subgraph atacReport
    v67([cellFilter])
    v74([sampleReport])
    v81([libraryReport])
    end
    v2(( ))
    v0 --> v1
    v1 --> v10
    v1 --> v30
    v1 --> v74
    v1 --> v81
    v1 --> v2
    v2 --> v4
    v5 --> v2
    v8 --> v10
    v9 --> v10
    v7 --> v10
    v10 --> v11
    v11 --> v2
    v11 --> v39
    v2 --> v16
    v16 --> v2
    v16 --> v39
    v2 --> v27
    v28 --> v30
    v29 --> v30
    v2 --> v30
    v30 --> v32
    v30 --> v31
    v30 --> v2
    v30 --> v33
    v33 --> v37
    v37 --> v38
    v37 --> v39
    v39 --> v42
    v42 --> v43
    v44 --> v45
    v45 --> v57
    v46 --> v48
    v47 --> v48
    v33 --> v48
    v48 --> v51
    v48 --> v50
    v48 --> v49
    v51 --> v53
    v51 --> v52
    v51 --> v2
    v53 --> v54
    v53 --> v57
    v53 --> v55
    v54 --> v55
    v55 --> v56
    v56 --> v2
    v57 --> v2
    v66 --> v67
    v2 --> v67
    v67 --> v68
    v67 --> v2
    v73 --> v74
    v2 --> v74
    v74 --> v76
    v74 --> v75
    v80 --> v81
    v2 --> v81
    v81 --> v82