- debug
authorAnatoly <Titov_AI@pnpi.nrcki.ru>
Wed, 21 Oct 2020 13:44:27 +0000 (16:44 +0300)
committerAnatoly <Titov_AI@pnpi.nrcki.ru>
Wed, 21 Oct 2020 13:44:27 +0000 (16:44 +0300)
src/colorvec.cpp

index 91bba9f92135ddc4514dd6feed7577712982dfb0..fdee1f8a65c8712dd63cb058dcfbd62bcf11c010 100644 (file)
@@ -191,30 +191,45 @@ inline void betaListsRVecsEvaluation(const std::vector< gmx::RVec > &frame, cons
     }
 }
 
+//// определение близко ли к белку находится краска
+//bool isNearPeptide(const t_trxframe &fr, const t_pbc *pbc, const std::vector< gmx::RVec > &inputFrame,
+//                          /*gmx::AnalysisNeighborhood &nbhood, */const std::vector< size_t > &inputIndex,
+//                          const std::vector< std::pair< std::string, size_t > > &inputColor) {
+//    /*gmx::AnalysisNeighborhoodSearch     nbsearch = nbhood.initSearch(pbc, gmx::AnalysisNeighborhoodPositions(fr.x, fr.natoms));
+//    gmx::AnalysisNeighborhoodPair       pair;*/
+
+//    for (size_t i = 0; i < inputColor.size(); ++i) {
+//        std::cout << inputColor[i].first << " " << i << " / "  << inputColor.size() << std::endl;
+//        gmx::AnalysisNeighborhood           nbhood;
+//        nbhood.setCutoff(0.8);
+//        gmx::AnalysisNeighborhoodSearch     nbsearch = nbhood.initSearch(pbc, gmx::AnalysisNeighborhoodPositions(fr.x, fr.natoms));
+//        gmx::AnalysisNeighborhoodPair       pair;
+//        gmx::AnalysisNeighborhoodPairSearch pairSearch = nbsearch.startPairSearch(inputFrame[inputColor[i].second].as_vec());
+//        int count1 {0};
+//        while (pairSearch.findNextPair(&pair)) {
+//            std::cout << ++count1 << " ";
+//            for (size_t j = 0; j < inputIndex.size(); ++j) {
+//                if (pair.refIndex() == inputIndex[j]) {
+//                    return true;
+//                }
+//            }
+//        }
+//        std::cout << inputColor[i].first << " atom done" << std::endl;
+//    }
+//    return false;
+//}
+
 // определение близко ли к белку находится краска
-bool isNearPeptide(const t_trxframe &fr, const t_pbc *pbc, const std::vector< gmx::RVec > &inputFrame,
-                          /*gmx::AnalysisNeighborhood &nbhood, */const std::vector< size_t > &inputIndex,
-                          const std::vector< std::pair< std::string, size_t > > &inputColor) {
-    /*gmx::AnalysisNeighborhoodSearch     nbsearch = nbhood.initSearch(pbc, gmx::AnalysisNeighborhoodPositions(fr.x, fr.natoms));
-    gmx::AnalysisNeighborhoodPair       pair;*/
-
-    for (size_t i = 0; i < inputColor.size(); ++i) {
-        std::cout << inputColor[i].first << " " << i << " / "  << inputColor.size() << std::endl;
-        gmx::AnalysisNeighborhood           nbhood;
-        nbhood.setCutoff(0.8);
-        gmx::AnalysisNeighborhoodSearch     nbsearch = nbhood.initSearch(pbc, gmx::AnalysisNeighborhoodPositions(fr.x, fr.natoms));
-        gmx::AnalysisNeighborhoodPair       pair;
-        gmx::AnalysisNeighborhoodPairSearch pairSearch = nbsearch.startPairSearch(inputFrame[inputColor[i].second].as_vec());
-        int count1 {0};
+bool isNearPeptide(const std::vector< gmx::RVec > &inputFrame, const std::vector< size_t > &inputIndex,
+                          const std::vector< std::pair< std::string, size_t > > &inputColor, const double cutOff) {
+    for (size_t i {0}; i < inputColor.size(); ++i) {
         while (pairSearch.findNextPair(&pair)) {
-            std::cout << ++count1 << " ";
-            for (size_t j = 0; j < inputIndex.size(); ++j) {
-                if (pair.refIndex() == inputIndex[j]) {
+            for (size_t j {0}; j < inputIndex.size(); ++j) {
+                if ((inputFrame[inputIndex[j]] - inputFrame[inputColor[i].second]).norm() <= cutOff) {
                     return true;
                 }
             }
         }
-        std::cout << inputColor[i].first << " atom done" << std::endl;
     }
     return false;
 }
@@ -242,7 +257,6 @@ inline void searchNearBetaLists(const t_trxframe &fr, const t_pbc *pbc, const st
             }
         }
     }
-
 }
 
 // определение углов между краской и направляющим вектором бэта-листа