Skip to content

Comprehensive Refactoring Plan for artMS R Package Modernization #199

@biodavidjm

Description

@biodavidjm

This R package provides proteomics data analysis workflows with four core functional modules:

  • Quality control (QC) functions for proteomics data
  • Relative quantification using MSstats integration
  • Downstream statistical analysis (enrichment, clustering, PCA, visualization)
  • Export utilities for external tools (SAINTq, SAINTexpress, Photon, Phosfate)

Refactoring Objectives:

Provide a detailed, prioritized refactoring plan addressing:

Code Modernization:

  • Update to modern R practices (tidyverse compatibility, pipe operators, tidy evaluation)
  • Replace deprecated functions and dependencies
  • Implement consistent coding style (tidyverse style guide)
  • Add type checking and input validation

Package Structure:

  • Reorganize functions into logical modules matching the four core areas
  • Identify and eliminate code duplication
  • Separate plotting/visualization into dedicated functions
  • Modularize export functions for each external tool

Dependencies:

  • Audit current dependencies for relevance and maintenance status
  • Update MSstats integration to latest API
  • Minimize dependency footprint where possible
  • Document version requirements

Testing & Documentation:

  • Add unit tests (testthat) for each functional module
  • Create example datasets for testing
  • Write comprehensive vignettes for each workflow
  • Improve function documentation (roxygen2)
  • Add lifecycle badges for function maturity

Performance:

  • Identify computational bottlenecks
  • Implement parallel processing where appropriate
  • Optimize memory usage for large datasets

User Experience:

  • Standardize function naming conventions
  • Improve error messages and warnings
  • Add progress indicators for long-running operations
  • Create consistent return object structures

Backwards Compatibility:

  • Strategy for deprecated function migration
  • Version migration guide for existing users

Deliverable Format:

  • Pased implementation plan (Phase 1: critical updates, Phase 2: enhancements, Phase 3: new features)
  • Specific file structure recommendations
  • Priority ranking for each task
  • Estimated effort/complexity for major refactoring tasks
  • Breaking changes documentation strategy

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions