Commit 4a66e6a0 by Chloe Dequeker

fix reconstruction using ATTRACT

parent 8cd78e6e
...@@ -3,15 +3,10 @@ ...@@ -3,15 +3,10 @@
# chloe.dequeker@upmc.fr, elodie.laine@upmc.fr, alessandra.carbone@lip6.fr # chloe.dequeker@upmc.fr, elodie.laine@upmc.fr, alessandra.carbone@lip6.fr
# UMR 7238 Biologie Computationnelle et Quantitative # UMR 7238 Biologie Computationnelle et Quantitative
# #
# Used library or packages: # This software is a computer program whose purpose is to compute the interface of
# Eigen library, under GNU Free Documentation License 1.2 # two PDB. Both PDB are therefore required. Moreover, this software has the advantage
# Numpy package under the BSD license # of parsing the output format of docking software.
# MDtraj python package under the Lesser GNU General Public License (LGPL v2.1+)
# #
# 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 # 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 # 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 # redistribute the software under the terms of the CeCILL license as circulated
......
...@@ -434,7 +434,6 @@ int main(int argc, char** argv){ ...@@ -434,7 +434,6 @@ int main(int argc, char** argv){
freePDB(newPDB); freePDB(newPDB);
newPDB = NULL; newPDB = NULL;
if(newPDB_R != NULL){ if(newPDB_R != NULL){
printf("point %p\n",newPDB_R);
freePDB(newPDB_R); freePDB(newPDB_R);
newPDB_R = NULL; newPDB_R = NULL;
} }
......
...@@ -114,9 +114,9 @@ struct docking_results* getDataForComplex_ATTRACT(){ ...@@ -114,9 +114,9 @@ struct docking_results* getDataForComplex_ATTRACT(){
/* Check if the receptor is centered or not */ /* Check if the receptor is centered or not */
if(fgets(buf,MAXSIZE_LINE,condFile_stream)){ 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; 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; centered_R = 0;
} }
/* No valid value */ /* No valid value */
...@@ -128,14 +128,14 @@ struct docking_results* getDataForComplex_ATTRACT(){ ...@@ -128,14 +128,14 @@ struct docking_results* getDataForComplex_ATTRACT(){
/* Check if the ligand is centered or not */ /* Check if the ligand is centered or not */
if(fgets(buf,MAXSIZE_LINE,condFile_stream)){ 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; 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; 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; 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; centered_L = 0;
} }
/* No valid value */ /* No valid value */
......
...@@ -119,6 +119,10 @@ struct pdb_values* rotate_ATTRACT(struct pdb_values* pdb, struct pdb_values* new ...@@ -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_X = dock_res->trans_X_R[target_conf] - pivot_X;
trans_Y = dock_res->trans_Y_R[target_conf] - pivot_Y; trans_Y = dock_res->trans_Y_R[target_conf] - pivot_Y;
trans_Z = dock_res->trans_Z_R[target_conf] - pivot_Z; 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{ }else{
cp = cos(dock_res->phi_L[target_conf]); 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 ...@@ -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_X = dock_res->trans_X_L[target_conf] - pivot_X;
trans_Y = dock_res->trans_Y_L[target_conf] - pivot_Y; trans_Y = dock_res->trans_Y_L[target_conf] - pivot_Y;
trans_Z = dock_res->trans_Z_L[target_conf] - pivot_Z; 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 ...@@ -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(i=0;i<newPDB->nbRes;i++){
for(j=0;j<newPDB->residues[i].nbAtom;j++){ for(j=0;j<newPDB->residues[i].nbAtom;j++){
xx = newPDB->residues[i].x[j]; xx = newPDB->residues[i].x[j] - pivot_X;
yy = newPDB->residues[i].y[j]; yy = newPDB->residues[i].y[j] - pivot_Y;
zz = newPDB->residues[i].z[j]; 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].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]; 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