def get_phi_psi_list(self): """Return the list of phi/psi dihedral angles.""" ppl=[] lng=len(self) for i in range(0, lng): res=self[i] try: n=res['N'].get_vector() ca=res['CA'].get_vector() c=res['C'].get_vector() except: # Some atoms are missing # Phi/Psi cannot be calculated for this residue ppl.append((None, None)) res.xtra["PHI"]=None res.xtra["PSI"]=None continue # Phi if i>0: rp=self[i-1] try: cp=rp['C'].get_vector() phi=calc_dihedral(cp, n, ca, c) except: phi=None else: # No phi for residue 0! phi=None # Psi if i<(lng-1): rn=self[i+1] try: nn=rn['N'].get_vector() psi=calc_dihedral(n, ca, c, nn) except: psi=None else: # No psi for last residue! psi=None ppl.append((phi, psi)) # Add Phi/Psi to xtra dict of residue res.xtra["PHI"]=phi res.xtra["PSI"]=psi return ppl
def get_phi_psi_list(self): """Return the list of phi/psi dihedral angles.""" ppl = [] lng = len(self) for i in range(0, lng): res = self[i] try: n = res['N'].get_vector() ca = res['CA'].get_vector() c = res['C'].get_vector() except: # Some atoms are missing # Phi/Psi cannot be calculated for this residue ppl.append((None, None)) res.xtra["PHI"] = None res.xtra["PSI"] = None continue # Phi if i > 0: rp = self[i - 1] try: cp = rp['C'].get_vector() phi = calc_dihedral(cp, n, ca, c) except: phi = None else: # No phi for residue 0! phi = None # Psi if i < (lng - 1): rn = self[i + 1] try: nn = rn['N'].get_vector() psi = calc_dihedral(n, ca, c, nn) except: psi = None else: # No psi for last residue! psi = None ppl.append((phi, psi)) # Add Phi/Psi to xtra dict of residue res.xtra["PHI"] = phi res.xtra["PSI"] = psi return ppl
def get_tau_list(self): """List of tau torsions angles for all 4 consecutive Calpha atoms.""" ca_list=self.get_ca_list() tau_list=[] for i in range(0, len(ca_list)-3): atom_list = (ca_list[i], ca_list[i+1], ca_list[i+2], ca_list[i+3]) v1, v2, v3, v4 = [a.get_vector() for a in atom_list] tau=calc_dihedral(v1, v2, v3, v4) tau_list.append(tau) # Put tau in xtra dict of residue res=ca_list[i+2].get_parent() res.xtra["TAU"]=tau return tau_list
def get_tau_list(self): """List of tau torsions angles for all 4 consecutive Calpha atoms.""" ca_list = self.get_ca_list() tau_list = [] for i in range(0, len(ca_list) - 3): atom_list = (ca_list[i], ca_list[i + 1], ca_list[i + 2], ca_list[i + 3]) v1, v2, v3, v4 = [a.get_vector() for a in atom_list] tau = calc_dihedral(v1, v2, v3, v4) tau_list.append(tau) # Put tau in xtra dict of residue res = ca_list[i + 2].get_parent() res.xtra["TAU"] = tau return tau_list