Skip to content

[config] before #298

@tristan-f-r

Description

@tristan-f-r

This is an approach to a generalized implementation of #274. As intended by #261 for thresholding, we introduce the concept of a spras key which holds spras-specific parameters. Specifically, we want to include before.

- name: meo # as established in the discussion below, this is a bad example. See D'or for better motivation.
  params:
    include: true
    run1:
      include: true
- name: pathlinker
  params:
    include: true
    run1:
      spras:
        before:
          meo: [run1]

Essentially, algorithms can now specify algorithms that they want to run before the current algorithm, for pre-processing of the passed in interactome. However, as it stands, all PRAs only return a ranked interactome.

Thus, to resolve this issue, we rework parse_outputs to allow specifying Weight instead of Rank (but algorithms need to specify one or the other). This has a few benefits:

  • We can detect if an algorithm supports being a before algorithm if it specifies a Weight. (Though, this information should be typed: perhaps we may want to create newtypes around these different outputs?)
  • We don't need to do any kind of extra work on the other parse_outputs nor declare algorithms as some special 'preprocessing' algorithms.

This allows us to support orienters, interactome pruners, and even re-weighers as a general suite of preprocessing for PRAs.

This can also be used with lighter preprocessing functions, as suggested in #139.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions