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 {
// 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{
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);