float -> double
authorAnatoly <Titov_AI@pnpi.nrcki.ru>
Tue, 26 Mar 2019 13:03:39 +0000 (16:03 +0300)
committerAnatoly <Titov_AI@pnpi.nrcki.ru>
Tue, 26 Mar 2019 13:03:39 +0000 (16:03 +0300)
// need to find a possible coordinate changer

src/fitng.cpp

index 5f4e0380c50abd86d6c4e275e21ac62b547d4cd2..f5e6bc3ceba1ef1eb22cb235af74b0448869e34a 100644 (file)
@@ -44,6 +44,7 @@
 #include <chrono>
 #include <string.h>
 #include <algorithm>
+#include <cstdio>
 
 #include <omp.h>
 
@@ -246,7 +247,7 @@ void CalcMid (std::vector< RVec > a, std::vector< RVec > b, RVec &midA, RVec &mi
     midB[2] /= pairs.size();
 }
 
-float FrameMidLength(std::vector< RVec > a) {
+/*float*/double FrameMidLength(std::vector< RVec > a) {
     RVec b;
     b[0] = 0;
     b[1] = 0;
@@ -299,17 +300,17 @@ void MyFitNew (std::vector< RVec > a, std::vector< RVec > &b, std::vector< std::
 }
 
 void printPDBtraj(const char* Fname, std::vector< std::vector < RVec > > trj, std::vector< std::vector< std::pair< int, int > > > prs, std::vector< int > ndx) {
-    FILE* a = freopen (Fname, "w", stdout);
+    FILE* a = fopen (Fname, "a");
     for (int i = 1; i < trj.size(); i++) {
-        fprintf(a, "TITLE     test t= %9.5f step= %5d\nMODEL %d\n", (float)(i + 1), i + 1, i + 1);
+        fprintf(a, "TITLE     test t= %9.5f step= %5d\nMODEL %d\n", (/*float*/double)(i + 1), i + 1, i + 1);
         for (int j = 0; j < prs.size(); j++) {
             for (int k = 0; k < prs[j].size(); k++) {
-                printf("ATOM  %5d  CA   CA %5d    %8.3f%8.3f%8.3f%6.2f%6.2f      %4s%2s  \n", ndx[prs[j][k].first], ndx[prs[j][k].first], (trj[i][prs[j][k].first][0] * 10), (trj[i][prs[j][k].first][1] * 10), (trj[i][prs[j][k].first][2] * 10), 1.0, 20.0, "    ", " ");
+                fprintf(a, "ATOM  %5d  CA   CA %5d    %8.3f%8.3f%8.3f%6.2f%6.2f      %4s%2s  \n", ndx[prs[j][k].first], ndx[prs[j][k].first], (trj[i][prs[j][k].first][0] * 10), (trj[i][prs[j][k].first][1] * 10), (trj[i][prs[j][k].first][2] * 10), 1.0, 20.0, "    ", " ");
             }
         }
         fprintf(a, "TER\nENDMDL\n");
     }
-    printf("END\n");
+    //fprintf(a, "END\n");
     fclose(a);
 }
 
@@ -364,7 +365,7 @@ void domain_expansion(std::vector< int > indx, std::vector< std::vector < std::p
             flag[d_ind_num[i][j].second] = 0;
         }
     }
-    float dist;
+    /*float*/double dist;
     int x3 = -1;
     for (int i = 0; i < indx.size(); i++) {
         if (flag[i]) {
@@ -517,6 +518,8 @@ Fitng::initOptions(IOptionsContainer          *options,
 
 // -s '/home/titov_ai/Develop/samples/reca_rd/reca_rd.mono.tpr' -f '/home/titov_ai/Develop/samples/reca_rd/reca_rd.mono.xtc' -sf '/home/titov_ai/Develop/samples/reca_rd/SLCa' -n '/home/titov_ai/Develop/samples/reca_rd/CA.ndx' -pdb_out '/home/titov_ai/Develop/samples/reca_rd/test.xtc' -method 1
 
+// -s '/home/titov_ai/BioStore/titov_ai/trp_cage/kv1/trp-cage.pdb' -f '/home/titov_ai/BioStore/titov_ai/trp_cage/kv1/test.xtc' -sf '/home/titov_ai/BioStore/titov_ai/trp_cage/kv1/SLfull' -n '/home/titov_ai/BioStore/titov_ai/trp_cage/kv1/full.ndx' -pdb_out '/home/titov_ai/BioStore/titov_ai/trp_cage/kv1/testfit.xtc' -method 1
+
 void
 Fitng::initAnalysis(const TrajectoryAnalysisSettings &settings, const TopologyInformation &top)
 {
@@ -530,6 +533,7 @@ Fitng::initAnalysis(const TrajectoryAnalysisSettings &settings, const TopologyIn
     if (sel_.size() > 1 && method >= 2) {
         domain_reading(sel_, index, domains_index_number);
     }
+
 }
 
 void
@@ -588,6 +592,8 @@ Fitng::analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc,
     if (write_trxframe_indexed(op, static_cast<const t_trxframe *>(&c), index.size(), static_cast<const int *>(&index.front())/*saved_traj[i].index*/, NULL) != 0) {
         std::cout << "\nFileOutPut error\nframe number = " << frnr << "\n";
     }
+
+    printPDBtraj((OutPutTrjName + ".pdb").c_str(), trajectory, pairs, index);
 }