MXP has to decide what scripts should be used to obtain a target. In Makefile, simple names of scripts are given. First, MXP adds extensions to script names: .params.sh
for parameter scripts and .sh
for method scripts.
Then MXP searches PATH (using Bash type -P
command) for the required scripts. MXP extends PATH by adding all subdirectories of mxp
directory of analysis pipeline to the front of PATH, then all subdirectories of the parent pipeline, then of its parent, etc. Thus, if a script with the same name is present in both analysis pipeline and in its parent pipeline, the script of analysis pipeline will be taken.
This allows easily override scripts from any parent, even if the directory of parent pipeline is read-only for the current user. This is very important feature, as it is allows easily customize a pipeline by overriding only those pieces of code that should be changed.