Closed Le-Phung-Hien closed 1 year ago
The original score is actually the score provided by the original docking software, Gnina.
The code fails to extract the Gnina scoring from the docking poses.
Best, Liangzhen
On Tue, Jun 20, 2023 at 12:53 PM Le-Phung-Hien @.***> wrote:
Hi team,
I trying to analyse this receptor receptor.pdbqt.txt https://github.com/zhenglz/OnionNet-SFCT/files/11796006/receptor.pdbqt.txt with this ligand ligand.pdbqt.txt https://github.com/zhenglz/OnionNet-SFCT/files/11796008/ligand.pdbqt.txt, which are docking results from gnina.
The score file show no origin_score scores3.dat.txt https://github.com/zhenglz/OnionNet-SFCT/files/11796014/scores3.dat.txt.
What could be the problem?
— Reply to this email directly, view it on GitHub https://github.com/zhenglz/OnionNet-SFCT/issues/9, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACN36YVXMPGZ5ICMBBYEIJTXMEUEDANCNFSM6AAAAAAZMWXYD4 . You are receiving this because you are subscribed to this thread.Message ID: @.***>
In the docking results ligand pdbqt file, the following scores are the so-called "original scores":
REMARK minimizedAffinity -8.30071735 REMARK minimizedAffinity -8.71401405 ... REMARK minimizedAffinity -7.35750961
To extract the gnina scores, you may use "gnina_cnn" or "gnina_energy" flag instead of "gnina"
See the following code in "scorer.py" (used the old gnina output format):
elif pose_scores_type == "gnina_cnn":
scores = [-1. * float(x.split()[-4][:-6]) for x in lines if "REMARK minimizedAffinity" in x]
# names = [x.split()[-1].strip("\n") for x in lines if "REMARK Name =" in x]
elif pose_scores_type == "gnina_energy":
scores = [-1. * float(x.split()[2][:-6]) for x in lines if "REMARK minimizedAffinity" in x]
To suit your case, please modify the code as the following:
elif pose_scores_type == "gnina_cnn":
# gnina predicted pkx, affinity in logrithm
scores = [-1. * float(x.split()[2]) for x in lines if "REMARK CNNaffinity " in x]
elif pose_scores_type == "gnina_energy":
scores = [float((x.split()[2]) for x in lines if "REMARK minimizedAffinity" in x]
Thank you very much, Liangzhen.
Can I also ask what for gnina, what pose_scores_type is better to use with sfct, CNNaffinity or minimizedAffinity? Also have you try different weight other than 0.5?
Best,
Hien
You're welcome!
CNNaffinity I think would be better.
Higher weight for sfct is preferable for virtual screening, say weight=0.8.
Le-Phung-Hien @.***>于2023年6月21日 周三上午7:16写道:
Thank you very much, Liangzhen.
Can I also ask what for gnina, what pose_scores_type is better to use with sfct, CNNaffinity or minimizedAffinity? Also have you try different weight other than 0.5?
Best,
Hien
— Reply to this email directly, view it on GitHub https://github.com/zhenglz/OnionNet-SFCT/issues/9#issuecomment-1599710292, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACN36YTKMC47PN7WR54EPSLXMIVLLANCNFSM6AAAAAAZMWXYD4 . You are receiving this because you commented.Message ID: @.***>
Hi team,
I trying to analyse this receptor receptor.pdbqt.txt with this ligand ligand.pdbqt.txt, which are docking results from gnina.
The command I run is
python scorer.py -r receptor.pdbqt -l ligand.pdbqt -o score.dat --model sfct_std_model.rf --stype gnina
The score file show no origin_score scores3.dat.txt.
What could be the problem?
Another question: for gnina, what is the most suitable score to use with sfct (minimized Affinity, CNNscore, or CNNaffinity)? Thanks!