I recently completed a course in which students built Nextflow pipelines from scratch, and there was a strong emphasis on reproducibility. While preparing for the class, I looked into the ENCODE pipelines and their DAGs to see how similar problems are addressed there. From what I can tell, ENCODE pipelines are largely assembled using shell scripts, with dependencies defined explicitly rather than through a workflow DSL. Since shell-based steps can be wrapped within Nextflow or Snakemake, I am curious about the motivation for this design.
In particular, I would like to understand the intended use cases for running ENCODE pipelines as provided rather than reimplementing or wrapping them in a workflow manager, and whether these choices are driven by historical reasons, infrastructure constraints, or ENCODE-specific requirements such as standardization and large-scale production. More generally, how does ENCODE handle reproducibility and portability, and how does this compare to modern workflow systems?
pipelines
encode
nextflow
snakemake
where?
this is the ENCODE ATAC-Seq WDL pipeline and it has 440 stars and 171 forks!
https://github.com/ENCODE-DCC/atac-seq-pipeline
Probably nextflow ENCODE workflows e.g. https://github.com/nextflow-io/rnaseq-encode-nf
when people shoot from the hip their questions have no premise in reality
I was not familiar with that. Thanks for sharing.
The ATAC-seq pipeline was the one I was looking at.