-
Notifications
You must be signed in to change notification settings - Fork 25
Description
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
beforealgorithm if it specifies aWeight. (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_outputsnor 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.