From 79ce6a5bf1d71c95a4382ca650eb6ad16eaa7186 Mon Sep 17 00:00:00 2001 From: Max Date: Mon, 26 Sep 2022 14:59:23 +0300 Subject: [PATCH] dsfdsfdsf --- src/dssptools.cpp | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/dssptools.cpp b/src/dssptools.cpp index f5de878..e2a69fb 100644 --- a/src/dssptools.cpp +++ b/src/dssptools.cpp @@ -139,10 +139,12 @@ bool secondaryStructures::hasHBondBetween(std::size_t Donor, std::size_t Accepto std::cout << std::endl; return false; } - else { - std::cout << "Comparing DONOR №" << (*ResInfoMap)[Donor].info->nr << " And ACCEPTOR №" << (*ResInfoMap)[Acceptor].info->nr << ": "; - std::cout << "DONOR's acceptors' nr are = " << (*ResInfoMap)[Donor].acceptor[0]->nr << " (chain " << (*ResInfoMap)[Donor].acceptor[0]->chainid << ") , " << (*ResInfoMap)[Donor].acceptor[1]->nr << " (chain " << (*ResInfoMap)[Donor].acceptor[1]->chainid << ")" << std::endl; - std::cout << "DONOR's acceptors' energy are = " << (*ResInfoMap)[Donor].acceptorEnergy[0] << ", " << (*ResInfoMap)[Donor].acceptorEnergy[1] << std::endl; + else if (!( (*ResInfoMap)[Acceptor].donor[0] == nullptr || + (*ResInfoMap)[Accpetor].donor[1] == nullptr || + (*ResInfoMap)[Donor].info == nullptr )) { + std::cout << "Comparing DONOR №" << (*ResInfoMap)[Donor].info->nr << " And ACCEPTOR №" << (*ResInfoMap)[Acceptor].info->nr << ": " << std::endl; + std::cout << "Donor's acceptors' nr are = " << (*ResInfoMap)[Donor].acceptor[0]->nr << " (chain " << (*ResInfoMap)[Donor].acceptor[0]->chainid << ") , " << (*ResInfoMap)[Donor].acceptor[1]->nr << " (chain " << (*ResInfoMap)[Donor].acceptor[1]->chainid << ")" << std::endl; + std::cout << "Donor's acceptors' energy are = " << (*ResInfoMap)[Donor].acceptorEnergy[0] << ", " << (*ResInfoMap)[Donor].acceptorEnergy[1] << std::endl; std::cout << "Acceptors's donors' nr are = " << (*ResInfoMap)[Acceptor].donor[0]->nr << " (chain " << (*ResInfoMap)[Acceptor].donor[0]->chainid << ") , " << (*ResInfoMap)[Acceptor].donor[1]->nr << " (chain " << (*ResInfoMap)[Acceptor].donor[1]->chainid << ")" << std::endl; std::cout << "Acceptors's donors' energy are = " << (*ResInfoMap)[Acceptor].donorEnergy[0] << ", " << (*ResInfoMap)[Acceptor].donorEnergy[1] << std::endl; if( ( (*ResInfoMap)[Donor].acceptor[0] == (*ResInfoMap)[Acceptor].info && (*ResInfoMap)[Donor].acceptorEnergy[0] < HBondEnergyCutOff ) || @@ -150,6 +152,19 @@ bool secondaryStructures::hasHBondBetween(std::size_t Donor, std::size_t Accepto std::cout << "HBond Exist" << std::endl; } } + else { + std::cout << "Bad hbond check. Reason(s): " ; + if ( (*ResInfoMap)[Acceptor].donor[0] == nullptr ){ + std::cout << "Acceptor has no donor[0]; "; + } + if ( (*ResInfoMap)[Acceptor].donor[1] == nullptr ){ + std::cout << "Acceptor has no donor[1]; "; + } + if ( (*ResInfoMap)[Donor].info == nullptr ){ + std::cout << "No info about donor; "; + } + std::cout << 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 ); -- 2.22.0