Test test test
authorMax <Infinity2573@gmail.com>
Mon, 26 Sep 2022 13:59:32 +0000 (16:59 +0300)
committerMax <Infinity2573@gmail.com>
Mon, 26 Sep 2022 13:59:32 +0000 (16:59 +0300)
src/dssptools.cpp
src/dssptools.h

index bbd856ca00e2772e146593db9214503c1e105166..73db4033b27f5ca3603bef75692636e5f98ea812 100644 (file)
@@ -94,6 +94,7 @@ void secondaryStructures::initiateSearch(const std::vector<ResInfo> &ResInfoMatr
 
 void secondaryStructures::secondaryStructuresData::setStatus(const secondaryStructureTypes secondaryStructureTypeName){
     SecondaryStructuresStatusArray[static_cast<std::size_t>(secondaryStructureTypeName)] = true;
+    SecondaryStructuresStatus = secondaryStructureTypeName;
 }
 
 void secondaryStructures::secondaryStructuresData::setStatus(const HelixPositions helixPosition, const turnsTypes turn){
@@ -112,6 +113,10 @@ HelixPositions secondaryStructures::secondaryStructuresData::getStatus(const tur
     return TurnsStatusArray[static_cast<std::size_t>(turn)];
 }
 
+secondaryStructureTypes secondaryStructures::secondaryStructuresData::getStatus() const{
+    return  SecondaryStructuresStatus;
+}
+
 void secondaryStructures::secondaryStructuresData::setBreak(secondaryStructuresData *breakPartner){
     if (breakPartners[0] == nullptr){
         breakPartners[0] = breakPartner;
@@ -291,7 +296,7 @@ void secondaryStructures::analyzeTurnsAndHelicesPatterns(){
                 for (std::size_t k {1}; k < stride; ++k){
                     if( SecondaryStructuresStatusMap[j + k].getStatus(i) == HelixPositions::None ){
                         SecondaryStructuresStatusMap[j + k].setStatus(HelixPositions::Middle, i);
-//                        SecondaryStructuresStatusMap[j + k].setStatus(secondaryStructureTypes::Turn);
+                        SecondaryStructuresStatusMap[j + k].setStatus(secondaryStructureTypes::Turn);
                     }
 
                 }
@@ -339,21 +344,21 @@ void secondaryStructures::analyzeTurnsAndHelicesPatterns(){
         }
     }
 
-    for(std::size_t i {1}; i + 1 < SecondaryStructuresStatusMap.size(); ++i){
-        if (SecondaryStructuresStatusMap[i].getStatus(secondaryStructureTypes::Loop)){
-            bool isTurn = false;
-            for(const turnsTypes &j : {turnsTypes::Turn_3, turnsTypes::Turn_4, turnsTypes::Turn_5}){
-                std::size_t stride {static_cast<std::size_t>(i) + 3};
-                for(std::size_t k {1}; k < stride; ++k){
-                    isTurn = (i >= k) && (SecondaryStructuresStatusMap[i - k].getStatus(j) == HelixPositions::Start || SecondaryStructuresStatusMap[i - k].getStatus(j) == HelixPositions::Start_AND_End) ;
-                }
-            }
+//    for(std::size_t i {1}; i + 1 < SecondaryStructuresStatusMap.size(); ++i){
+//        if (SecondaryStructuresStatusMap[i].getStatus() == secondaryStructureTypes::Loop || SecondaryStructuresStatusMap[i].getStatus(secondaryStructureTypes::Bend)){
+//            bool isTurn = false;
+//            for(const turnsTypes &j : {turnsTypes::Turn_3, turnsTypes::Turn_4, turnsTypes::Turn_5}){
+//                std::size_t stride {static_cast<std::size_t>(i) + 3};
+//                for(std::size_t k {1}; k < stride; ++k){
+//                    isTurn = (i >= k) && (SecondaryStructuresStatusMap[i - k].getStatus(j) == HelixPositions::Start || SecondaryStructuresStatusMap[i - k].getStatus(j) == HelixPositions::Start_AND_End) ;
+//                }
+//            }
 
-            if (isTurn){
-                SecondaryStructuresStatusMap[i].setStatus(secondaryStructureTypes::Turn);
-            }
-        }
-    }
+//            if (isTurn){
+//                SecondaryStructuresStatusMap[i].setStatus(secondaryStructureTypes::Turn);
+//            }
+//        }
+//    }
 
 }
 
index 42f3587f72d34f3d25cdf854db5d8636d8e9e2e6..49c054cf1d3f5334c7005dd6c33ceeec802ded03 100644 (file)
@@ -171,9 +171,9 @@ public:
         secondaryStructureTypes             getStatus() const;
         void                                setBreak(secondaryStructuresData *breakPartner);
     private:
-        std::array<bool, static_cast<std::size_t>(secondaryStructureTypes::Count)>  SecondaryStructuresStatusArray{ 0, 0, 0, 0, 0, 0, 0 };
+        std::array<bool, static_cast<std::size_t>(secondaryStructureTypes::Count)>  SecondaryStructuresStatusArray{ true, 0, 0, 0, 0, 0, 0 };
         secondaryStructuresData                                        *breakPartners[2]{nullptr, nullptr};
-//        secondaryStructureTypes                                        SSData {secondaryStructureTypes::Loop};
+        secondaryStructureTypes                                         SecondaryStructuresStatus {secondaryStructureTypes::Loop};
         std::array<HelixPositions, static_cast<std::size_t>(turnsTypes::Count)>  TurnsStatusArray {HelixPositions::None, HelixPositions::None, HelixPositions::None};
         std::array<bool, static_cast<std::size_t>(bridgeTypes::Count)>  BridgesStatusArray{ 0, 0 };
     };