Repository navigation
225 add a page to begin documenting standards for pipelines shared externally - #238
arielleleon wants to merge 8 commits into
Conversation
…ous topics; add topic pages.
alejoe91
left a comment
There was a problem hiding this comment.
Thanks @arielleleon
Added some comments as talking points
| @@ -0,0 +1 @@ | |||
| # Package management for pipelines No newline at end of file | |||
There was a problem hiding this comment.
Is this about how the pipeline GH repo should be organized? Naming conventions etc.?
I think it's a good place to start, but I would rename to: Repository organization and conventions
|
|
||
| ## Processing pipeline development | ||
|
|
||
| Pipelines are a standardized series of processing steps that take raw data from a single modality and typically produce an NWB file as output. Pipelines are organized in a Nextflow pipeline with individual Code Ocean capsules performing internal steps. Platforms should use established pipelines for processing. |
There was a problem hiding this comment.
| Pipelines are a standardized series of processing steps that take raw data from a single modality and typically produce an NWB file as output. Pipelines are organized in a Nextflow pipeline with individual Code Ocean capsules performing internal steps. Platforms should use established pipelines for processing. | |
| Pipelines are a standardized series of processing steps that take raw data from a single modality and typically produce an NWB file as output. Pipelines are organized in a Nextflow pipeline with individual processes implemented as separate GitHub repositories performing internal steps. Platforms should use established pipelines for processing. |
| ```{toctree} | ||
|
|
||
| pipeline_package_management.md | ||
| version_pipelines.md |
There was a problem hiding this comment.
| version_pipelines.md | |
| packaging_and_versioning.md |
I would merge the concept of version and branch management: I started implementing something for the ephys pipeline here, open for discussion: AllenNeuralDynamics/aind-ephys-pipeline#138
There was a problem hiding this comment.
I understand now that pipeline_package_management is probably referring to container images etc. I think all of these concepts can be explained here.
| aind_processing_pipelines.md | ||
| pipeline_and_process_testing.md | ||
| pipeline_parameters.md | ||
| pipeline_branch_management.md |
There was a problem hiding this comment.
| aind_processing_pipelines.md | |
| pipeline_and_process_testing.md | |
| pipeline_parameters.md | |
| pipeline_branch_management.md | |
| pipeline_parameters.md | |
| pipeline_testing.md | |
| aind_processing_pipelines.md |
Just reordering in my personal favorite order of importance
| pipeline_branch_management.md | ||
| ``` | ||
|
|
||
| ## Process standards (processes are wrappers around processing libraries) |
There was a problem hiding this comment.
| ## Process standards (processes are wrappers around processing libraries) | |
| ## Process standards |
IMO the standard is that each process should correspond to a specific processing step, implemented as an individual GH repo with a main entry point (./run + run_capsulepy/main.py), potentially accepting JSON strings as parameters.
The pipeline has a clear map to repos and commits/versions for each step (as in https://github.com/AllenNeuralDynamics/aind-ephys-pipeline/blob/dev/pipeline/capsule_versions.env)
| ## Process standards (processes are wrappers around processing libraries) | ||
| ... | ||
|
|
||
| ## Nextflow version (UI will no longer be compatible) |
There was a problem hiding this comment.
| ## Nextflow version (UI will no longer be compatible) | |
| ## Nextflow version |
Here let's pin some concepts:
- Use DSL2 and worflows
- Accept a
--params_fileargument - Other shared design choices (e.g., have a process for
validate_parameters/save_provenance...etc, these can be reaused across pipelines)
Modified
platform_support.mdto edit "Platform requirements", add a "Data flow pipeline" blurb, and edit "Logging". Left everything else the same but we may want to edit some of the processing pipeline documentation to reference pipeline standards documentation.processing_pipeline_standardsis a new heading under "Policies and practices". It contains a sub-contents for:platform_support.md)I left a couple headings within "Policies and practices" in case they do not deserve a full page
Closes #225
📚 Documentation preview 📚: https://scicomp-docs--238.org.readthedocs.build/en/238/