A biological system should have each of a several scripts
setup.py which should be run first in order to set everything up (if it is missing, no setup is required) And then one or move ofsample_i.py: These scripts can take the following arguments:-j i: an index-n i: the total number of independent parts to divide the task in to–test: run a more limited version of the sampling to test the script-i path_to_directory: where to find the outputs of the last script (if there was one)-o path_to_directory: where to write output files-d path_to_data: where to find input data (defaults to the 'data' directory in the directory containing the scriptanalyze_i.py which, after all parts of run_i have have completed, performs analysis on the results. These scripts also take the -i, -o, and -d arguments.The scripts for a given iteration must have completed before the scripts for the next iteration may be run (although some applications will include intermediate data, allowing users to avoid running all the scripts in order).
A biological system can be marked as testable meaning that it can be run with only partial sampling by using the "--test" argument.
Also, a biological system can be marked as parallelizeable which means that, given sample_0.py, sample_1.py and analyze_0.py exist, the following will work work (from any directory):
An application can also contain an local module in a directory called "local". The module will be named "system_name_local" where "system_name" is the name of the system in question.
The names of the directories where to look for inputs and outputs can be specified for each of the script. By default, data is found in a directory called "data" in the directory containing the scripts. The output for sample_i.py is sample_i in the current directory. The input for sample_i.py for i>0 is sample_{i-1}. The input for analyze_0.py is the last sample output and the output is analyzed_0 (and accordingly for later analyze scripts).
The IMP::system module provides support for writing biological system scripts.