def find_missing_atoms (self, out=None) : ''' Function for finding missing protein atoms Derived from run_find_missing function in phenix/validation/__init__.py ''' if out is None : out = sys.stdout self.missing_atoms = [] # make_header("Finding missing atoms", out=out) try : missing_list = rotamer_eval.eval_sidechain_completeness( pdb_hierarchy=self.pdb_hierarchy, ignore_hydrogens=True, report_whole_res=True, return_ca_pos=True) except Exception as e : print(to_str(e), file=out) else : for (res_info, missing_atoms, xyz) in missing_list : if len(missing_atoms) == 0 : continue chain_id = res_info[0:2].strip() try : resseq = int(res_info[2:6]) except ValueError : # FIXME use hybrid36? print(" warning: indecipherable residue number '%s'" % \ res_info[2:6], file=out) print(res_info) continue alt = res_info[-4] resname = res_info[-3:] # self.get_residue_info((chain_id, resseq, resname, alt), "missing") self.missing_atoms.append((chain_id, "%s %s" % (resname, str(resseq)), alt, ", ".join(missing_atoms), "chain '%s' and resseq %s" % (chain_id, str(resseq)), xyz))
def find_missing_atoms(self, out=None): ''' Function for finding missing protein atoms Derived from run_find_missing function in phenix/validation/__init__.py ''' if out is None: out = sys.stdout self.missing_atoms = [] # make_header("Finding missing atoms", out=out) try: missing_list = rotamer_eval.eval_sidechain_completeness( pdb_hierarchy=self.pdb_hierarchy, ignore_hydrogens=True, report_whole_res=True, return_ca_pos=True) except Exception, e: print >> out, to_str(e)