Currently, we can parse a network and check if it is correct, but we can't really handle anything more. We should be able to detect at least some basic stuff:
find outputs (and remove them)
find inputs (and convert them to parameters)
check if we satisfy the monotonicity constraints (this can be done by constructing the async graph, but that is tedious and error prone, a better method is needed)
check for unused parameters and variables
check for missing/invalid metadata and similar stuff
some more advanced stuff - flattening chains, inferring monotonicity from function, some structural analysis (SCCs of the regulatory graph, positive/negative feedback loops, etc.), look at cell collective.
This is potentially related to #4, because we might need some "warning highlighting", but that is a minor thing. However, we should have some universal mechanism for reporting errors and warnings and relating them to parts of the submitted string format (maybe have a look at language servers?).
Currently, we can parse a network and check if it is correct, but we can't really handle anything more. We should be able to detect at least some basic stuff:
This is potentially related to #4, because we might need some "warning highlighting", but that is a minor thing. However, we should have some universal mechanism for reporting errors and warnings and relating them to parts of the submitted string format (maybe have a look at language servers?).