libmove3d  3.13.0
/home/slemaign/softs-local/BioMove3D-git/BioTools/Translators/Protein/apc.h
00001 
00002 //#include "protein.h"
00003 
00004 
00005 #define MAX_NINTERVALS 3
00006 
00007 typedef struct s_realinterval {
00008   double vmin;
00009   double vmax;
00010 } realinterval;
00011 
00012 
00013 /**********************************************************************
00014  *           Articulated Peptide Chain (APC) structures                 *
00015  **********************************************************************/
00016 
00017 typedef struct s_apc_atom {
00018   vector4 posrelframe;
00019   struct s_atom *atomPt;  
00020 } apc_atom;
00021 
00022 
00023 typedef struct s_apc_rigid {
00024   // atoms
00025   int natoms;
00026   struct s_apc_atom **atomlist;
00027   // dihedral angle
00028   double qi;
00029   int nintervals;
00030   struct s_realinterval q_interv[MAX_NINTERVALS];
00031   // frame relative to prev rigid when qi=0
00032   matrix4 pT0;  // constant 
00033   // frame relative to next rigid when qi=0
00034   matrix4 nT0;  // = inv(pT0) , constant 
00035   // frame relative to pT0 
00036   matrix4 Ti;   // Ti is only function of qi (NECESSARY ???)
00037   // frame in abs ref
00038   matrix4 Tabs;
00039   struct s_apc_rigidlistelem *inlist;
00040 } apc_rigid;
00041 
00042 
00043 typedef struct s_apc_rigidlistelem {
00044   struct s_apc_rigid *rigid;
00045   int nnext;
00046   struct s_apc_rigid **next;
00047   struct s_apc_rigid *prev;
00048 } apc_rigidlistelem;
00049 
00050 
00051 typedef struct s_apc_backbone {
00052   int nrigids;
00053   struct s_apc_rigidlistelem *firstrigid;
00054   struct s_apc_rigidlistelem *lastrigid;
00055   matrix4 Tbase;
00056   matrix4 Tend;
00057 } apc_backbone;
00058 
00059 
00060 typedef struct s_apc_sidechain {
00061   int nrigids;
00062   struct s_apc_rigidlistelem *firstrigid;
00063   struct s_apc_rigid *refbkbrigid;
00064   //matrix4 Tbase;
00065 } apc_sidechain;
00066 
00067 
00068 typedef struct s_apc {
00069   struct s_apc_backbone *backbone;
00070   int nsidechains;
00071   struct s_apc_sidechain **sidechains;
00072 } apc;
00073 
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines