Open diegoenry opened 6 years ago
Ideally, we must have a check at ChemFlow_functions to see if we have the pre-computed charges @ "$CHEMFLOW_HOME/ChemBase/${CHARGE}/"
If not, check it we have the pre-computed charges within "$PROJECT.chemflow/LigFlow/${CHARGE}/" (charge = bcc or resp )
If all fails, try to compute it, normally.
Quick update. I implemente the idea in a project folder.
PROJECT="hivpr"
PROTOCOL="bcc"
CHARGE="bcc"
WORKDIR=~/ChemFlow_paper/Benchmark_meso/
RUNDIR=~/ChemFlow_paper/Benchmark_meso/hivpr.chemflow/ScoreFlow/bcc/receptor/
LIGAND_LIST="CHEMBL158050"
for LIGAND in ${LIGAND_LIST} ; do
FILENAME=${WORKDIR}/${PROJECT}.chemflow/LigFlow/${CHARGE}/${LIGAND}.mol2
if [ -f ${FILENAME} ] ; then
awk '/1 MOL/&&!/TEMP/ {print $9}' ${FILENAME} > charges.dat
antechamber -i ligand_gas.mol2 -o ligand_bcc.mol2 -fi mol2 -fo mol2 -cf charges.dat -c rc -pf yes &> /dev/null
fi
done
What about when the charge option is rest ? what is the procedure ?
Done. @diegoenry you might want to test and then you can close this issue :)
LigFlow/ScoreFlow should first search for a compound in ChemBase for parameters instead of recomputing all over again.
This is especially important for am1-bcc and even more for RESP which take a lot of time.
Another highlight here if to prevent recomputing the same parameters for the SAME molecule, in case a user wants to MMGBSA rescore multiple docking conformations.