Commit 4a66e6a0 by Chloe Dequeker

fix reconstruction using ATTRACT

parent 8cd78e6e
......@@ -3,15 +3,10 @@
# chloe.dequeker@upmc.fr, elodie.laine@upmc.fr, alessandra.carbone@lip6.fr
# UMR 7238 Biologie Computationnelle et Quantitative
#
# Used library or packages:
# Eigen library, under GNU Free Documentation License 1.2
# Numpy package under the BSD license
# MDtraj python package under the Lesser GNU General Public License (LGPL v2.1+)
# This software is a computer program whose purpose is to compute the interface of
# two PDB. Both PDB are therefore required. Moreover, this software has the advantage
# of parsing the output format of docking software.
#
# This software is a computer program whose purpose is to dissect proteins
# dynamical architectures. It requires as input the MD trajectorie(s) of the
# studied protein and a PDB file of the same protein.
#
# This software is governed by the CeCILL license under French law and abiding
# by the rules of distribution of free software. You can use, modify and/or
# redistribute the software under the terms of the CeCILL license as circulated
......
......@@ -434,7 +434,6 @@ int main(int argc, char** argv){
freePDB(newPDB);
newPDB = NULL;
if(newPDB_R != NULL){
printf("point %p\n",newPDB_R);
freePDB(newPDB_R);
newPDB_R = NULL;
}
......
......@@ -114,9 +114,9 @@ struct docking_results* getDataForComplex_ATTRACT(){
/* Check if the receptor is centered or not */
if(fgets(buf,MAXSIZE_LINE,condFile_stream)){
if (strlen(buf) >= 24 && strncmp(buf, "#centered receptor: true", 24) != 0)
if (strlen(buf) >= 24 && strncmp(buf, "#centered receptor: true", 24) == 0)
centered_R = 1;
if (strlen(buf) >= 25 && strncmp(buf, "#centered receptor: false", 25) != 0)
if (strlen(buf) >= 25 && strncmp(buf, "#centered receptor: false", 25) == 0)
centered_R = 0;
}
/* No valid value */
......@@ -128,14 +128,14 @@ struct docking_results* getDataForComplex_ATTRACT(){
/* Check if the ligand is centered or not */
if(fgets(buf,MAXSIZE_LINE,condFile_stream)){
if (strlen(buf) >= 23 && strncmp(buf, "#centered ligands: true", 23) != 0)
if (strlen(buf) >= 23 && strncmp(buf, "#centered ligands: true", 23) == 0)
centered_L = 1;
if (strlen(buf) >= 24 && strncmp(buf, "#centered ligands: false", 24) != 0)
if (strlen(buf) >= 24 && strncmp(buf, "#centered ligands: false", 24) == 0)
centered_L = 0;
if (strlen(buf) >= 22 && strncmp(buf, "#centered ligand: true", 22) != 0)
if (strlen(buf) >= 22 && strncmp(buf, "#centered ligand: true", 22) == 0)
centered_L = 1;
if (strlen(buf) >= 23 && strncmp(buf, "#centered ligand: false", 23) != 0)
if (strlen(buf) >= 23 && strncmp(buf, "#centered ligand: false", 23) == 0)
centered_L = 0;
}
/* No valid value */
......
......@@ -119,6 +119,10 @@ struct pdb_values* rotate_ATTRACT(struct pdb_values* pdb, struct pdb_values* new
trans_X = dock_res->trans_X_R[target_conf] - pivot_X;
trans_Y = dock_res->trans_Y_R[target_conf] - pivot_Y;
trans_Z = dock_res->trans_Z_R[target_conf] - pivot_Z;
}else{
trans_X = dock_res->trans_X_R[target_conf];
trans_Y = dock_res->trans_Y_R[target_conf];
trans_Z = dock_res->trans_Z_R[target_conf];
}
}else{
cp = cos(dock_res->phi_L[target_conf]);
......@@ -145,6 +149,10 @@ struct pdb_values* rotate_ATTRACT(struct pdb_values* pdb, struct pdb_values* new
trans_X = dock_res->trans_X_L[target_conf] - pivot_X;
trans_Y = dock_res->trans_Y_L[target_conf] - pivot_Y;
trans_Z = dock_res->trans_Z_L[target_conf] - pivot_Z;
}else{
trans_X = dock_res->trans_X_L[target_conf];
trans_Y = dock_res->trans_Y_L[target_conf];
trans_Z = dock_res->trans_Z_L[target_conf];
}
}
......@@ -167,9 +175,9 @@ struct pdb_values* rotate_ATTRACT(struct pdb_values* pdb, struct pdb_values* new
for(i=0;i<newPDB->nbRes;i++){
for(j=0;j<newPDB->residues[i].nbAtom;j++){
xx = newPDB->residues[i].x[j];
yy = newPDB->residues[i].y[j];
zz = newPDB->residues[i].z[j];
xx = newPDB->residues[i].x[j] - pivot_X;
yy = newPDB->residues[i].y[j] - pivot_Y;
zz = newPDB->residues[i].z[j] - pivot_Z;
newPDB->residues[i].x[j] = xx * rot_mat[0] + yy * rot_mat[1] + zz * rot_mat[2];
newPDB->residues[i].y[j] = xx * rot_mat[3] + yy * rot_mat[4] + zz * rot_mat[5];
......
Markdown is supported
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