From: Max Date: Sun, 25 Sep 2022 12:33:52 +0000 (+0300) Subject: asdsadsadsadsadasdsdsad X-Git-Url: http://biod.pnpi.spb.ru/gitweb/?a=commitdiff_plain;h=867abaf76c1300dff2cc04379ade3efade5ce33d;p=alexxy%2Fgromacs-dssp.git asdsadsadsadsadasdsdsad --- diff --git a/src/dssptools.cpp b/src/dssptools.cpp index fa02c37..e20f9c7 100644 --- a/src/dssptools.cpp +++ b/src/dssptools.cpp @@ -126,7 +126,17 @@ bool secondaryStructures::hasHBondBetween(std::size_t Donor, std::size_t Accepto if( (*ResInfoMap)[Donor].acceptor[0] == nullptr || (*ResInfoMap)[Donor].acceptor[1] == nullptr || (*ResInfoMap)[Acceptor].info == nullptr ){ - std::cout << "Bad hbond check" << std::endl; + std::cout << "Bad hbond check. Reason(s): " ; + if ( (*ResInfoMap)[Donor].acceptor[0] == nullptr ){ + std::cout << "Donor has no acceptor[0]; "; + } + if ( (*ResInfoMap)[Donor].acceptor[1] == nullptr ){ + std::cout << "Donor has no acceptor[1]; "; + } + if ( (*ResInfoMap)[Acceptor].info == nullptr ){ + std::cout << "No info about acceptor; "; + } + std::cout << std::endl; return false; } else { @@ -141,17 +151,15 @@ bool secondaryStructures::hasHBondBetween(std::size_t Donor, std::size_t Accepto // std::cout << "HBond Exist" << std::endl; // } -// return ( (*ResInfoMap)[Donor].acceptor[0] == (*ResInfoMap)[Acceptor].info && (*ResInfoMap)[Donor].acceptorEnergy[0] < HBondEnergyCutOff ) || -// ( (*ResInfoMap)[Donor].acceptor[1] == (*ResInfoMap)[Acceptor].info && (*ResInfoMap)[Donor].acceptorEnergy[1] < HBondEnergyCutOff ); +// } return ( (*ResInfoMap)[Donor].acceptor[0] == (*ResInfoMap)[Acceptor].info && (*ResInfoMap)[Donor].acceptorEnergy[0] < HBondEnergyCutOff ) || - ( (*ResInfoMap)[Donor].acceptor[1] == (*ResInfoMap)[Acceptor].info && (*ResInfoMap)[Donor].acceptorEnergy[1] < HBondEnergyCutOff ) || - ( (*ResInfoMap)[Acceptor].donor[0] == (*ResInfoMap)[Donor].info && (*ResInfoMap)[Acceptor].donorEnergy[0] < HBondEnergyCutOff ) || - ( (*ResInfoMap)[Acceptor].donor[1] == (*ResInfoMap)[Donor].info && (*ResInfoMap)[Acceptor].donorEnergy[1] < HBondEnergyCutOff ) - ; + ( (*ResInfoMap)[Donor].acceptor[1] == (*ResInfoMap)[Acceptor].info && (*ResInfoMap)[Donor].acceptorEnergy[1] < HBondEnergyCutOff ); + + } bool secondaryStructures::NoChainBreaksBetween(std::size_t Resi1, std::size_t Resi2) const{ @@ -266,7 +274,7 @@ void secondaryStructures::analyzeTurnsAndHelicesPatterns(){ std::cout << "Testing Helix_" << stride << std::endl; for(std::size_t j {0}; j + stride < SecondaryStructuresStatusMap.size(); ++j){ std::cout << "Testing " << j << " and " << j + stride << std::endl; - if ( hasHBondBetween(j, j + stride) && NoChainBreaksBetween(j, j + stride) ){ + if ( hasHBondBetween(j + stride, j) && NoChainBreaksBetween(j, j + stride) ){ std::cout << j << " and " << j + stride << " has hbond!" << std::endl; SecondaryStructuresStatusMap[j + stride].setStatus(HelixPositions::End, i);