Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add wrapper classes that allows for easier modification of DAG files (study/assembly) #126

Open
holtgrewe opened this issue Jan 15, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@holtgrewe
Copy link
Member

holtgrewe commented Jan 15, 2024

Is your feature request related to a problem? Please describe.
After completing #122 and #125 it will be easier to keep ISA objects around and modify investigations. However, these issues do not help with manipulating study and assay TAB files.

Describe the solution you'd like
We need similar wrappers that allow for easier querying and manipulation. We will need to be able to:

  • lookup columns in studies/assays
    • lookup by column name can/will lead to duplicates, so we need some sort of cursor
      • most simple: numeric index (then changes must be applied rightmost-to-leftmost)
      • almost as simple: unique column index assigned when reading from tabs (more stable but cannot be used after serialization/deserialization)
    • lookup results must contain a pointer/cursor to the annotated Material or Process column
  • lookup column values in studies/assays
    • in contrast to the point above, this allows to identify Material/Process or annotating (Characteristics, Parameter, Factor, Comment, ...) nodes
    • the result pointers must contain a pointer/cursor to the annotated node and the column they belong to
    • the "pointers" can or even should be unique node identifiers
  • create new columns in studies/assays
    • adding characteristics, comments and parameters can be done on the study/assay data structure only
    • factors must be registered in the StudyInfo
    • base Material and Process objects must be specified
    • by default, appended for given Material and Process, but index can be given
  • remove columns in studies/assays

Note that OntologyTermRef fields correspond to three columns in the TAB and nothing can come in between in the DAG model (which is good).

The above sketches/hints at the interface that we need. Below are some remarks towards an implementation:

  • prepare operations by collecting args, and structures to replace them
  • take good care to proper handling of splitting/merging structures
  • ...

Note that writing this issue is still work in progress.

Describe alternatives you've considered
N/A

Additional context

@holtgrewe holtgrewe added the enhancement New feature or request label Jan 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant