From e60923c12e3ee4ae2ea8af9500d3e4fd636affa9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=D0=93=D0=BE=D1=80=D0=B5=D0=BB=D0=BE=D0=B2=20=D0=A1=D0=B5?= =?utf8?q?=D1=80=D0=B3=D0=B5=D0=B9=20=D0=92=D0=B0=D1=81=D0=B8=D0=BB=D1=8C?= =?utf8?q?=D0=B5=D0=B2=D0=B8=D1=87?= Date: Mon, 3 Oct 2022 12:37:45 +0300 Subject: [PATCH] =?utf8?q?=D0=9D=D0=B5=D1=81=D0=BE=D0=B2=D0=BF=D0=B0=D0=B4?= =?utf8?q?=D0=B0=D1=8E=D1=82=20=D1=83=D0=B3=D0=BB=D1=8B.=20=D0=94=D0=BE?= =?utf8?q?=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20cout=D1=8B=20=D1=87=D1=82=D0=BE?= =?utf8?q?=D0=B1=D1=8B=20=D0=BD=D0=B0=D0=B9=D1=82=D0=B8=20=D0=BF=D1=80?= =?utf8?q?=D0=B8=D1=87=D0=B8=D0=BD=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/dssptools.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/dssptools.cpp b/src/dssptools.cpp index ef2e921..77b7e32 100644 --- a/src/dssptools.cpp +++ b/src/dssptools.cpp @@ -769,9 +769,14 @@ float DsspTool::CalculateDihedralAngle(const int &A, const int &B, const int &C, u = (x[XX] * x[XX]) + (x[YY] * x[YY]) + (x[ZZ] * x[ZZ]); v = (y[XX] * y[XX]) + (y[YY] * y[YY]) + (y[ZZ] * y[ZZ]); + std::cout << "u = " << u << std::endl; + std::cout << "v = " << v << std::endl; + if (u > 0 and v > 0){ u = ((p[XX] * x[XX]) + (p[YY] * x[YY]) + (p[ZZ] * x[ZZ])) / std::sqrt(u); v = ((p[XX] * y[XX]) + (p[YY] * y[YY]) + (p[ZZ] * y[ZZ])) / std::sqrt(v); + std::cout << "new u = " << u << std::endl; + std::cout << "new v = " << v << std::endl; if (u != 0 or v != 0){ result = std::atan2(v, u) * gmx::c_rad2Deg; } @@ -785,13 +790,14 @@ void DsspTool::calculateDihedrals(const t_trxframe &fr, const t_pbc *pbc){ const float phi_max = -75 + epsilon; // -46 const float psi_min = 145 - epsilon; // 116 const float psi_max = 145 + epsilon; // 176 - std::vector phi, psi; - phi.resize(0); - psi.resize(0); - phi.resize(IndexMap.size(), 360); - psi.resize(IndexMap.size(), 360); + std::vector phi(IndexMap.size(), 360), psi(IndexMap.size(), 360); +// phi.resize(0); +// psi.resize(0); +// phi.resize(IndexMap.size(), 360); +// psi.resize(IndexMap.size(), 360); for (std::size_t i = 1; i + 1 < IndexMap.size(); ++i){ // TODO add index verifictaion (check if those atom indexes exist) + std::cout << "For resi " << i << " :" << std::endl; phi[i] = CalculateDihedralAngle(static_cast(IndexMap[i - 1].getIndex(backboneAtomTypes::AtomC)), static_cast(IndexMap[i].getIndex(backboneAtomTypes::AtomN)), static_cast(IndexMap[i].getIndex(backboneAtomTypes::AtomCA)), -- 2.22.0