Commit c34333df authored by lvs's avatar lvs
Browse files

included cutoff=8A only for vdw and hb

parent a8fb9077
......@@ -202,11 +202,11 @@ odock: check-env-all stringify $(SRC)
# 3tmn: for testing gradients of torsion genes (1 torsion)
PDB := 3ce3
NRUN := 100
POPSIZE := 150
NRUN := 200
POPSIZE := 500
TESTNAME := test
TESTLS := sd
NUM_LSIT := 30
TESTLS := sw
NUM_LSIT := 300
test: odock
$(BIN_DIR)/$(TARGET) -ffile ./input/$(PDB)/derived/$(PDB)_protein.maps.fld -lfile ./input/$(PDB)/derived/$(PDB)_ligand.pdbqt -nrun $(NRUN) -psize $(POPSIZE) -resnam $(TESTNAME) -gfpop 1 -lsmet $(TESTLS) -lsit $(NUM_LSIT) -smooth 0.5
......
......@@ -442,11 +442,6 @@ if (get_local_id (0) == 0) {
// Calculating atomic_distance
float atomic_distance = native_sqrt(subx*subx + suby*suby + subz*subz)*dockpars_grid_spacing;
// Calculating energy contributions
/*
if (atomic_distance < 8.0f)
{
*/
// Getting type IDs
uint atom1_typeid = atom_types_const[atom1_id];
uint atom2_typeid = atom_types_const[atom2_id];
......@@ -463,16 +458,10 @@ if (get_local_id (0) == 0) {
if (intraE_contributors_const[3*contributor_counter+2] == 1) //H-bond
{
#if 0
opt_distance = reqm_hbond [atom1_typeid] + reqm_hbond [atom2_typeid];
#endif
opt_distance = reqm_hbond [atom1_type_vdw_hb] + reqm_hbond [atom2_type_vdw_hb];
}
else //van der Waals
{
#if 0
opt_distance = 0.5f*(reqm [atom1_typeid] + reqm [atom2_typeid]);
#endif
opt_distance = 0.5f*(reqm [atom1_type_vdw_hb] + reqm [atom2_type_vdw_hb]);
}
......@@ -491,6 +480,12 @@ if (get_local_id (0) == 0) {
smoothed_distance = atomic_distance - delta_distance;
}
// Calculating energy contributions
// Cuttoff: internuclear-distance at 8A.
// Cutoff only for vdw and hbond.
// el and sol contributions are calculated at all distances.
if (atomic_distance < 8.0f)
{
// Calculating van der Waals / hydrogen bond term
partial_energies[get_local_id(0)] += native_divide(VWpars_AC_const[atom1_typeid * dockpars_num_of_atypes+atom2_typeid],native_powr(smoothed_distance/*atomic_distance*/,12));
#if 0
......@@ -521,6 +516,7 @@ raw_intraE_vdw_hb -= native_divide(VWpars_BD_const[atom1_typeid * dockpars_
partial_intraE[get_local_id(0)] -= native_divide(VWpars_BD_const[atom1_typeid * dockpars_num_of_atypes+atom2_typeid],native_powr(smoothed_distance/*atomic_distance*/,6));
#endif
}
} // if cuttoff - internuclear-distance at 8A
// Calculating electrostatic term
partial_energies[get_local_id(0)] += native_divide (
......@@ -613,19 +609,6 @@ raw_intraE_sol = ((dspars_S_const[atom1_typeid] +
}
#endif
/*
} // if (atomic_distance < 8.0f)
*/
} // End contributor_counter for-loop (INTRAMOLECULAR ENERGY)
#if 0
......
......@@ -605,9 +605,6 @@ void gpu_calc_gradient(
float dist = native_sqrt(subx*subx + suby*suby + subz*subz);
float atomic_distance = dist*dockpars_grid_spacing;
// Calculating gradient contributions
if (atomic_distance < 8.0f)
{
// Getting type IDs
uint atom1_typeid = atom_types_const[atom1_id];
uint atom2_typeid = atom_types_const[atom2_id];
......@@ -625,16 +622,10 @@ void gpu_calc_gradient(
if (intraE_contributors_const[3*contributor_counter+2] == 1) //H-bond
{
/*
opt_distance = reqm_hbond [atom1_typeid] + reqm_hbond [atom2_typeid];
*/
opt_distance = reqm_hbond [atom1_type_vdw_hb] + reqm_hbond [atom2_type_vdw_hb];
}
else //van der Waals
{
/*
opt_distance = 0.5f*(reqm [atom1_typeid] + reqm [atom2_typeid]);
*/
opt_distance = 0.5f*(reqm [atom1_type_vdw_hb] + reqm [atom2_type_vdw_hb]);
}
......@@ -653,21 +644,12 @@ void gpu_calc_gradient(
smoothed_distance = atomic_distance - delta_distance;
}
/*
if (get_local_id (0) == 0) {
if (intraE_contributors_const[3*contributor_counter+2] == 1) //H-bond
{
printf("%-5s %u %u %f %f %f %f %f %f\n", "hbond", atom1_typeid, atom2_typeid, reqm_hbond [atom1_typeid], reqm_hbond [atom2_typeid], opt_distance, delta_distance, atomic_distance, smoothed_distance);
}
else //van der Waals
// Calculating gradient contributions
// Cuttoff: internuclear-distance at 8A.
// Cutoff only for vdw and hbond.
// el and sol contributions are calculated at all distances.
if (atomic_distance < 8.0f)
{
printf("%-5s %u %u %f %f %f %f %f %f\n", "vdw", atom1_typeid, atom2_typeid, reqm [atom1_typeid], reqm [atom2_typeid], opt_distance, delta_distance, atomic_distance, smoothed_distance);
}
}
*/
// Calculating van der Waals / hydrogen bond term
priv_gradient_per_intracontributor += native_divide (-12*VWpars_AC_const[atom1_typeid * dockpars_num_of_atypes+atom2_typeid],
native_powr(smoothed_distance/*atomic_distance*/, 13)
......@@ -683,6 +665,7 @@ void gpu_calc_gradient(
native_powr(smoothed_distance/*atomic_distance*/, 7)
);
}
} // if cuttoff - internuclear-distance at 8A
// Calculating electrostatic term
// http://www.wolframalpha.com/input/?i=1%2F(x*(A%2B(B%2F(1%2BK*exp(-h*B*x)))))
......@@ -719,8 +702,6 @@ void gpu_calc_gradient(
atomicAdd_g_f(&gradient_intra_x[atom2_id], priv_intra_gradient_x);
atomicAdd_g_f(&gradient_intra_y[atom2_id], priv_intra_gradient_y);
atomicAdd_g_f(&gradient_intra_z[atom2_id], priv_intra_gradient_z);
}
} // End contributor_counter for-loop (INTRAMOLECULAR ENERGY)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment