[Code Refactor]: Orthogonalise the DNAm QC pipeline #257
Labels
DNAm
DNA methylation array
enhancement
New feature or request
important
This is important
refactor
Code refactor
Path to affected file
Type of refactor
Code understandability improvement, Code readability improvement
Description of required code refactor
Currently, the DNAm QC pipeline is very interdependent and nonorthogonal in design. A great deal of bugs that have been identified in the past year or so have been due to this problem.
Many parts of the pipeline depend on other parts successful completion. As a result, a seemingly harmless change to one section of code in the pipeline inevitably causes problems in a different, completely unrelated part of the pipeline.
Therefore it would be beneficial to properly layout what each part of the pipeline requires and what each part of the pipeline outputs/contributes. Doing this will allow us to disentangle and compartmentalise each section of the pipeline. This will have the benefit of making the pipeline easier to understand and therefore easier to contribute to in the future (without fear of breaking everything).
Steps to completion
a) If it feels like any contract is exceptionally long/complex, this implies that some abstraction or
further compartmentalisation is required.
a) Add this UML diagram (or similar) to the documentation to help users understand what the pipeline
actually does (mermaid may be useful for this). This step is given explicitly in [Documentation Fault]: Create a UML diagram explaining the steps for the DNAm QC pipeline #258 and
should be completed separately to the other steps listed
a) It may be useful to move some processing to separate files, either rmarkdown children or new R
scripts. This can help with navigation around the code base (though might be better suited to
being asked for in a further issue)
The text was updated successfully, but these errors were encountered: