{
  "wgbs.bscaller": {
    "bcf": {
      "node": "[shape=box style=\"filled, rounded\" fillcolor=lightyellow label=\"Call BCF\"]",
      "path": "bscaller/rep${i+1}/${basename}",
      "subgraph": "cluster_rep${i+1}",
      "table": "Calls/Replicate ${i+1}/Methylation and Variant Calls"
    }
  },
  "wgbs.extract": {
    "chg_bb": {
      "node": "[shape=box style=\"filled, rounded\" fillcolor=lightyellow label=\"CHG bigBed\"]",
      "path": "extract/rep${i+1}/${basename}",
      "subgraph": "cluster_rep${i+1}",
      "table": "Methylation Extraction/Replicate ${i+1}/CHG bigBed",
      "ucsc_track": "track type=bigBed name=\"CHG bigBed\" priority=100 color=0,0,255 visibility=dense"
    },
    "chg_bed": {
      "node": "[shape=box style=\"filled, rounded\" fillcolor=lightyellow label=\"CHG bed\"]",
      "path": "extract/rep${i+1}/${basename}",
      "subgraph": "cluster_rep${i+1}",
      "table": "Methylation Extraction/Replicate ${i+1}/CHG bed"
    },
    "chh_bb": {
      "node": "[shape=box style=\"filled, rounded\" fillcolor=lightyellow label=\"CHH bigBed\"]",
      "path": "extract/rep${i+1}/${basename}",
      "subgraph": "cluster_rep${i+1}",
      "table": "Methylation Extraction/Replicate ${i+1}/CHH bigBed",
      "ucsc_track": "track type=bigBed name=\"CHH bigBed\" priority=100 color=0,0,255 visibility=dense"
    },
    "chh_bed": {
      "node": "[shape=box style=\"filled, rounded\" fillcolor=lightyellow label=\"CHH bed\"]",
      "path": "extract/rep${i+1}/${basename}",
      "subgraph": "cluster_rep${i+1}",
      "table": "Methylation Extraction/Replicate ${i+1}/CHH bed"
    },
    "cpg_bb": {
      "node": "[shape=box style=\"filled, rounded\" fillcolor=lightyellow label=\"CpG bigBed\"]",
      "path": "extract/rep${i+1}/${basename}",
      "subgraph": "cluster_rep${i+1}",
      "table": "Methylation Extraction/Replicate ${i+1}/CpG bigBed",
      "ucsc_track": "track type=bigBed name=\"CpG bigBed\" priority=100 color=0,0,255 visibility=dense"
    },
    "cpg_bed": {
      "node": "[shape=box style=\"filled, rounded\" fillcolor=lightyellow label=\"CpG bed\"]",
      "path": "extract/rep${i+1}/${basename}",
      "subgraph": "cluster_rep${i+1}",
      "table": "Methylation Extraction/Replicate ${i+1}/CpG bed"
    },
    "cpg_txt": {
      "node": "[shape=box style=\"filled, rounded\" fillcolor=lightyellow label=\"CpG gemBS-style bed\"]",
      "path": "extract/rep${i+1}/${basename}",
      "subgraph": "cluster_rep${i+1}",
      "table": "Methylation Extraction/Replicate ${i+1}/CpG gemBS-style bed"
    },
    "minus_strand_bw": {
      "node": "[shape=box style=\"filled, rounded\" fillcolor=lightyellow label=\"Minus strand signal bigWig\"]",
      "path": "extract/rep${i+1}/${basename}",
      "subgraph": "cluster_rep${i+1}",
      "table": "Methylation Extraction/Replicate ${i+1}/Minus strand signal bigWig",
      "ucsc_track": "track type=bigWig name=\"Minus strand signal bigWig (rep${i+1})\" priority=${i+1} smoothingWindow=off maxHeightPixels=80:60:40 color=255,0,0 autoScale=off viewLimits=0:40 visibility=dense"
    },
    "non_cpg_txt": {
      "node": "[shape=box style=\"filled, rounded\" fillcolor=lightyellow label=\"non-CpG gemBS-style bed)\"]",
      "path": "extract/rep${i+1}/${basename}",
      "subgraph": "cluster_rep${i+1}",
      "table": "Methylation Extraction/Replicate ${i+1}/non-CpG gemBS-style bed"
    },
    "plus_strand_bw": {
      "node": "[shape=box style=\"filled, rounded\" fillcolor=lightyellow label=\"Plus strand signal bigWig\"]",
      "path": "extract/rep${i+1}/${basename}",
      "subgraph": "cluster_rep${i+1}",
      "table": "Methylation Extraction/Replicate ${i+1}/Plus strand signal bigWig",
      "ucsc_track": "track type=bigWig name=\"Plus strand signal bigWig (rep${i+1})\" priority=${i+1} smoothingWindow=off maxHeightPixels=80:60:40 color=255,0,0 autoScale=off viewLimits=0:40 visibility=dense"
    }
  },
  "wgbs.make_conf": {
    "gembs_conf": {
      "node": "[shape=box style=\"filled, rounded\" fillcolor=lightyellow label=\"gemBS config\"]",
      "path": "configuration/${basename}",
      "table": "Configuration/gemBS configuration"
    }
  },
  "wgbs.make_coverage_bigwig": {
    "coverage_bigwig": {
      "node": "[shape=box style=\"filled, rounded\" fillcolor=lightyellow label=\"CpG Coverage bigWig\"]",
      "path": "coverage/rep${i+1}/${basename}",
      "table": "Coverage/Replicate ${i+1}/CpG Coverage bigWig",
      "ucsc_track": "track type=bigWig name=\"CpG Coverage bigWig (rep${i+1})\" priority=${i+1} smoothingWindow=off maxHeightPixels=80:60:40 color=255,0,0 autoScale=off viewLimits=0:40 visibility=dense"
    }
  },
  "wgbs.make_metadata_csv": {
    "metadata_csv": {
      "node": "[shape=box style=\"filled, rounded\" fillcolor=lightyellow label=\"gemBS metadata\"]",
      "path": "configuration/${basename}",
      "table": "Configuration/gemBS metadata"
    }
  },
  "wgbs.map": {
    "bam": {
      "node": "[shape=box style=\"filled, rounded\" fillcolor=lightyellow label=\"BAM\"]",
      "path": "map/rep${i+1}/${basename}",
      "subgraph": "cluster_rep${i+1}",
      "table": "Alignment/Replicate ${i+1}/BAM alignments"
    },
    "csi": {
      "path": "map/rep${i+1}/${basename}",
      "table": "Alignment/Replicate ${i+1}/BAM CSI Index"
    }
  },
  "wgbs.qc_report": {
    "map_html_assets": {
      "path": "qc/rep${i+1}/map_html_assets/${basename}",
      "table": "QC and Logs/Replicate ${i+1}/Map QC HTML"
    },
    "map_qc_insert_size_plot_png": {
      "node": "[shape=box style=\"filled, rounded\" fillcolor=lightyellow label=\"Insert Size Plot\"]",
      "path": "qc/rep${i+1}/${basename}",
      "subgraph": "cluster_rep${i+1}",
      "table": "QC and Logs/Replicate ${i+1}/Insert Size Plot"
    },
    "map_qc_mapq_plot_png": {
      "node": "[shape=box style=\"filled, rounded\" fillcolor=lightyellow label=\"MAPQ Plot\"]",
      "path": "qc/rep${i+1}/${basename}",
      "subgraph": "cluster_rep${i+1}",
      "table": "QC and Logs/Replicate ${i+1}/MAPQ Plot"
    },
    "portal_map_qc_json": {
      "node": "[shape=box style=\"filled, rounded\" fillcolor=lightyellow label=\"Map QC JSON\"]",
      "path": "qc/rep${i+1}/${basename}",
      "subgraph": "cluster_rep${i+1}",
      "table": "QC and Logs/Replicate ${i+1}/Map QC JSON"
    }
  }
}
