diff --git a/src/docking/search_nci.f90 b/src/docking/search_nci.f90 index 0bc1a81c6..7d79fd2c6 100644 --- a/src/docking/search_nci.f90 +++ b/src/docking/search_nci.f90 @@ -1136,7 +1136,6 @@ subroutine restart_xTB(env, mol, chk, calc, basisset) if (mol%npbc > 0) then chk%wfn%q = real(set%ichrg, wp)/real(mol%n, wp) else - write(*,*) mol%z if (set%guess_charges == p_guess_gasteiger) then call iniqcn(mol%n, mol%at, mol%z, mol%xyz, set%ichrg, 1.0_wp, chk%wfn%q, cn, set%gfn_method, .true.) else if (set%guess_charges == p_guess_goedecker) then diff --git a/src/prog/dock.f90 b/src/prog/dock.f90 index a82c3dbc8..f68976267 100644 --- a/src/prog/dock.f90 +++ b/src/prog/dock.f90 @@ -45,7 +45,7 @@ module xtb_prog_dock use xtb_iff_iffprepare, only: precomp use xtb_iff_iffenergy, only : iff_e use xtb_docking_search_nci, only: docking_search - use xtb_sphereparam, only: sphere, rabc, boxr, init_walls, wpot, maxwalls + use xtb_sphereparam, only: init_walls, maxwalls use xtb_constrain_param, only: read_userdata use xtb_fixparam, only: init_fix use xtb_scanparam, only: init_constr, init_scan, maxconstr, maxscan @@ -232,7 +232,6 @@ subroutine xtbDock(env, argParser) & iff_data%qcm2, iff_data%n, iff_data%at, iff_data%xyz, iff_data%q, icoord, icoord0,& & .false.) - !> CONSTRAINTS & SCANS call init_fix(iff_data%n) call init_split(iff_data%n) diff --git a/test/unit/test_docking.f90 b/test/unit/test_docking.f90 index 3802d0116..87f2cbe54 100644 --- a/test/unit/test_docking.f90 +++ b/test/unit/test_docking.f90 @@ -29,14 +29,16 @@ subroutine collect_docking(testsuite) type(unittest_type), allocatable, intent(out) :: testsuite(:) testsuite = [ & - new_unittest("eth_wat", test_dock_eth_wat)]!, & -! new_unittest("ellips", test_iff_ellips), & -! ] + new_unittest("dock_gfn2_eth_wat", test_dock_eth_wat_gfn2), & + new_unittest("dock_gfn2_wat_wat_wall", test_dock_wat_wat_gfn2_wall), & + new_unittest("dock_gfn2_wat_wat_attpot", test_dock_wat_wat_gfn2_attpot), & + new_unittest("dock_gfnff_wat_wat", test_dock_wat_wat_gfnff) & + ] end subroutine collect_docking -subroutine test_dock_eth_wat(error) +subroutine test_dock_eth_wat_gfn2(error) use xtb_type_environment, only: TEnvironment, init use xtb_mctc_accuracy, only: wp use xtb_type_environment, only: TEnvironment @@ -112,8 +114,9 @@ subroutine test_dock_eth_wat(error) set%pr_local = .false. call precomp(env, iff_data, molA, molA_e, 1) - call check_(error, molA_e,-11.3943358674_wp, thr=thr) + call check_(error, molA_e,-11.39433586739173_wp, thr=thr) call precomp(env, iff_data, molB, molB_e, 2) + call check_(error, molB_e,-5.070201841808753_wp, thr=thr) call env%checkpoint("LMO computation failed") @@ -150,27 +153,477 @@ subroutine test_dock_eth_wat(error) & iff_data%den1, iff_data%den2, iff_data%gab1, iff_data%gab2, & & set%verbose, 0, e, icoord) - call check_(error, e,0.07745330953243718_wp, thr=thr) + call check_(error, e,.7745330953199690E-01_wp, thr=thr) call env%checkpoint("xtb-IFF sp computation failed") call set_optlvl(env) !Sets the optimization level for search in global parameters -! call docking_search(env, molA, molB, n, n1, n2, at1, at2, neigh, xyz1,& -! & xyz2, q1, q2, c6ab, z1, z2,& -! &nlmo1, nlmo2, lmo1, lmo2, rlmo1, rlmo2,& -! &qdr1, qdr2, cn1, cn2, alp1, alp2, alpab, qct1, qct2,& -! &den1, den2, gab1, gab2, molA_e, molB_e,& -! &cprob, e, icoord, comb) -! call env%checkpoint("Docking algorithm failed") + !Settings for fast + maxparent = 30 + maxgen = 3 + mxcma = 250 + stepr = 4.0 + stepa = 60 + n_opt = 2 -! call check_(error, calc%topo%nbond,6) -! -! call check_(error, res_gff%e_total,-0.76480130317838_wp, thr=thr) + call docking_search(env, molA, molB, iff_data%n, iff_data%n1, iff_data%n2,& + & iff_data%at1, iff_data%at2, iff_data%neigh, iff_data%xyz1,& + & iff_data%xyz2, iff_data%q1, iff_data%q2, iff_data%c6ab,& + & iff_data%z1, iff_data%z2,& + & iff_data%nlmo1, iff_data%nlmo2, iff_data%lmo1,& + & iff_data%lmo2, iff_data%rlmo1, iff_data%rlmo2,& + & iff_data%qdr1, iff_data%qdr2, iff_data%cn1, iff_data%cn2, iff_data%alp1,& + & iff_data%alp2, iff_data%alpab, iff_data%qct1, iff_data%qct2,& + & iff_data%den1, iff_data%den2, iff_data%gab1, iff_data%gab2, molA_e, molB_e,& + & iff_data%cprob, e, icoord, comb) + + call env%checkpoint("Docking algorithm failed") + + call molA%deallocate + call molB%deallocate + +end subroutine test_dock_eth_wat_gfn2 + + +subroutine test_dock_wat_wat_gfn2_wall(error) + use xtb_type_environment, only: TEnvironment, init + use xtb_mctc_accuracy, only: wp + use xtb_type_environment, only: TEnvironment + use xtb_type_molecule + use xtb_setparam, only: initrand + use xtb_mctc_systools + use xtb_setmod + use xtb_docking_set_module + use xtb_docking_param + use xtb_iff_iffini, only: init_iff + use xtb_iff_iffprepare, only: precomp + use xtb_iff_iffenergy + use xtb_docking_search_nci, only: docking_search + use xtb_mctc_systools + use xtb_iff_data, only: TIFFData + use xtb_sphereparam, only: init_walls, maxwalls, set_sphere_radius,& + & spherepot_type, p_type_polynomial, clear_walls + + type(error_type), allocatable, intent(out) :: error + !> All important variables stored here + type(TIFFData) :: iff_data + real(wp),parameter :: thr = 1.0e-6_wp + real(wp) :: icoord0(6),icoord(6) + integer :: n1 + integer :: at1(3) + real(wp) :: xyz1(3,3) + integer :: n2 + integer :: at2(3) + real(wp) :: xyz2(3,3) + integer,parameter :: n = 6 + integer :: at(n) + real(wp) :: xyz(3,n) + real(wp) :: molA_e, molB_e + + logical, parameter :: restart = .false. + + type(TMolecule) :: molA,molB,comb + real(wp) :: r(3),e + integer :: i, j, k + type(TEnvironment) :: env + character(len=:), allocatable :: fnam + + logical :: exist + + n2 = 3 + at2 = [8,1,1] + xyz2 = reshape(& + &[-14.55824225787638_wp, 0.85763330814882_wp, 0.00000000000000_wp, & + & -12.72520790897730_wp, 0.85763330814882_wp, 0.00000000000000_wp, & + & -15.16924740842229_wp,-0.86379381534203_wp,-0.15285994688912_wp],& + & shape(xyz2)) + + n1=n2 + at1=at2 + xyz1=xyz2 + + qcg=.true. + call set_gbsa(env, 'solvent', "h2o") + call init(env) + + !Molecular stuff: + call init(molA, at1, xyz1) + call init(molB, at2, xyz2) + call iff_data%allocateIFFData(molA%n, molB%n) + + call initrand + + call set_iff_param + fnam = 'xtblmoinfo' + set%pr_local = .false. + + call precomp(env, iff_data, molA, molA_e, 1) +! call check_(error, molA_e,-5.084810260314862_wp, thr=thr) + call precomp(env, iff_data, molB, molB_e, 2) + call check_(error, molB_e,-5.08481026031486_wp, thr=thr) + + call env%checkpoint("LMO computation failed") + + call cmadock(molA%n, molA%n, molA%at, molA%xyz, r) + do i = 1, 3 + molA%xyz(i, 1:molA%n) = molA%xyz(i, 1:molA%n) - r(i) + end do + call cmadock(molB%n, molB%n, molB%at, molB%xyz, r) + do i = 1, 3 + molB%xyz(i, 1:molB%n) = molB%xyz(i, 1:molB%n) - r(i) + end do + + call init_iff(env, iff_data%n1, iff_data%n2, iff_data%at1, iff_data%at2,& + & iff_data%neigh, iff_data%xyz1, iff_data%xyz2, iff_data%q1, & + & iff_data%q2, iff_data%c6ab, iff_data%z1, iff_data%z2,& + & iff_data%cprob, iff_data%nlmo1, iff_data%nlmo2, iff_data%lmo1, iff_data%lmo2,& + & iff_data%qdr1, iff_data%qdr2, iff_data%rlmo1, iff_data%rlmo2,& + & iff_data%cn1, iff_data%cn2, iff_data%alp1, iff_data%alp2, iff_data%alpab,& + & iff_data%den1, iff_data%den2, iff_data%gab1, iff_data%gab2, iff_data%qcm1,& + & iff_data%qcm2, iff_data%n, iff_data%at, iff_data%xyz, iff_data%q, icoord, icoord0,& + & .false.) + + call check_(error, icoord(1) ,0.0000_wp, thr=1.0e-3_wp) + + !Wall potential stuff: + maxwalls=3 + call init_walls + spherepot_type = p_type_polynomial + call set_sphere_radius([6.7,4.7,3.8],[0.0,0.0,0.0],3,[1,2,3]) !"solute" + call set_sphere_radius([6.9,5.7,5.2],[0.0,0.0,0.0]) !"all" + + call env%checkpoint("Initializing xtb-IFF failed.") + + call iff_e(env, iff_data%n, iff_data%n1, iff_data%n2, iff_data%at1, iff_data%at2,& + & iff_data%neigh, iff_data%xyz1, iff_data%xyz2, iff_data%q1, iff_data%q2,& + & iff_data%c6ab, iff_data%z1, iff_data%z2,& + & iff_data%nlmo1, iff_data%nlmo2, iff_data%lmo1, iff_data%lmo2, & + & iff_data%rlmo1, iff_data%rlmo2,& + & iff_data%qdr1, iff_data%qdr2, iff_data%cn1, iff_data%cn2, iff_data%alp1, & + & iff_data%alp2, iff_data%alpab, iff_data%qct1, iff_data%qct2, & + & iff_data%den1, iff_data%den2, iff_data%gab1, iff_data%gab2, & + & set%verbose, 0, e, icoord) + + call env%checkpoint("xtb-IFF sp computation failed") + + call set_optlvl(env) !Sets the optimization level for search in global parameters + + !Settings for fast + maxparent = 30 + maxgen = 3 + mxcma = 250 + stepr = 4.0 + stepa = 60 + n_opt = 2 + + call docking_search(env, molA, molB, iff_data%n, iff_data%n1, iff_data%n2,& + & iff_data%at1, iff_data%at2, iff_data%neigh, iff_data%xyz1,& + & iff_data%xyz2, iff_data%q1, iff_data%q2, iff_data%c6ab,& + & iff_data%z1, iff_data%z2,& + & iff_data%nlmo1, iff_data%nlmo2, iff_data%lmo1,& + & iff_data%lmo2, iff_data%rlmo1, iff_data%rlmo2,& + & iff_data%qdr1, iff_data%qdr2, iff_data%cn1, iff_data%cn2, iff_data%alp1,& + & iff_data%alp2, iff_data%alpab, iff_data%qct1, iff_data%qct2,& + & iff_data%den1, iff_data%den2, iff_data%gab1, iff_data%gab2, molA_e, molB_e,& + & iff_data%cprob, e, icoord, comb) + call env%checkpoint("Docking algorithm failed") + + call molA%deallocate + call molB%deallocate + call clear_walls + maxwalls=0 + +end subroutine test_dock_wat_wat_gfn2_wall + +subroutine test_dock_wat_wat_gfn2_attpot(error) + use xtb_type_environment, only: TEnvironment, init + use xtb_mctc_accuracy, only: wp + use xtb_type_environment, only: TEnvironment + use xtb_type_molecule + use xtb_setparam, only: initrand + use xtb_mctc_systools + use xtb_setmod + use xtb_docking_set_module + use xtb_docking_param + use xtb_iff_iffini, only: init_iff + use xtb_iff_iffprepare, only: precomp + use xtb_iff_iffenergy + use xtb_docking_search_nci, only: docking_search + use xtb_mctc_systools + use xtb_iff_data, only: TIFFData + use xtb_sphereparam, only: init_walls, maxwalls, set_sphere_radius,& + & spherepot_type, p_type_polynomial, clear_walls + + type(error_type), allocatable, intent(out) :: error + !> All important variables stored here + type(TIFFData) :: iff_data + real(wp),parameter :: thr = 1.0e-6_wp + real(wp) :: icoord0(6),icoord(6) + integer :: n1 + integer :: at1(3) + real(wp) :: xyz1(3,3) + integer :: n2 + integer :: at2(3) + real(wp) :: xyz2(3,3) + integer,parameter :: n = 6 + integer :: at(n) + real(wp) :: xyz(3,n) + real(wp) :: molA_e, molB_e + + logical, parameter :: restart = .false. + + type(TMolecule) :: molA,molB,comb + real(wp) :: r(3),e + integer :: i, j, k + type(TEnvironment) :: env + character(len=:), allocatable :: fnam + + logical :: exist + + n2 = 3 + at2 = [8,1,1] + xyz2 = reshape(& + &[-14.55824225787638_wp, 0.85763330814882_wp, 0.00000000000000_wp, & + & -12.72520790897730_wp, 0.85763330814882_wp, 0.00000000000000_wp, & + & -15.16924740842229_wp,-0.86379381534203_wp,-0.15285994688912_wp],& + & shape(xyz2)) + + n1=n2 + at1=at2 + xyz1=xyz2 + + qcg=.true. + call set_gbsa(env, 'solvent', "h2o") + call init(env) + + !Molecular stuff: + call init(molA, at1, xyz1) + call init(molB, at2, xyz2) + call iff_data%allocateIFFData(molA%n, molB%n) + + call initrand + + call set_iff_param + fnam = 'xtblmoinfo' + set%pr_local = .false. + + call precomp(env, iff_data, molA, molA_e, 1) +! call check_(error, molA_e,-5.084810260314862_wp, thr=thr) + call precomp(env, iff_data, molB, molB_e, 2) + call check_(error, molB_e,-5.08481026031486_wp, thr=thr) + + call env%checkpoint("LMO computation failed") + + call cmadock(molA%n, molA%n, molA%at, molA%xyz, r) + do i = 1, 3 + molA%xyz(i, 1:molA%n) = molA%xyz(i, 1:molA%n) - r(i) + end do + call cmadock(molB%n, molB%n, molB%at, molB%xyz, r) + do i = 1, 3 + molB%xyz(i, 1:molB%n) = molB%xyz(i, 1:molB%n) - r(i) + end do + + call init_iff(env, iff_data%n1, iff_data%n2, iff_data%at1, iff_data%at2,& + & iff_data%neigh, iff_data%xyz1, iff_data%xyz2, iff_data%q1, & + & iff_data%q2, iff_data%c6ab, iff_data%z1, iff_data%z2,& + & iff_data%cprob, iff_data%nlmo1, iff_data%nlmo2, iff_data%lmo1, iff_data%lmo2,& + & iff_data%qdr1, iff_data%qdr2, iff_data%rlmo1, iff_data%rlmo2,& + & iff_data%cn1, iff_data%cn2, iff_data%alp1, iff_data%alp2, iff_data%alpab,& + & iff_data%den1, iff_data%den2, iff_data%gab1, iff_data%gab2, iff_data%qcm1,& + & iff_data%qcm2, iff_data%n, iff_data%at, iff_data%xyz, iff_data%q, icoord, icoord0,& + & .false.) + + call check_(error, icoord(1) ,0.0000_wp, thr=1.0e-3_wp) + + directed_type = p_atom_qcg + allocate(directedset%expo(2), source=0.0_wp) + allocate(directedset%val(1), source=0.0_wp) + directedset%val(1)=0.011928 + directedset%expo(1)=0.01 + directedset%expo(2)=2.000 + directedset%n=3 + directedset%atoms=[1,2,3] + + call env%checkpoint("Initializing xtb-IFF failed.") + + call iff_e(env, iff_data%n, iff_data%n1, iff_data%n2, iff_data%at1, iff_data%at2,& + & iff_data%neigh, iff_data%xyz1, iff_data%xyz2, iff_data%q1, iff_data%q2,& + & iff_data%c6ab, iff_data%z1, iff_data%z2,& + & iff_data%nlmo1, iff_data%nlmo2, iff_data%lmo1, iff_data%lmo2, & + & iff_data%rlmo1, iff_data%rlmo2,& + & iff_data%qdr1, iff_data%qdr2, iff_data%cn1, iff_data%cn2, iff_data%alp1, & + & iff_data%alp2, iff_data%alpab, iff_data%qct1, iff_data%qct2, & + & iff_data%den1, iff_data%den2, iff_data%gab1, iff_data%gab2, & + & set%verbose, 0, e, icoord) + + call env%checkpoint("xtb-IFF sp computation failed") + + call set_optlvl(env) !Sets the optimization level for search in global parameters + + !Settings for fast + maxparent = 30 + maxgen = 3 + mxcma = 250 + stepr = 4.0 + stepa = 60 + n_opt = 2 + + call docking_search(env, molA, molB, iff_data%n, iff_data%n1, iff_data%n2,& + & iff_data%at1, iff_data%at2, iff_data%neigh, iff_data%xyz1,& + & iff_data%xyz2, iff_data%q1, iff_data%q2, iff_data%c6ab,& + & iff_data%z1, iff_data%z2,& + & iff_data%nlmo1, iff_data%nlmo2, iff_data%lmo1,& + & iff_data%lmo2, iff_data%rlmo1, iff_data%rlmo2,& + & iff_data%qdr1, iff_data%qdr2, iff_data%cn1, iff_data%cn2, iff_data%alp1,& + & iff_data%alp2, iff_data%alpab, iff_data%qct1, iff_data%qct2,& + & iff_data%den1, iff_data%den2, iff_data%gab1, iff_data%gab2, molA_e, molB_e,& + & iff_data%cprob, e, icoord, comb) + call env%checkpoint("Docking algorithm failed") + + call molA%deallocate + call molB%deallocate + call directedset%deallocate + +end subroutine test_dock_wat_wat_gfn2_attpot + + +subroutine test_dock_wat_wat_gfnff(error) + use xtb_type_environment, only: TEnvironment, init + use xtb_mctc_accuracy, only: wp + use xtb_type_environment, only: TEnvironment + use xtb_type_molecule + use xtb_setparam, only: initrand + use xtb_mctc_systools + use xtb_setmod + use xtb_docking_set_module + use xtb_docking_param + use xtb_iff_iffini, only: init_iff + use xtb_iff_iffprepare, only: precomp + use xtb_iff_iffenergy + use xtb_docking_search_nci, only: docking_search + use xtb_mctc_systools + use xtb_iff_data, only: TIFFData + type(error_type), allocatable, intent(out) :: error + !> All important variables stored here + type(TIFFData) :: iff_data + real(wp),parameter :: thr = 1.0e-6_wp + real(wp) :: icoord0(6),icoord(6) + integer :: n1 + integer :: at1(3) + real(wp) :: xyz1(3,3) + integer :: n2 + integer :: at2(3) + real(wp) :: xyz2(3,3) + integer,parameter :: n = 6 + integer :: at(n) + real(wp) :: xyz(3,n) + real(wp) :: molA_e, molB_e + + logical, parameter :: restart = .false. + + type(TMolecule) :: molA,molB,comb + real(wp) :: r(3),e + integer :: i, j, k + type(TEnvironment) :: env + character(len=:), allocatable :: fnam + + logical :: exist + + n2 = 3 + at2 = [8,1,1] + xyz2 = reshape(& + &[-14.55824225787638_wp, 0.85763330814882_wp, 0.00000000000000_wp, & + & -12.72520790897730_wp, 0.85763330814882_wp, 0.00000000000000_wp, & + & -15.16924740842229_wp,-0.86379381534203_wp,-0.15285994688912_wp],& + & shape(xyz2)) + + n1=n2 + at1=at2 + xyz1=xyz2 + + call set_gbsa(env, 'solvent', "h2o") + !GFN-FF + call set_exttyp('ff') + + call init(env) + call init(molA, at1, xyz1) + call init(molB, at2, xyz2) + call iff_data%allocateIFFData(molA%n, molB%n) + + call initrand + + call set_iff_param + fnam = 'xtblmoinfo' + set%pr_local = .false. + + call precomp(env, iff_data, molA, molA_e, 1) +! call check_(error, molA_e,-5.084810260314862_wp, thr=thr) + call precomp(env, iff_data, molB, molB_e, 2) + call check_(error, molB_e,-5.08481026031486_wp, thr=thr) + + call env%checkpoint("LMO computation failed") + + call cmadock(molA%n, molA%n, molA%at, molA%xyz, r) + do i = 1, 3 + molA%xyz(i, 1:molA%n) = molA%xyz(i, 1:molA%n) - r(i) + end do + call cmadock(molB%n, molB%n, molB%at, molB%xyz, r) + do i = 1, 3 + molB%xyz(i, 1:molB%n) = molB%xyz(i, 1:molB%n) - r(i) + end do + + call init_iff(env, iff_data%n1, iff_data%n2, iff_data%at1, iff_data%at2,& + & iff_data%neigh, iff_data%xyz1, iff_data%xyz2, iff_data%q1, & + & iff_data%q2, iff_data%c6ab, iff_data%z1, iff_data%z2,& + & iff_data%cprob, iff_data%nlmo1, iff_data%nlmo2, iff_data%lmo1, iff_data%lmo2,& + & iff_data%qdr1, iff_data%qdr2, iff_data%rlmo1, iff_data%rlmo2,& + & iff_data%cn1, iff_data%cn2, iff_data%alp1, iff_data%alp2, iff_data%alpab,& + & iff_data%den1, iff_data%den2, iff_data%gab1, iff_data%gab2, iff_data%qcm1,& + & iff_data%qcm2, iff_data%n, iff_data%at, iff_data%xyz, iff_data%q, icoord, icoord0,& + & .false.) + + call check_(error, icoord(1) ,0.0000_wp, thr=1.0e-3_wp) + + call env%checkpoint("Initializing xtb-IFF failed.") + + call iff_e(env, iff_data%n, iff_data%n1, iff_data%n2, iff_data%at1, iff_data%at2,& + & iff_data%neigh, iff_data%xyz1, iff_data%xyz2, iff_data%q1, iff_data%q2,& + & iff_data%c6ab, iff_data%z1, iff_data%z2,& + & iff_data%nlmo1, iff_data%nlmo2, iff_data%lmo1, iff_data%lmo2, & + & iff_data%rlmo1, iff_data%rlmo2,& + & iff_data%qdr1, iff_data%qdr2, iff_data%cn1, iff_data%cn2, iff_data%alp1, & + & iff_data%alp2, iff_data%alpab, iff_data%qct1, iff_data%qct2, & + & iff_data%den1, iff_data%den2, iff_data%gab1, iff_data%gab2, & + & set%verbose, 0, e, icoord) + + call env%checkpoint("xtb-IFF sp computation failed") + + call set_optlvl(env) !Sets the optimization level for search in global parameters + + !Settings for fast + maxparent = 30 + maxgen = 3 + mxcma = 250 + stepr = 4.0 + stepa = 60 + n_opt = 2 + + call docking_search(env, molA, molB, iff_data%n, iff_data%n1, iff_data%n2,& + & iff_data%at1, iff_data%at2, iff_data%neigh, iff_data%xyz1,& + & iff_data%xyz2, iff_data%q1, iff_data%q2, iff_data%c6ab,& + & iff_data%z1, iff_data%z2,& + & iff_data%nlmo1, iff_data%nlmo2, iff_data%lmo1,& + & iff_data%lmo2, iff_data%rlmo1, iff_data%rlmo2,& + & iff_data%qdr1, iff_data%qdr2, iff_data%cn1, iff_data%cn2, iff_data%alp1,& + & iff_data%alp2, iff_data%alpab, iff_data%qct1, iff_data%qct2,& + & iff_data%den1, iff_data%den2, iff_data%gab1, iff_data%gab2, molA_e, molB_e,& + & iff_data%cprob, e, icoord, comb) + call env%checkpoint("Docking algorithm failed") call molA%deallocate call molB%deallocate -end subroutine test_dock_eth_wat +end subroutine test_dock_wat_wat_gfnff end module test_docking