Implementing Standard Interface to Data Harvesting in CCP4I
This is what you need to do to get a Data Harvest folder in a task interface
and to get the parameters into the program script.
This protocol will correctly interface with the Data Harvesting options
in the programs.
where mtzin is the name of the array parameter which contains the name
of the input MTZ file.
In taskname_run_window:
In the call to CreateTaskWindow add the folder nameData
Harvesting as the first folder so it will appear immediately after
the Files folder.
Immediately after the CreateTaskWindow call add the line:
SetHarvestParams $arrayname mtzin -init
where mtzin is the name of the array parameter which contains the name
of the input MTZ file.
Append a command to the CreateInputFileLine for the input MTZ:
-command "UpdateHarvestMTZ $arrayname mtzin"
Before the current line 'Openfolder 1' add:
OpenFolder 1
CreateHarvestLine line
Renumber the folders in the subsequent calls to all OpenFolder to
allow for the insertion of a new folder.
In scripts/taskname.script
At the top if the script add:
# Source pdb_utils for harvest handling & move to project directory
# if we are going to dump harvest file to current directory
source [FileJoin [GetEnvPath CCP4I_top] utils pdb_utils.tcl ]
if { [StringSame $HARVEST_MODE PROJECT ] }
{ ChangeDirectory $job_params(PROJECT_DIR) }