AlignmentClass.h
上传用户:hnzyys
上传日期:2007-06-13
资源大小:32k
文件大小:2k
源码类别:

生物技术

开发平台:

Visual C++

  1. #include <math.h>
  2. #include <vector>
  3. #include <algorithm>
  4. #include <fstream>
  5. #include <iostream>
  6. #include <stdio.h>
  7. #include <time.h>
  8. #define Alignmentclassh Alignmentclassh
  9. #define PSS4LineLength 8044 
  10. //64722025
  11. #define PSS4Val 4
  12. #define LocalSimDomain 0.666666
  13. #define GlobalSimDomain 0.83
  14. #define AlignmentLen 28
  15. #define ExtendStep 12
  16. const int StartCount=8;
  17. const int PalCount=4;
  18. int conversL(char L);
  19. int PDBIDHash(const char *PDBID);
  20. int conversSeedVal(char *tmp,int step);
  21. class AlignmentResult
  22. {
  23. public:
  24. int PDBPos;
  25. int TBegin;
  26. int TEnd;
  27. int PBegin;
  28. int PEnd;
  29. std::vector<int> TGapRecord;
  30. std::vector<int> PGapRecord;
  31. std::vector<char> AlignedT;
  32. std::vector<char> AlignedP;
  33. int TGapCount;
  34. int PGapCount;
  35. char *Text;
  36. char *Pattern;
  37. int PatternCount;
  38. int TextCount;
  39. float Similarity;
  40. float SimScore;
  41. double p_value;
  42. bool IsTbegin();
  43. bool IsTend();
  44. bool IsPbegin();
  45. bool IsPend();
  46. int Lextern();
  47. int Rextern();
  48. void gapinsert();
  49. void AssignOneResult(int PDBPos1,int TBegin1,int TEnd1,int PBegin1,int PEnd1,char *Text1,char *Pattern1,int PatternCount1,int TextCount1)
  50. {
  51. PDBPos=PDBPos1;
  52. PBegin=PBegin1;
  53. PEnd=PEnd1;
  54. TBegin=TBegin1;
  55. TEnd=TEnd1;
  56. Text=Text1;
  57. Pattern=Pattern1;
  58. PatternCount=PatternCount1;
  59. TextCount=TextCount1;
  60. Similarity=1;
  61. SimScore=0;
  62. }
  63. };
  64. class AlignmentClass  
  65. {
  66. public:
  67. //int ShowMax(int a,int b,int c);
  68. //float S(char a,char b);// 罚分函数
  69. void MainAlignment(AlignmentResult &tmpAR);
  70. void ResultAsignMent(AlignmentResult& tmpA1,AlignmentResult& tmpA2);
  71. void test(AlignmentResult &tmpAR);
  72. float FinalAlign(AlignmentResult& tmpA,int tb,int te,int pb,int pe);
  73. //float s[4][4]={{1,0.1,0,0.1},{0.1,1,0.1,0},{0,0.1,1,0.1},{0.1,0,0.1,1}};
  74. //AligmentResult LExtend(AligmentResult tmpAS);
  75. //AligmentResult RExtend(AligmentResult tmpAS);
  76. //AligmentResult GlobalExtend(AligmentResult tmpAS);
  77. //AligmentResult FininalAlignment();
  78. //char P[PSS4LineLength],T[PSS4LineLength];
  79. /*
  80. char *Seed;
  81. char *Pattern;
  82. char *Text;
  83. int PatternCount;
  84. int TextCount;
  85. int Pbegin;
  86. int Pend;
  87. int Tbegin;
  88. int Tend;
  89. int PDBPos;*/
  90. //void Init(int PDBPos,char *Pattern,char *Text,int PatternCount,int TextCount,int Pbegin,int Pend,int Tbegin,int Tend);
  91. };