-
Notifications
You must be signed in to change notification settings - Fork 4
Adding a new docking program
Make sure to read this before the implementation.
To implement a new scoring function to DockFlow, go inside $CHEMFLOW_HOME/DockFlow
, and please proceed as follow :
- In DockFlow
Search for the "# Run docking" comment. Under the "# insert other scoring functions here" line, add this :
elif $(list_include_item "SCORING_FUNCTION_NAME" "${scoring_function}"); then
# Run SCORING_FUNCTION_NAME with the options
time run_SCORING_FUNCTION_NAME
# Concatenate final results, serial instead of parallel
cat ${run_folder}/docking/ranking/*.csv >> ${run_folder}/docking/ranking.csv
rm -rf ${run_folder}/docking/ranking/
and replace SCORING_FUNCTION_NAME with the name of your scoring function.
- In DockFlow_interface.bash
- In the function usage(), at the line
-sf/--function
, add the name you used in the previous step (SCORING_FUNCTION_NAME). - In the function check_input(), under :
- In the function usage(), at the line
if $(list_include_item "chemplp plp plp95" "${scoring_function}"); then
docking_program="plants"
Add the following lines :
elif $(list_include_item "SCORING_FUNCTION_NAME" "${scoring_function}"); then
docking_program="DOCKING_PROGRAM_NAME"
if [ -z "${DOCKING_PROGRAM_NAME_exec}" ] && [ ! "${run_mode}" = "mazinger" ] ; then error "the location of DOCKING_PROGRAM_NAME's executable" ; fi
where DOCKING_PROGRAM_NAME is the name of the software used to run the docking.
Additionally, after the ## Running mode
comment towards the end of the file, after :
if [ "${docking_program}" = "plants" ]; then
module load plants/1.2
plants_exec=$(which plants)
add these lines if the docking software is installed on mazinger :
elif [ "${docking_program}" = "DOCKING_PROGRAM_NAME" ]; then
module load DOCKING_PROGRAM_NAME
DOCKING_PROGRAM_NAME_exec=$(which DOCKING_PROGRAM_NAME)
- In DockFlow_functions.bash
Copy and paste all the block under the # PLANTS
comment, and modify the functions and variables names accordingly. Only the write_plants_config
and reorganize_plants
functions should be completely different from the original.
- In $CHEMFLOW_HOME/ChemFlow.config
Add the path to the docking software executable : DOCKING_PROGRAM_NAME_exec
- In $CHEMFLOW_HOME/install.sh
Same as previously.